class Nandi::ForeignKeyGenerator
Attributes
add_foreign_key_name[R]
add_reference_name[R]
validate_foreign_key_name[R]
Public Instance Methods
add_foreign_key()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 37 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_reference()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 24 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_key()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 49 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
Private Instance Methods
any_options?()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 87 def any_options? options["name"] || options["column"] end
base_path()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 71 def base_path Nandi.config.migration_directory || "db/safe_migrations" end
column()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 83 def column options["column"]&.to_sym end
name()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 79 def name options["name"]&.to_sym || :"#{@table}_#{@target}_fk" end
reference_name()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 67 def reference_name "#{target.singularize}_id".to_sym end
timestamp(offset = 0)
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 75 def timestamp(offset = 0) (Time.now.utc + offset).strftime("%Y%m%d%H%M%S") end
type()
click to toggle source
# File lib/generators/nandi/foreign_key/foreign_key_generator.rb, line 63 def type options["type"].to_sym end