Class: TrueURL::Strategy::Twitter

Inherits:
Object
  • Object
show all
Defined in:
lib/true_url/strategy/twitter.rb

Instance Method Summary collapse

Instance Method Details

#execute(context) ⇒ Object


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/true_url/strategy/twitter.rb', line 4

def execute(context)
  fragment = context.working_url.fragment

  # Special handling to collapse Twitter hashbang (#!) URLs
  unless fragment.nil?
    if fragment.start_with?('!/')
      context.working_url.path = fragment[1..-1]
      context.working_url.fragment = nil
    end
  end

  path = context.working_url.path

  if path =~ /^\/\w+\/status\/\d+/
    parts = path.split('/')
    context.set_working_url("https://twitter.com/#{parts[1].downcase}/status/#{parts[3]}")
    context.finalize
  end
end