module RailsStuff

Useful stuff for Rails.

Constants

MODULES

Attributes

base_controller[W]

Override default base classes for models & controllers.

base_model[W]

Override default base classes for models & controllers.

load_modules[RW]

Set it to array of modules to load.

# config/initializers/rails_stuff.rb
RailsStuff.load_modules = [:statusable, :sort_scope]

Public Class Methods

base_controller() click to toggle source
# File lib/rails_stuff/engine.rb, line 29
def base_controller
  @base_controller || ActionController::Base
end
base_model() click to toggle source
# File lib/rails_stuff/engine.rb, line 33
def base_model
  @base_model || ActiveRecord::Base
end
gem_version() click to toggle source
# File lib/rails_stuff/version.rb, line 2
def self.gem_version
  Gem::Version.new VERSION::STRING
end
setup_modules!() click to toggle source

Extends base controller and model classes with modules. By default uses all modules. Use load_modules= to override this list.

# File lib/rails_stuff/engine.rb, line 39
def setup_modules!
  modules_to_load = load_modules || MODULES.keys
  MODULES.slice(*modules_to_load).each do |m, (type, init)|
    case type.respond_to?(:call) ? type.call : type
    when :controller
      RailsStuff.base_controller.extend const_get(m.to_s.camelize)
    when :model
      RailsStuff.base_model.extend const_get(m.to_s.camelize)
    when :require
      require "rails_stuff/#{m}"
    end
    init.try!(:call)
  end
end

Public Instance Methods

deprecation_07() click to toggle source
# File lib/rails_stuff.rb, line 35
def deprecation_07
  @deprecation ||= begin
    require 'active_support/deprecation'
    ActiveSupport::Deprecation.new('0.7', 'RailsStuff')
  end
end
rails4?() click to toggle source
# File lib/rails_stuff.rb, line 31
def rails4?
  rails_version::MAJOR == 4
end
rails_version() click to toggle source
# File lib/rails_stuff.rb, line 27
def rails_version
  @rails_version = ActiveSupport::VERSION
end