Module: LazyResource::Attributes::ClassMethods

Defined in:
lib/lazy_resource/attributes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#collection_nameObject



41
42
43
# File 'lib/lazy_resource/attributes.rb', line 41

def collection_name
  @collection_name ||= ActiveSupport::Inflector.pluralize(element_name)
end

#element_nameObject



36
37
38
# File 'lib/lazy_resource/attributes.rb', line 36

def element_name
  @element_name ||= model_name.element
end

Instance Method Details

#attribute(name, type, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/lazy_resource/attributes.rb', line 7

def attribute(name, type, options={})
  attributes[name] = { :type => type, :options => options }

  create_getter(name, type, options) unless options[:skip_getter]
  create_setter(name, type, options) unless options[:skip_setter]
  create_question(name, type, options) unless options[:skip_question] || options[:skip_getter]

  @attribute_methods_generated = false
  define_attribute_methods [name]
end

#attributesObject



23
24
25
# File 'lib/lazy_resource/attributes.rb', line 23

def attributes
  @attributes ||= {}
end

#fetch_allObject



18
19
20
21
# File 'lib/lazy_resource/attributes.rb', line 18

def fetch_all
  self.resource_queue.send_to_request_queue! if self.respond_to?(:resource_queue)
  self.request_queue.run if self.respond_to?(:request_queue) && self.request_queue.items_queued?
end

#primary_key_nameObject



27
28
29
# File 'lib/lazy_resource/attributes.rb', line 27

def primary_key_name
  @primary_key_name ||= 'id'
end

#primary_key_name=(pk) ⇒ Object



31
32
33
# File 'lib/lazy_resource/attributes.rb', line 31

def primary_key_name=(pk)
  @primary_key_name = pk
end