Class: YahooShoppingSearch::Responses::Base

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/yahoo_shopping_search/responses/base.rb

Direct Known Subclasses

Item

Instance Method Summary collapse

Constructor Details

#initialize(body, params = {}) ⇒ Base

Returns a new instance of Base.

Parameters:

  • body (String)
  • params (Hash) (defaults to: {})


10
11
12
13
# File 'lib/yahoo_shopping_search/responses/base.rb', line 10

def initialize(body, params = {})
  @body = JSON.parse(body)
  @params = params
end

Instance Method Details

#[](index) ⇒ YahooShoppingSearch::Resources::Base | nil

Parameters:

  • index (Integer)

Returns:

  • (YahooShoppingSearch::Resources::Base | nil)


49
50
51
# File 'lib/yahoo_shopping_search/responses/base.rb', line 49

def [](index)
  items[index]
end

#bodyHash

Returns:

  • (Hash)


16
17
18
# File 'lib/yahoo_shopping_search/responses/base.rb', line 16

def body
  @body
end

#each(&block) ⇒ Object

Note:

Implementation for Enumerable



26
27
28
# File 'lib/yahoo_shopping_search/responses/base.rb', line 26

def each(&block)
  items.each(&block)
end

#itemsArray<YahooShoppingSearch::Resources::Base>

Returns:

  • (Array<YahooShoppingSearch::Resources::Base>)


31
32
33
34
35
# File 'lib/yahoo_shopping_search/responses/base.rb', line 31

def items
  (sources || []).map do |source|
    resource_class.new(source)
  end
end

#lastYahooShoppingSearch::Resources::Base | nil

Returns:

  • (YahooShoppingSearch::Resources::Base | nil)


54
55
56
# File 'lib/yahoo_shopping_search/responses/base.rb', line 54

def last
  items.last
end

#paramsHash

Returns:

  • (Hash)


21
22
23
# File 'lib/yahoo_shopping_search/responses/base.rb', line 21

def params
  @params
end

#resource_classObject

Specify class name

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/yahoo_shopping_search/responses/base.rb', line 43

def resource_class
  raise NotImplementedError
end

#sourcesObject

Specify class name

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/yahoo_shopping_search/responses/base.rb', line 38

def sources
  raise NotImplementedError
end