Module: Statesman::GeneratorHelpers
- Included in:
- ActiveRecordTransitionGenerator, MigrationGenerator
- Defined in:
- lib/generators/statesman/generator_helpers.rb
Instance Method Summary collapse
- #association_name ⇒ Object
- #class_name_option ⇒ Object
-
#configuration ⇒ Object
[] is deprecated and will be removed in 6.2.
- #database_supports_partial_indexes? ⇒ Boolean
- #index_name(index_id) ⇒ Object
- #metadata_column_config ⇒ Object
- #metadata_column_type ⇒ Object
- #metadata_default_value ⇒ Object
- #model_file_name ⇒ Object
- #mysql? ⇒ Boolean
- #parent_id ⇒ Object
- #parent_name ⇒ Object
- #parent_table_name ⇒ Object
- #postgres? ⇒ Boolean
- #table_name ⇒ Object
Instance Method Details
#association_name ⇒ Object
25 26 27 |
# File 'lib/generators/statesman/generator_helpers.rb', line 25 def association_name klass.demodulize.underscore.pluralize end |
#class_name_option ⇒ Object
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 |
#configuration ⇒ Object
[] is deprecated and will be removed in 6.2
54 55 56 57 58 59 60 |
# File 'lib/generators/statesman/generator_helpers.rb', line 54 def configuration if ActiveRecord::Base.configurations.respond_to?(:configs_for) ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).first else ActiveRecord::Base.configurations[Rails.env] end end |
#database_supports_partial_indexes? ⇒ Boolean
62 63 64 |
# File 'lib/generators/statesman/generator_helpers.rb', line 62 def database_supports_partial_indexes? Statesman::Adapters::ActiveRecord.database_supports_partial_indexes?(parent.constantize) end |
#index_name(index_id) ⇒ Object
41 42 43 |
# File 'lib/generators/statesman/generator_helpers.rb', line 41 def index_name(index_id) "index_#{table_name}_#{index_id}" end |
#metadata_column_config ⇒ Object
70 71 72 73 74 |
# File 'lib/generators/statesman/generator_helpers.rb', line 70 def return if mysql? ", default: #{}" end |
#metadata_column_type ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/generators/statesman/generator_helpers.rb', line 33 def if ActiveRecord::Base.connection.supports_json? postgres? ? :jsonb : :json else :text end end |
#metadata_default_value ⇒ Object
66 67 68 |
# File 'lib/generators/statesman/generator_helpers.rb', line 66 def Utils.rails_5_or_higher? ? "{}" : "'{}'" end |
#model_file_name ⇒ Object
9 10 11 |
# File 'lib/generators/statesman/generator_helpers.rb', line 9 def model_file_name "app/models/#{klass.underscore}.rb" end |
#mysql? ⇒ Boolean
49 50 51 |
# File 'lib/generators/statesman/generator_helpers.rb', line 49 def mysql? configuration.adapter.try(:match, /mysql/) end |
#parent_id ⇒ Object
21 22 23 |
# File 'lib/generators/statesman/generator_helpers.rb', line 21 def parent_id parent_name + "_id" end |
#parent_name ⇒ Object
13 14 15 |
# File 'lib/generators/statesman/generator_helpers.rb', line 13 def parent_name parent.underscore.split("/").join("_") end |
#parent_table_name ⇒ Object
17 18 19 |
# File 'lib/generators/statesman/generator_helpers.rb', line 17 def parent_table_name parent.underscore.split("/").join("_").tableize end |
#postgres? ⇒ Boolean
45 46 47 |
# File 'lib/generators/statesman/generator_helpers.rb', line 45 def postgres? configuration.adapter.try(:match, /postgres/) end |
#table_name ⇒ Object
29 30 31 |
# File 'lib/generators/statesman/generator_helpers.rb', line 29 def table_name klass.underscore.split("/").join("_").tableize end |