Sha256: 6f05487e7966ea8381a3bcbda8e6100569b511e1bbc522de50b53190450e8393

Contents?: true

Size: 872 Bytes

Versions: 7

Compression:

Stored size: 872 Bytes

Contents

class Enceladus::ApiResource
private
  def rebuild_single_resource(resource_from_response)
    self.class::RESOURCE_ATTRIBUTES.each do |resource_attr|
      self.public_send("#{resource_attr}=", resource_from_response.public_send(resource_attr)) if resource_from_response.respond_to?(resource_attr)
    end
    self
  end

  def self.build_single_resource(resource_from_response)
    resource = self.new
    self::RESOURCE_ATTRIBUTES.each do |resource_attr|
      resource.public_send("#{resource_attr}=", resource_from_response.public_send(resource_attr)) if resource_from_response.respond_to?(resource_attr)
    end
    resource
  end

  def self.build_collection(resources_from_response)
    resources = []
    resources_from_response.each do |resource_from_response|
      resources << self.build_single_resource(resource_from_response)
    end
    resources
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
enceladus-0.0.8 lib/enceladus/models/api_resource.rb
enceladus-0.0.7 lib/enceladus/models/api_resource.rb
enceladus-0.0.6 lib/enceladus/models/api_resource.rb
enceladus-0.0.5 lib/enceladus/models/api_resource.rb
enceladus-0.0.4 lib/enceladus/models/api_resource.rb
enceladus-0.0.3 lib/enceladus/models/api_resource.rb
enceladus-0.0.2 lib/enceladus/models/api_resource.rb