Module: RailsStuff
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/rails_stuff.rb,
lib/rails_stuff/engine.rb,
lib/rails_stuff/helpers.rb,
lib/rails_stuff/version.rb,
lib/rails_stuff/sort_scope.rb,
lib/rails_stuff/statusable.rb,
lib/rails_stuff/helpers/all.rb,
lib/rails_stuff/helpers/text.rb,
lib/rails_stuff/helpers/forms.rb,
lib/rails_stuff/helpers/links.rb,
lib/rails_stuff/params_parser.rb,
lib/rails_stuff/redis_storage.rb,
lib/rails_stuff/types_tracker.rb,
lib/rails_stuff/random_uniq_attr.rb,
lib/rails_stuff/helpers/bootstrap.rb,
lib/rails_stuff/helpers/translation.rb,
lib/rails_stuff/nullify_blank_attrs.rb,
lib/rails_stuff/resources_controller.rb,
lib/rails_stuff/helpers/resource_form.rb,
lib/rails_stuff/test_helpers/response.rb,
lib/rails_stuff/resources_controller/actions.rb,
lib/rails_stuff/resources_controller/responder.rb,
lib/rails_stuff/resources_controller/sti_helpers.rb,
lib/rails_stuff/resources_controller/basic_helpers.rb,
lib/rails_stuff/resources_controller/resource_helper.rb
Overview
Useful stuff for Rails.
Defined Under Namespace
Modules: Helpers, NullifyBlankAttrs, ParamsParser, RandomUniqAttr, RedisStorage, ResourcesController, SortScope, Statusable, TestHelpers, TypesTracker, VERSION Classes: Engine
Constant Summary collapse
- MODULES =
{ nullify_blank_attrs: :model, random_uniq_attr: :model, statusable: :model, resources_controller: [ :controller, -> { ResourcesController.kaminari! if defined?(::Kaminari) }, ], sort_scope: -> { defined?(::HasScope) && :controller }, strong_parameters: -> { defined?(ActionController::Parameters) && :require }, url_for_keeping_params: -> { defined?(ActionDispatch::Routing) && :require }, }
Class Attribute Summary collapse
- .base_controller ⇒ Object
- .base_model ⇒ Object
-
.load_modules ⇒ Object
Set it to array of modules to load.
Class Method Summary collapse
- .gem_version ⇒ Object
-
.setup_modules! ⇒ Object
Extends base controller and model classes with modules.
Class Attribute Details
.base_controller ⇒ Object
26 27 28 |
# File 'lib/rails_stuff/engine.rb', line 26 def base_controller @base_controller || ActionController::Base end |
.base_model ⇒ Object
30 31 32 |
# File 'lib/rails_stuff/engine.rb', line 30 def base_model @base_model || ActiveRecord::Base end |
.load_modules ⇒ Object
Set it to array of modules to load.
# config/initializers/rails_stuff.rb
RailsStuff.load_modules = [:statusable, :sort_scope]
22 23 24 |
# File 'lib/rails_stuff/engine.rb', line 22 def load_modules @load_modules end |
Class Method Details
.gem_version ⇒ Object
2 3 4 |
# File 'lib/rails_stuff/version.rb', line 2 def self.gem_version Gem::Version.new VERSION::STRING end |
.setup_modules! ⇒ Object
Extends base controller and model classes with modules. By default uses all modules. Use load_modules= to override this list.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rails_stuff/engine.rb', line 36 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 |