Module: QuickbaseRecord::Model
- Extended by:
- ActiveSupport::Concern
- Includes:
- Client, Queries
- Defined in:
- lib/quickbase_record/model.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary
collapse
Methods included from Client
#qb_client
Methods included from Queries
#delete, #primary_key_field_name, #record_id_field_name, #remove_unwritable_fields, #save, #update_attributes, #writable_fields
Instance Method Details
#_assign_attribute(k, v) ⇒ Object
61
62
63
64
65
|
# File 'lib/quickbase_record/model.rb', line 61
def _assign_attribute(k, v)
if respond_to?("#{k}=")
public_send("#{k}=", v)
end
end
|
#_assign_attributes(attributes) ⇒ Object
55
56
57
58
59
|
# File 'lib/quickbase_record/model.rb', line 55
def _assign_attributes(attributes)
attributes.each do |k, v|
_assign_attribute(k, v)
end
end
|
#assign_attributes(new_attributes) ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/quickbase_record/model.rb', line 45
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
39
40
41
42
43
|
# File 'lib/quickbase_record/model.rb', line 39
def create_attr_accesssors
self.class.fields.each do |field_name, field|
self.class.send(:attr_accessor, field_name)
end
end
|
#initialize(attributes = {}) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/quickbase_record/model.rb', line 28
def initialize(attributes={})
create_attr_accesssors
assign_attributes(attributes) if attributes
super()
end
|
#persisted? ⇒ Boolean
35
36
37
|
# File 'lib/quickbase_record/model.rb', line 35
def persisted?
false
end
|