Module: QuickbaseRecord::Model
- Extended by:
- ActiveSupport::Concern
- Includes:
- Client, Queries
- Defined in:
- lib/quickbase_record/model.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary
Constants included
from Queries
Queries::UNWRITABLE_FIELDS
Instance Method Summary
collapse
Methods included from Client
#qb_client
Methods included from Queries
#delete, #save, #update_attributes
Instance Method Details
#_assign_attribute(k, v) ⇒ Object
56
57
58
59
60
|
# File 'lib/quickbase_record/model.rb', line 56
def _assign_attribute(k, v)
if respond_to?("#{k}=")
public_send("#{k}=", v)
end
end
|
#_assign_attributes(attributes) ⇒ Object
50
51
52
53
54
|
# File 'lib/quickbase_record/model.rb', line 50
def _assign_attributes(attributes)
attributes.each do |k, v|
_assign_attribute(k, v)
end
end
|
#assign_attributes(new_attributes) ⇒ Object
40
41
42
43
44
45
46
47
48
|
# File 'lib/quickbase_record/model.rb', line 40
def assign_attributes(new_attributes)
if !new_attributes.respond_to?(:stringify_keys)
raise ArgumentError, "When assigning attributes, you must pass a hash as an argument."
end
return if new_attributes.blank?
attributes = new_attributes.stringify_keys
_assign_attributes(attributes)
end
|
#create_attr_accesssors ⇒ Object
34
35
36
37
38
|
# File 'lib/quickbase_record/model.rb', line 34
def create_attr_accesssors
self.class.fields.each do |field_name, value|
self.class.send(:attr_accessor, field_name)
end
end
|
#initialize(attributes = {}) ⇒ Object
25
26
27
28
|
# File 'lib/quickbase_record/model.rb', line 25
def initialize(attributes={})
create_attr_accesssors
assign_attributes(attributes) if attributes
end
|
#persisted? ⇒ Boolean
30
31
32
|
# File 'lib/quickbase_record/model.rb', line 30
def persisted?
false
end
|