Class: HumanID::Extension::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/humanid/extension/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(model_class, options) ⇒ Builder

Returns a new instance of Builder.



7
8
9
10
11
12
13
14
# File 'lib/humanid/extension/builder.rb', line 7

def initialize(model_class, options)
  @model                 = model_class
  @param                 = options[:param]
  @persists              = options[:persist]
  @validations           = options[:validations]
  @validates_format      = @validations[:format]
  @validates_uniqueness  = @validations[:uniqueness]
end

Instance Method Details

#build(human_id) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/humanid/extension/builder.rb', line 16

def build(human_id)
  @human_id = human_id

  define_base_methods

  if @persists
    define_persistence_methods
    add_persistence_callbacks
  else
    define_human_id_accessor
  end

  add_format_validation     if @validates_format
  add_uniqueness_validation if @validates_uniqueness

  define_to_param_method if @param
end