Class: A2z::Responses::ItemSearch

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/a2z/responses/item_search.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

included

Constructor Details

#initializeItemSearch

Returns a new instance of ItemSearch.



8
9
10
11
12
13
# File 'lib/a2z/responses/item_search.rb', line 8

def initialize
  @items = []
  @total_results = 0
  @total_pages = 0
  @valid = true
end

Instance Attribute Details

#itemsObject

Returns the value of attribute items.



6
7
8
# File 'lib/a2z/responses/item_search.rb', line 6

def items
  @items
end

#more_search_results_urlObject

Returns the value of attribute more_search_results_url.



6
7
8
# File 'lib/a2z/responses/item_search.rb', line 6

def more_search_results_url
  @more_search_results_url
end

#operation_requestObject

Returns the value of attribute operation_request.



6
7
8
# File 'lib/a2z/responses/item_search.rb', line 6

def operation_request
  @operation_request
end

#total_pagesObject

Returns the value of attribute total_pages.



6
7
8
# File 'lib/a2z/responses/item_search.rb', line 6

def total_pages
  @total_pages
end

#total_resultsObject

Returns the value of attribute total_results.



6
7
8
# File 'lib/a2z/responses/item_search.rb', line 6

def total_results
  @total_results
end

Class Method Details

.from_response(data) ⇒ Object

TODO capture data[‘Request’] into an attr_accessor value TODO consider capturing data[‘Request’] into an attr_accessor value



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/a2z/responses/item_search.rb', line 25

def self.from_response(data)
  new.tap do |item_search|
    item_search.operation_request       = OperationRequest.from_response(data['OperationRequest']) if data['OperationRequest']
    item_search.items                   = items_from_response(data)
    item_search.total_results           = data['Items']['TotalResults'].to_i rescue 0
    item_search.total_pages             = data['Items']['TotalPages'].to_i rescue 0
    item_search.more_search_results_url = data['Items']['MoreSearchResultsUrl'] rescue nil
    item_search.valid                   = data['Items']['Request']['IsValid'] == 'True' rescue false
    item_search.freeze
  end
end

Instance Method Details

#valid=(value) ⇒ Object



15
16
17
# File 'lib/a2z/responses/item_search.rb', line 15

def valid=(value)
  @valid = !!value
end

#valid?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/a2z/responses/item_search.rb', line 19

def valid?
  @valid
end