Module: ActiveRecord::TypedStore::Extension::ClassMethods

Defined in:
lib/active_record/typed_store/extension.rb

Instance Method Summary collapse

Instance Method Details

#define_attribute_methodsObject



35
36
37
38
# File 'lib/active_record/typed_store/extension.rb', line 35

def define_attribute_methods
  super
  define_typed_store_attribute_methods
end

#typed_store(store_attribute, options = {}, &block) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/active_record/typed_store/extension.rb', line 21

def typed_store(store_attribute, options={}, &block)
  dsl = DSL.new(options.fetch(:accessors, true), &block)

  serialize store_attribute, create_coder(store_attribute, dsl.columns).new(options[:coder])
  store_accessor(store_attribute, dsl.accessors)

  register_typed_store_columns(store_attribute, dsl.columns)
  super(store_attribute, dsl) if defined?(super)

  dsl.accessors.each { |c| define_store_attribute_queries(store_attribute, c) }

  dsl
end

#undefine_attribute_methodsObject

:nodoc:



40
41
42
43
# File 'lib/active_record/typed_store/extension.rb', line 40

def undefine_attribute_methods # :nodoc:
  super if @typed_store_attribute_methods_generated
  @typed_store_attribute_methods_generated = false
end