Module: Statesman::GeneratorHelpers

Instance Method Summary collapse

Instance Method Details

#class_name_optionObject



3
4
5
# File 'lib/generators/statesman/generator_helpers.rb', line 3

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

#database_supports_partial_indexes?Boolean

Returns:

  • (Boolean)


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

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

#index_name(index_id) ⇒ Object



31
32
33
# File 'lib/generators/statesman/generator_helpers.rb', line 31

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

#migration_class_nameObject



11
12
13
# File 'lib/generators/statesman/generator_helpers.rb', line 11

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

#model_file_nameObject



7
8
9
# File 'lib/generators/statesman/generator_helpers.rb', line 7

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

#mysql?Boolean

Returns:

  • (Boolean)


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

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

#next_migration_numberObject



15
16
17
# File 'lib/generators/statesman/generator_helpers.rb', line 15

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

#parent_idObject



23
24
25
# File 'lib/generators/statesman/generator_helpers.rb', line 23

def parent_id
  parent_name + "_id"
end

#parent_nameObject



19
20
21
# File 'lib/generators/statesman/generator_helpers.rb', line 19

def parent_name
  parent.demodulize.underscore
end

#table_nameObject



27
28
29
# File 'lib/generators/statesman/generator_helpers.rb', line 27

def table_name
  klass.demodulize.underscore.pluralize
end