Module: AbsorbApi::Relations::ClassMethods

Defined in:
lib/absorb_api/relations.rb

Instance Method Summary collapse

Instance Method Details

#with_many(rel_name, klass = nil) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/absorb_api/relations.rb', line 8

def with_many(rel_name, klass = nil)
  klass ||= rel_name
  klass = klass.to_s

  define_has_many_method(rel_name, klass)
  define_has_many_finder_method(rel_name, klass)
  define_has_many_ids_method(rel_name)
end

#with_one(rel_name, klass = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/absorb_api/relations.rb', line 17

def with_one(rel_name, klass = nil)
  klass ||= rel_name
  klass = klass.to_s

  define_method rel_name.to_s do
    path = "#{klass.pluralize}/" + send(rel_name.to_s + "_id")

    response = get(path, ignore_resource_not_found: true)
    return if response.blank?

    "AbsorbApi::#{klass.classify}".constantize.new(response)
  end
end