Class: Nandi::ForeignKeyGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Formatting, MultiDbGenerator
Defined in:
lib/generators/nandi/foreign_key/foreign_key_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from MultiDbGenerator

included

Methods included from Formatting

#format_value, included

Instance Attribute Details

#add_foreign_key_nameObject (readonly)

Returns the value of attribute add_foreign_key_name.



22
23
24
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 22

def add_foreign_key_name
  @add_foreign_key_name
end

#add_reference_nameObject (readonly)

Returns the value of attribute add_reference_name.



22
23
24
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 22

def add_reference_name
  @add_reference_name
end

#validate_foreign_key_nameObject (readonly)

Returns the value of attribute validate_foreign_key_name.



22
23
24
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 22

def validate_foreign_key_name
  @validate_foreign_key_name
end

Instance Method Details

#add_foreign_keyObject



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 39

def add_foreign_key
  self.table = table.to_sym
  self.target = target.to_sym

  @add_foreign_key_name = "add_foreign_key_on_#{table}_to_#{target}"

  template(
    "add_foreign_key.rb",
    "#{base_path}/#{timestamp(1)}_#{add_foreign_key_name}.rb",
  )
end

#add_referenceObject



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 26

def add_reference
  return if options["no_create_column"]

  self.table = table.to_sym

  @add_reference_name = "add_reference_on_#{table}_to_#{target}"

  template(
    "add_reference.rb",
    "#{base_path}/#{timestamp}_#{add_reference_name}.rb",
  )
end

#validate_foreign_keyObject



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/generators/nandi/foreign_key/foreign_key_generator.rb', line 51

def validate_foreign_key
  self.table = table.to_sym
  self.target = target.to_sym

  @validate_foreign_key_name = "validate_foreign_key_on_#{table}_to_#{target}"

  template(
    "validate_foreign_key.rb",
    "#{base_path}/#{timestamp(2)}_#{validate_foreign_key_name}.rb",
  )
end