Class: ActiveResource::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/moy_sklad/client/resource.rb

Direct Known Subclasses

MoySklad::Client::Base

Instance Method Summary collapse

Instance Method Details

#find_object(name, type, key) ⇒ Object

Nested object finder by type uuid + object uuid.

MS data model have arrays which contains objects where each object have a special “type” uuid and object uuid. Type + Object uuids are PK for the object.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/moy_sklad/client/resource.rb', line 15

def find_object(name, type, key)
  return nil if self.send(name).is_a?(MoySklad::Client::Attribute::MissingAttr)

  create_nested_resource(name)

  # Convert single attr to array
  self.send("#{name}=", [self.send(name)]) unless self.send(name).is_a?(Array)

  self.send(name).each do |v|
    return v if v.send(type) == key
  end

  nil
end