class RedactorRails::Generators::InstallGenerator

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 13
def self.next_migration_number(dirname)
  Time.now.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

copy_migration() click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 27
def copy_migration
  @database = options["database"] || detect_database
  unless @database.in?([nil, "postgresql", "postgresql-jsonb", "mysql", "sqlite"])
    raise Thor::Error, "Unknown database option"
  end
  migration_template "active_record_redactor_assets_migration.rb", "db/migrate/create_redactor_assets.rb", migration_version: migration_version
end
create_config() click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 48
def create_config
  template "config.js", File.join('app/assets/javascripts/redactor_rails', "config.js")
end
detect_database() click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 52
def detect_database
  postgresql_version = ActiveRecord::Base.connection.send(:postgresql_version) rescue 0
  if postgresql_version >= 90400
    "postgresql-jsonb"
  elsif postgresql_version >= 90200
    "postgresql"
  end
end
generate_model() click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 36
def generate_model
  [:asset, :picture, :document].each do |filename|
    template "active_record_models/#{filename}.rb",
    File.join('app/models', 'redactor_rails', "#{filename}.rb")
  end

  [:picture, :document].each do |filename|
    template "uploaders/redactor_rails_#{filename}_uploader.rb",
      File.join("app/uploaders", 'redactor_rails', "#{filename}_uploader.rb")
  end
end
migration_version() click to toggle source
# File lib/generators/redactor_rails/install_generator.rb, line 61
def migration_version
  if ActiveRecord::VERSION::MAJOR >= 5
    "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
  end
end