Class: NestedRecord::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/nested_record/setup.rb

Direct Known Subclasses

HasMany, HasOne

Defined Under Namespace

Classes: HasMany, HasOne

Instance Method Summary collapse

Constructor Details

#initialize(owner, name, **options, &extension) ⇒ Setup

Returns a new instance of Setup.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/nested_record/setup.rb', line 4

def initialize(owner, name, **options, &extension)
  @options = options
  @owner = owner
  if options[:class_name]
    @record_class = options[:class_name]
  else
    @record_class = name.to_s.camelize
    @record_class = @record_class.singularize if self.is_a?(HasMany)
  end
  @name = name
  @extension = extension

  define_methods

  @owner.attribute @name, type, default: default_value
  @owner.validate validation_method_name
end

Instance Method Details

#record_classObject



22
23
24
25
26
27
# File 'lib/nested_record/setup.rb', line 22

def record_class
  if @record_class.is_a? String
    @record_class = NestedRecord.lookup_const(@owner, @record_class)
  end
  @record_class
end