Class: AbsorbApi::Record

Inherits:
Object
  • Object
show all
Defined in:
lib/absorb_api/record.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) {|_self| ... } ⇒ Record

Returns a new instance of Record.

Yields:

  • (_self)

Yield Parameters:



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

def initialize(params = {})
  params.each do |attr, value|
    next unless respond_to?("#{attr.to_s.underscore}=")

    public_send("#{attr.to_s.underscore}=", value)
  end

  yield self if block_given?
end

Class Method Details

.allObject



25
26
27
28
29
30
31
# File 'lib/absorb_api/record.rb', line 25

def all
  objs = api.get(to_s.demodulize.pluralize).map do |attrs|
    new(attrs)
  end

  Collection.new(objs, klass: to_s.demodulize)
end

.can_createObject



37
38
39
# File 'lib/absorb_api/record.rb', line 37

def can_create
  include Create
end

.can_searchObject



41
42
43
# File 'lib/absorb_api/record.rb', line 41

def can_search
  include Where
end

.find(id) ⇒ Object

Raises:



19
20
21
22
23
# File 'lib/absorb_api/record.rb', line 19

def find(id)
  raise ResourceNotFound if id.blank?

  new(api.get("#{to_s.demodulize.pluralize}/#{id}"))
end

.with_relationshipsObject



33
34
35
# File 'lib/absorb_api/record.rb', line 33

def with_relationships
  include Relations
end