Sha256: 6453f0a54b8c6caeea9685f27a794a1c7a94dc73ab3bc820d2c656893759c51e

Contents?: true

Size: 913 Bytes

Versions: 10

Compression:

Stored size: 913 Bytes

Contents

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

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

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

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

    def parent_name
      parent.demodulize.underscore
    end

    def parent_id
      parent_name + "_id"
    end

    def table_name
      klass.demodulize.underscore.pluralize
    end

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

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

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

Version data entries

10 entries across 9 versions & 2 rubygems

Version Path
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/statesman-1.3.1/lib/generators/statesman/generator_helpers.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/statesman-2.0.1/lib/generators/statesman/generator_helpers.rb
statesman-2.0.1 lib/generators/statesman/generator_helpers.rb
statesman-2.0.0 lib/generators/statesman/generator_helpers.rb
statesman-2.0.0.rc1 lib/generators/statesman/generator_helpers.rb
statesman-1.3.1 lib/generators/statesman/generator_helpers.rb
statesman-1.3.0 lib/generators/statesman/generator_helpers.rb
statesman-1.2.5 lib/generators/statesman/generator_helpers.rb
statesman-1.2.4 lib/generators/statesman/generator_helpers.rb
statesman-1.2.3 lib/generators/statesman/generator_helpers.rb