class Weneedfeed::Schema

Public Class Methods

new(raw) click to toggle source

@param [Hash] raw

# File lib/weneedfeed/schema.rb, line 6
def initialize(raw)
  @raw = raw
end

Public Instance Methods

find_page_schema(page_schema_id) click to toggle source

@param [String, nl] page_schema_id @return [Weneedfeed::PageSchema]

# File lib/weneedfeed/schema.rb, line 12
def find_page_schema(page_schema_id)
  page_schemata.find do |page_schema|
    page_schema.id == page_schema_id
  end
end
page_ids() click to toggle source

@return [Array<String>]

# File lib/weneedfeed/schema.rb, line 19
def page_ids
  page_schemata.map(&:id)
end
page_schemata() click to toggle source

@return [Array<Weneedfeed::PageSchema>]

# File lib/weneedfeed/schema.rb, line 24
def page_schemata
  @raw['pages'].map do |hash|
    ::Weneedfeed::PageSchema.new(
      description: hash['description'],
      id: hash['id'],
      item_description_selector: hash['item_description_selector'],
      item_image_selector: hash['item_image_selector'],
      item_link_selector: hash['item_link_selector'],
      item_time_selector: hash['item_time_selector'],
      item_title_selector: hash['item_title_selector'],
      item_selector: hash['item_selector'],
      title: hash['title'],
      url: hash['url'],
    )
  end
end