Module: SData::ActiveRecordExtensions::Mixin

Included in:
VirtualBase
Defined in:
lib/s_data/active_record_extensions/mixin.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Instance Method Summary collapse

Instance Method Details

#acts_as_sdata(options = {}) ⇒ Object



6
7
8
9
10
11
# File 'lib/s_data/active_record_extensions/mixin.rb', line 6

def acts_as_sdata(options={})
  cattr_accessor :sdata_options
  self.sdata_options = options
  self.__send__ :include, InstanceMethods
  self.__send__ :extend, ClassMethods
end

#find_by_sdata_instance_id(value) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/s_data/active_record_extensions/mixin.rb', line 13

def find_by_sdata_instance_id(value)
  attribute = self.sdata_options[:instance_id]

  attribute.nil? ?
    self.find(value.to_i) :
    self.first(:conditions => { attribute => value })
end