Class: Mihari::Feed::Parser

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Parser

Returns a new instance of Parser.

Parameters:

  • data (Array<Hash>, Array<Array<String>>)


13
14
15
# File 'lib/mihari/feed/parser.rb', line 13

def initialize(data)
  @data = data
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



8
9
10
# File 'lib/mihari/feed/parser.rb', line 8

def data
  @data
end

Instance Method Details

#parse(selector) ⇒ Array<String>

Parse data by selector

Parameters:

  • selector (String)

Returns:

  • (Array<String>)

Raises:



24
25
26
27
28
29
30
31
# File 'lib/mihari/feed/parser.rb', line 24

def parse(selector)
  parsed = data.instance_eval(selector)

  raise FeedParseError unless parsed.is_a?(Array) || parsed.is_a?(Enumerator)
  raise FeedParseError unless parsed.all?(String)

  parsed.to_a
end