Module: Statesman::GeneratorHelpers

Included in:
ActiveRecordTransitionGenerator, MigrationGenerator
Defined in:
lib/generators/statesman/generator_helpers.rb

Instance Method Summary collapse

Instance Method Details

#class_name_optionObject



5
6
7
# File 'lib/generators/statesman/generator_helpers.rb', line 5

def class_name_option
  ", class_name: '#{parent}'" unless parent.underscore == parent_name
end

#database_supports_partial_indexes?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/generators/statesman/generator_helpers.rb', line 46

def database_supports_partial_indexes?
  Statesman::Adapters::ActiveRecord.database_supports_partial_indexes?
end

#index_name(index_id) ⇒ Object



37
38
39
# File 'lib/generators/statesman/generator_helpers.rb', line 37

def index_name(index_id)
  "index_#{table_name}_#{index_id}"
end

#metadata_default_valueObject



50
51
52
# File 'lib/generators/statesman/generator_helpers.rb', line 50

def 
  Utils.rails_5_or_higher? ? "{}" : "{}".inspect
end

#migration_class_nameObject



13
14
15
# File 'lib/generators/statesman/generator_helpers.rb', line 13

def migration_class_name
  klass.gsub(/::/, "").pluralize
end

#model_file_nameObject



9
10
11
# File 'lib/generators/statesman/generator_helpers.rb', line 9

def model_file_name
  "app/models/#{klass.underscore}.rb"
end

#mysql?Boolean

Returns:

  • (Boolean)


41
42
43
44
# File 'lib/generators/statesman/generator_helpers.rb', line 41

def mysql?
  ActiveRecord::Base.configurations[Rails.env].
    try(:[], "adapter").try(:match, /mysql/)
end

#next_migration_numberObject



17
18
19
# File 'lib/generators/statesman/generator_helpers.rb', line 17

def next_migration_number
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

#parent_idObject



29
30
31
# File 'lib/generators/statesman/generator_helpers.rb', line 29

def parent_id
  parent_name + "_id"
end

#parent_nameObject



21
22
23
# File 'lib/generators/statesman/generator_helpers.rb', line 21

def parent_name
  parent.demodulize.underscore
end

#parent_table_nameObject



25
26
27
# File 'lib/generators/statesman/generator_helpers.rb', line 25

def parent_table_name
  parent.demodulize.underscore.pluralize
end

#table_nameObject



33
34
35
# File 'lib/generators/statesman/generator_helpers.rb', line 33

def table_name
  klass.demodulize.underscore.pluralize
end