class Trubl::Collection

Public Instance Methods

container_name() click to toggle source
# File lib/trubl/collection.rb, line 16
def container_name
  klass_name
end
from_response(response, options = {}) click to toggle source
# File lib/trubl/collection.rb, line 6
def from_response(response, options = {})
  return nil if missing_or_exception?(response)
  json = JSON.parse(response.body)
  self.concat (json[container_name] || []).map{|m| klass.new(m[member_name]) }
end
klass() click to toggle source
# File lib/trubl/collection.rb, line 12
def klass
  "Trubl::#{member_name.classify}".constantize
end
klass_name() click to toggle source
# File lib/trubl/collection.rb, line 24
def klass_name
  self.class.name.downcase.gsub('trubl::', '')
end
member_name() click to toggle source
# File lib/trubl/collection.rb, line 20
def member_name
  klass_name.singularize
end

Private Instance Methods

missing_or_exception?(response) click to toggle source
# File lib/trubl/collection.rb, line 30
def missing_or_exception?(response)
  code = if response.respond_to?(:code)
    response.code
  elsif response.respond_to?(:status)
    response.status
  else
    nil
  end

  code && (400..600).include?(code)
end