class ActivemodelFlags::ColumnGenerator

Public Class Methods

next_migration_number(dir) click to toggle source
# File lib/generators/activemodel_flags/column_generator.rb, line 14
def self.next_migration_number(dir)
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

manifest() click to toggle source
# File lib/generators/activemodel_flags/column_generator.rb, line 7
def manifest
  migration_template 'migration.rb', "db/migrate/add_flags_to_#{custom_file_name}.rb", {
      :assigns => flags_local_assigns,
      :migration_file_name => "add_flags_field_to_#{custom_file_name}"
  }
end

Private Instance Methods

custom_file_name() click to toggle source
# File lib/generators/activemodel_flags/column_generator.rb, line 20
def custom_file_name
  custom_name = class_name.underscore.downcase
  custom_name = custom_name.pluralize if ActiveRecord::Base.pluralize_table_names
  custom_name
end
flags_local_assigns() click to toggle source
# File lib/generators/activemodel_flags/column_generator.rb, line 26
def flags_local_assigns
  {}.tap do |assigns|
    assigns[:migration_action] = "add"
    assigns[:class_name] = "add_flags_fields_to_#{custom_file_name}"
    assigns[:table_name] = custom_file_name
    assigns[:attributes] = [Rails::Generators::GeneratedAttribute.new("flags", "json")]
  end
end