Class: Quickery::QuickeryBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/quickery/quickery_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dependee_column_name:, last_association_builder:) ⇒ QuickeryBuilder

Returns a new instance of QuickeryBuilder.



10
11
12
13
14
15
# File 'lib/quickery/quickery_builder.rb', line 10

def initialize(dependee_column_name:, last_association_builder:)
  @dependee_column_name = dependee_column_name
  @last_association_builder = last_association_builder
  @first_association_builder = last_association_builder._quickery_get_parent_builders.last
  @model = @first_association_builder.model
end

Instance Attribute Details

#callbacks_builderObject (readonly)

Returns the value of attribute callbacks_builder.



8
9
10
# File 'lib/quickery/quickery_builder.rb', line 8

def callbacks_builder
  @callbacks_builder
end

#dependee_column_nameObject (readonly)

Returns the value of attribute dependee_column_name.



5
6
7
# File 'lib/quickery/quickery_builder.rb', line 5

def dependee_column_name
  @dependee_column_name
end

#depender_column_nameObject (readonly)

Returns the value of attribute depender_column_name.



4
5
6
# File 'lib/quickery/quickery_builder.rb', line 4

def depender_column_name
  @depender_column_name
end

#first_association_builderObject (readonly)

Returns the value of attribute first_association_builder.



6
7
8
# File 'lib/quickery/quickery_builder.rb', line 6

def first_association_builder
  @first_association_builder
end

#last_association_builderObject (readonly)

Returns the value of attribute last_association_builder.



7
8
9
# File 'lib/quickery/quickery_builder.rb', line 7

def last_association_builder
  @last_association_builder
end

#modelObject (readonly)

Returns the value of attribute model.



3
4
5
# File 'lib/quickery/quickery_builder.rb', line 3

def model
  @model
end

Instance Method Details

#==(depender_column_name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/quickery/quickery_builder.rb', line 17

def ==(depender_column_name)
  @depender_column_name = depender_column_name

  @callbacks_builder = CallbacksBuilder.new(quickery_builder: self)

  define_quickery_builders_in_model_class unless @model.respond_to? :quickery_builders

  # include this to the list of quickery builders defined for this model
  @model.quickery_builders[depender_column_name] = self
end