Sha256: a567c5712872dc651c143bfdc98572d9e2c31886297a8a2e443f8ffaedbf5d61

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

%w[h2ocube_rails_assets h2ocube_rails_cache h2ocube_rails_helper].each { |gem| require gem }

%w[].each { |gem| require gem } if Rails.env.development? || Rails.env.test?

%w(annotate).each { |gem| require gem } if Rails.env.development?

module H2ocubeRailsDevelopment
  class Railtie < Rails::Railtie
    railtie_name :h2ocube_rails_development

    rake_tasks do
      require 'rails_stats'
      desc 'annotate all your models, tests, fixtures, factories and routes'
      task :annotate do
        system 'bundle exec annotate -i'
      end

      desc 'remove all annotated comments'
      task 'annotate:remove' do
        system 'bundle exec annotate -d;bundle exec annotate -r -d'
      end

      desc 'run rubocop'
      task :rubocop do
        system 'bundle exec rubocop -R'
      end

      desc 'run spec and rubocop'
      task test: %i(spec rubocop)

      desc 'Sort config/locales/*.yml by key'
      task :sort do
        def deeply_sort_hash(object)
          return object unless object.is_a?(Hash)
          hash = {}
          object.each { |k, v| hash[k] = deeply_sort_hash(v) }
          sorted = hash.sort { |a, b| a[0].to_s <=> b[0].to_s }
          hash.class[sorted]
        end

        Dir[Rails.root.join('config/locales/*.yml')].each do |f|
          STDOUT.print(f)
          hash = deeply_sort_hash(YAML.load(File.read(f)))
          File.open(f, 'w') { |file| file.write hash.to_yaml }
          STDOUT.print("...done!\n")
        end
      end
    end
  end
end if Rails.env.development? || Rails.env.test?

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
h2ocube_rails_development-0.6.1 lib/h2ocube_rails_development.rb
h2ocube_rails_development-0.6.0 lib/h2ocube_rails_development.rb