Class: LinkPreview::Parser

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, options = {}) ⇒ Parser

Returns a new instance of Parser.



29
30
31
32
33
# File 'lib/link_preview/parser.rb', line 29

def initialize(config, options = {})
  @config = config
  @options = options
  self.discovered_uris = Set.new
end

Instance Attribute Details

#discovered_urisObject

Returns the value of attribute discovered_uris.



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

def discovered_uris
  @discovered_uris
end

Instance Method Details

#parse(data) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/link_preview/parser.rb', line 35

def parse(data)
  return {} unless valid_data?(data)
  case data.headers[:content_type]
  when /image/, 'binary/octet-stream'
    parse_image(data)
  when %r{\Atext/html.*}
    parse_html(data)
  when %r{\Atext/xml.*}
    parse_oembed(data)
  when %r{\Aapplication/json.*}
    parse_oembed(data)
  else
    {}
  end
end