Module: Utusemi::Core::ActiveRecord::Base

Defined in:
lib/utusemi/core.rb,
lib/utusemi/core.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#association(name) ⇒ Object

用途

association_cache


317
318
319
320
321
322
# File 'lib/utusemi/core.rb', line 317

def association(name)
  truthly_owner = self
  association = super
  association.singleton_class.send(:define_method, :truthly_owner) { truthly_owner }
  association
end

#initialize(*args, &block) ⇒ Object

用途

utusemi

使用例

product = Product.utusemi(:product).new(name: 'test')
product.name
#=> 'test' (= products.title)


293
294
295
296
297
298
299
300
301
302
303
304
# File 'lib/utusemi/core.rb', line 293

def initialize(*args, &block)
  case Rails::VERSION::MAJOR
  when 4
    current_scope = self.class.current_scope
  when 3
    current_scope = self.class.scoped
  end
  utusemi_values = current_scope.try(:utusemi_values) || {}
  utusemi_values = self.class.utusemi_values unless utusemi_values[:flag]
  utusemi!(utusemi_values[:type], utusemi_values[:options]) if utusemi_values[:flag]
  super
end

#initialize_copy(original_obj) ⇒ Object

用途

clone


309
310
311
312
# File 'lib/utusemi/core.rb', line 309

def initialize_copy(original_obj)
  @utusemi_values = original_obj.utusemi_values.dup
  super
end