Class: Autolinks::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/autolinks/parser.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#textObject

Returns the value of attribute text.



3
4
5
# File 'lib/autolinks/parser.rb', line 3

def text
  @text
end

Class Method Details

.parse(text) ⇒ Object



9
10
11
12
13
# File 'lib/autolinks/parser.rb', line 9

def self.parse(text)
  parser = Parser.new
  parser.text = text
  parser.parse
end

Instance Method Details

#parseObject



15
16
17
18
19
20
21
# File 'lib/autolinks/parser.rb', line 15

def parse
  replace_url
  replace_handle
  replace_email
  replace_hashtag
  @text
end

#replace_emailObject



31
32
33
# File 'lib/autolinks/parser.rb', line 31

def replace_email
  @text.gsub!(Regex.email, '<a href="mailto:\1" target="_blank">\1</a>')
end

#replace_handleObject



23
24
25
# File 'lib/autolinks/parser.rb', line 23

def replace_handle
  @text.gsub!(Regex.handle_name, '<a href="http://twitter.com/\1" target="_blank">@\1</a>')
end

#replace_hashtagObject



35
36
37
# File 'lib/autolinks/parser.rb', line 35

def replace_hashtag
  @text.gsub!(Regex.hashtag_name, '<a href="http://twitter.com/search?q=%23\1" target="_blank">#\1</a>')
end

#replace_urlObject



27
28
29
# File 'lib/autolinks/parser.rb', line 27

def replace_url
  @text.gsub!(Regex.http_address, '<a href="http://\1" target="_blank">\1</a>')
end