Module: ApiClient::Mixins::Instantiation

Included in:
Base
Defined in:
lib/api_client/mixins/instantiation.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



4
5
6
7
8
# File 'lib/api_client/mixins/instantiation.rb', line 4

def self.extended(base)
  base.instance_eval do
    attr_accessor :original_scope
  end
end

Instance Method Details

#build(result_or_array) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/api_client/mixins/instantiation.rb', line 20

def build(result_or_array)
  if result_or_array.is_a?(Array)
    build_many result_or_array
  else
    build_one  result_or_array
  end
end

#build_many(array) ⇒ Object



16
17
18
# File 'lib/api_client/mixins/instantiation.rb', line 16

def build_many(array)
  array.collect { |one| build_one(one) }
end

#build_one(hash) ⇒ Object



10
11
12
13
14
# File 'lib/api_client/mixins/instantiation.rb', line 10

def build_one(hash)
  instance = self.new self.namespace ? hash[namespace] : hash
  instance.original_scope = self.scope.clone_only_headers
  instance
end