module HelloBlock::Query
Public Instance Methods
[](attribute)
click to toggle source
# File lib/helloblock/resources/query.rb, line 54 def [](attribute) to_hash[attribute] end
[]=(attribute, value)
click to toggle source
# File lib/helloblock/resources/query.rb, line 58 def []=(attribute, value) to_hash[attribute] = value end
default_query()
click to toggle source
# File lib/helloblock/resources/query.rb, line 13 def default_query { path: ENDPOINTS[parent_class], params: {} } end
determine_parent_resource()
click to toggle source
exceptions: querying transactions with addresses actually hits /addresses/transactions endpoint
# File lib/helloblock/resources/query.rb, line 68 def determine_parent_resource if query[:path] == ENDPOINTS[:transaction] && query[:params][:addresses] query[:path] = ENDPOINTS[:addresses_transactions] end end
find(id)
click to toggle source
# File lib/helloblock/resources/query.rb, line 21 def find(id) query[:path] += id self end
inspect()
click to toggle source
# File lib/helloblock/resources/query.rb, line 62 def inspect to_hash.to_s end
last(limit)
click to toggle source
# File lib/helloblock/resources/query.rb, line 36 def last(limit) query[:path] = ENDPOINTS[parent_class] + ENDPOINTS[:latest] query[:params][:limit] = limit self end
offset(number)
click to toggle source
# File lib/helloblock/resources/query.rb, line 42 def offset(number) query[:params][:offset] = number self end
parent_class()
click to toggle source
# File lib/helloblock/resources/query.rb, line 17 def parent_class self.to_s.split('::').last.downcase.to_sym end
query()
click to toggle source
# File lib/helloblock/resources/query.rb, line 9 def query @query ||= default_query end
to_hash()
click to toggle source
# File lib/helloblock/resources/query.rb, line 47 def to_hash (query_copy = query.clone) and (@query = default_query) method = query_copy[:params][:post] ? :post : :get query_copy[:params].delete(:post) HelloBlock.send(method, query_copy[:path], query_copy[:params]) end
where(conditions)
click to toggle source
where(transaction: […]) => converts :transaction to API's :txHashes
# File lib/helloblock/resources/query.rb, line 27 def where(conditions) conditions.each do |resource, ids| api_resource = API_PARAMETERS[resource] || resource query[:params][api_resource] = ids end determine_parent_resource self end