Module: SimpleSDKBuilder::Resource

Defined in:
lib/simple_sdk_builder/resource.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/simple_sdk_builder/resource.rb', line 8

def self.included(klass)
  klass.class_eval do
    extend ActiveModel::Naming
    include ActiveModel::Conversion
    include ActiveModel::Serializers::JSON
    self.include_root_in_json = false
  end

  klass.extend ClassMethods
end

Instance Method Details

#attributesObject



27
28
29
# File 'lib/simple_sdk_builder/resource.rb', line 27

def attributes
  @attributes
end

#attributes=(attributes) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/simple_sdk_builder/resource.rb', line 31

def attributes=(attributes)
  attributes.each do |key, value|
    if self.class.simple_sdk_attributes.include?(key.to_s)
      self.send("#{key}=", value)
    end
  end
end

#initialize(attrs = {}) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/simple_sdk_builder/resource.rb', line 19

def initialize(attrs = {})
  @attributes = {}.with_indifferent_access
  #self.class.simple_sdk_attributes.each do |attr|
  #  @attributes[attr] = nil
  #end
  self.attributes = attrs
end

#persisted?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/simple_sdk_builder/resource.rb', line 39

def persisted?
  respond_to?(:id) && (!!id)
end