Sha256: e5e6da18bee0b8a0fa6efd51cb8ef326d839c7d8a92366eae7627363bdb78195

Contents?: true

Size: 643 Bytes

Versions: 27

Compression:

Stored size: 643 Bytes

Contents

class RestModel
  class Embeddable < Association
    autoload :Sender,    "rest_model/key/embeddable/sender"
    autoload :Retriever, "rest_model/key/embeddable/retriever"
    autoload :Response,  "rest_model/key/embeddable/response"
    include   Sender
    include   Retriever
    include   Response

    attr_accessor :fields

    def initialize(name, options = {})
      super

      if fields = options[:fields]
        @class_name = :array
        @fields = fields
      end
    end

    def raw?
      [Hash, Array].include?(resource_class)
    end

    def from_hash(attrs, resource = nil)
      raw? ? attrs : super
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
rest_model-0.2.1 lib/rest_model/key/embeddable.rb
rest_model-0.2.0 lib/rest_model/key/embeddable.rb
rest_model-0.1.24 lib/rest_model/key/embeddable.rb
rest_model-0.1.23 lib/rest_model/key/embeddable.rb
rest_model-0.1.22 lib/rest_model/key/embeddable.rb
rest_model-0.1.21 lib/rest_model/key/embeddable.rb
rest_model-0.1.20 lib/rest_model/key/embeddable.rb
rest_model-0.1.19 lib/rest_model/key/embeddable.rb
rest_model-0.1.18 lib/rest_model/key/embeddable.rb
rest_model-0.1.17 lib/rest_model/key/embeddable.rb
rest_model-0.1.16 lib/rest_model/key/embeddable.rb
rest_model-0.1.15 lib/rest_model/key/embeddable.rb
rest_model-0.1.14 lib/rest_model/key/embeddable.rb
rest_model-0.1.13 lib/rest_model/key/embeddable.rb
rest_model-0.1.12 lib/rest_model/key/embeddable.rb
rest_model-0.1.11 lib/rest_model/key/embeddable.rb
rest_model-0.1.10 lib/rest_model/key/embeddable.rb
rest_model-0.1.9 lib/rest_model/key/embeddable.rb
rest_model-0.1.8 lib/rest_model/key/embeddable.rb
rest_model-0.1.7 lib/rest_model/key/embeddable.rb