module AutotaskRuby::Association
handles loading associated entities.
Public Instance Methods
belongs_to(name, options = {})
click to toggle source
loads parent entity. Thanks to scoop for this example.
# File lib/autotask_ruby/association.rb, line 8 def belongs_to(name, options = {}) name = name.to_s klass = (options[:class_name] || name).to_s.classify.to_s foreign_key = name.foreign_key define_singleton_method(name) do find(klass, send(foreign_key)) end end
has_many(name, options = {})
click to toggle source
loads child entities. Example: A project can have many tasks. Thanks to scoop for this example.
# File lib/autotask_ruby/association.rb, line 31 def has_many(name, options = {}) name = name.to_s options.reverse_merge! foreign_key: to_s.foreign_key.camelize klass = (options[:class_name] || name).to_s.classify.to_s define_singleton_method(name) do query(klass, options[:foreign_key], id) end end
has_one(name, options = {})
click to toggle source
Example, an appointment can have one contact. Thanks to scoop for this example.
# File lib/autotask_ruby/association.rb, line 19 def has_one(name, options = {}) name = name.to_s options.reverse_merge! foreign_key: to_s.foreign_key.camelize klass = (options[:class_name] || name).to_s.classify.to_s define_singleton_method(name) do find(klass, options[:foreign_key], id).first end end