class HotsApi::Repositories::SimpleRepository

Public Instance Methods

each(&block) click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 16
def each(&block)
  records.each(&block)
end
find(id) click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 8
def find(id)
  response = HotsApi.get("#{collection_path}/#{id}")

  if response.status.ok?
    instantiate_record_with(response.parse)
  end
end
last(n = nil) click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 20
def last(n = nil)
  n ? records.last(n) : records.last
end
length() click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 28
def length
  records.length
end
size() click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 24
def size
  records.size
end

Private Instance Methods

collection_path() click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 46
def collection_path
  raise NotImplementedError
end
fetch_records() click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 38
def fetch_records
  response = HotsApi.get(collection_path)

  response.parse.map do |attributes|
    instantiate_record_with(attributes)
  end
end
records() click to toggle source
# File lib/hots_api/repositories/simple_repository.rb, line 34
def records
  @records ||= fetch_records
end