class DflRailsConfig::Generators::BasicGenerator

Public Instance Methods

add_flash_types() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 29
def add_flash_types
  file_name = 'app/controllers/application_controller.rb'
  unless File.read(file_name) =~ /add_flash_types/
    inject_into_file file_name, after: 'protect_from_forgery with: :exception' do
      "\n  add_flash_types :warning, :error, :info"
    end
  end
end
application_css() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 113
def application_css
  rm_file_name = 'app/assets/stylesheets/application.css'
  file_name = 'app/assets/stylesheets/application.css.scss'
  remove_file rm_file_name
  copy_file file_name.split('/').last, file_name
end
application_js() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 107
def application_js
  file_name = 'app/assets/javascripts/application.js'
  remove_file file_name
  copy_file file_name.split('/').last, file_name
end
configure_database() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 99
def configure_database
  file_name = 'config/database.yml'
  remove_file file_name
  copy_file file_name.split('/').last, file_name
  gsub_file file_name, 'database_name', application_name.underscore
  gsub_file file_name, 'database_name_test', "#{application_name.underscore}_test"
end
copy_application_helper() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 136
def copy_application_helper
  copy_file 'helpers/application_helper.rb', 'app/helpers/application_helper.rb'
end
copy_bundle_config() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 124
def copy_bundle_config
  directory 'bundle/', '.bundle/'
end
copy_deploy_files() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 16
def copy_deploy_files
  directory 'bin/deploy', 'bin/'
end
copy_scaffold_templates() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 120
def copy_scaffold_templates
  directory 'slim/', 'lib/templates/slim/'
end
create_version_file() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 8
      def create_version_file
         create_file "lib/version.rb", <<-FILE
    module #{application_name}
      VERSION = '0.0.1'
    end
        FILE
      end
gem_better_errors() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 61
def gem_better_errors
  unless File.read('Gemfile') =~ /better_errors/
    inject_into_file 'Gemfile', after: "group :development, :test do" do
      "\n  gem 'better_errors'\n"
    end
  end
end
gem_font_awesome_rails() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 57
def gem_font_awesome_rails
  append_file 'Gemfile', "\ngem 'font-awesome-rails'" unless File.read('Gemfile') =~ /font-awesome-rails/
end
gem_ruby_version() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 69
def gem_ruby_version
  unless File.read('Gemfile') =~ /ruby /
    inject_into_file 'Gemfile', after: "source 'https://rubygems.org'\n" do
      "\nruby '2.2.2'"
    end
  end
end
i18n_pt_br() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 85
def i18n_pt_br
  file_name = 'config/application.rb'
  gsub_file file_name, '# config.i18n.default_locale = :de', "config.i18n.default_locale = :'pt-BR'"
end
include_gems_directory() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 77
def include_gems_directory
  string_to_append = "\nDir.glob('gemfiles/**/*.rb') { |f| eval_gemfile f }\n"
  regex = /Dir.glob\('gemfiles\/\*\*\/\*.rb'\)/
  directory 'gemfiles/basic/', 'gemfiles/'
  append_file 'Gemfile', string_to_append unless File.read('Gemfile') =~ regex
  Bundler.with_clean_env {run "bundle install --without production"}
end
inject_default_date_formats() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 38
def inject_default_date_formats
  file_name = 'config/application.rb'
  unless File.read(file_name) =~ /Date::DATE_FORMATS/
    inject_into_file file_name, after: "raise_in_transactional_callbacks = true" do
      "\n    Date::DATE_FORMATS[:default] = '%d/%m/%Y'"
    end
  end
  unless File.read(file_name) =~ /Time::DATE_FORMATS/
    inject_into_file file_name, after: "raise_in_transactional_callbacks = true" do
      "\n    Time::DATE_FORMATS[:default] = '%d/%m/%Y %H:%M:%S'"
    end
  end
end
inject_flash_messages() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 128
def inject_flash_messages
  unless File.read('Gemfile') =~ /flash_messages/
    inject_into_file 'app/views/layouts/application.html.erb', after: "<body>" do
      "\n<%= flash_messages :close, :fade %>"
    end
  end
end
ransak_simple_form() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 90
def ransak_simple_form
  file_name = 'config/application.rb'
  unless File.read(file_name) =~ /RANSACK_FORM_BUILDER/
    inject_into_file file_name, before: "require 'rails/all'" do
      "ENV['RANSACK_FORM_BUILDER'] = '::SimpleForm::FormBuilder'\n"
    end
  end
end
replace_deploy_vars() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 20
def replace_deploy_vars
  f = 'bin/_heroku_vars.sh'
  gsub_file f, '_STAGING_APP', "#{application_name.underscore}_staging"
  gsub_file f, '_STAGING_NAME', "'#{application_name.underscore.humanize} Staging'"
  gsub_file f, '_PRODUCTION_APP', application_name.underscore
  gsub_file f, '_PRODUCTION_NAME', "'#{application_name.underscore.humanize}'"
  gsub_file f, '_APP_DOMAIN', "#{application_name.underscore}.com.br"
end
rubocop_config() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 52
def rubocop_config
  file_name = '.rubocop.yml'
  copy_file file_name, file_name
end

Protected Instance Methods

application_name() click to toggle source
# File lib/generators/dfl_rails_config/basic_generator.rb, line 142
def application_name
  Rails.application.class.parent_name
end