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/require_nested.rb,
lib/rails_stuff/random_uniq_attr.rb,
lib/rails_stuff/helpers/bootstrap.rb,
lib/rails_stuff/association_writer.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/test_helpers/concurrency.rb,
lib/rails_stuff/test_helpers/configurator.rb,
lib/rails_stuff/resources_controller/actions.rb,
lib/rails_stuff/resources_controller/responder.rb,
lib/rails_stuff/resources_controller/belongs_to.rb,
lib/rails_stuff/resources_controller/sti_helpers.rb,
lib/rails_stuff/resources_controller/basic_helpers.rb,
lib/rails_stuff/generators/concern/concern_generator.rb,
lib/rails_stuff/resources_controller/resource_helper.rb,
lib/rails_stuff/resources_controller/kaminari_helpers.rb,
lib/rails_stuff/resources_controller/has_scope_helpers.rb
Overview
Useful stuff for Rails.
Defined Under Namespace
Modules: AssociationWriter, Generators, Helpers, NullifyBlankAttrs, ParamsParser, RandomUniqAttr, RedisStorage, RequireNested, ResourcesController, SortScope, Statusable, TestHelpers, TypesTracker, VERSION Classes: Engine
Constant Summary collapse
- MODULES =
rubocop:disable MutableConstant
{ # rubocop:disable MutableConstant require_nested: [:require, -> { RequireNested.setup }], association_writer: :model, nullify_blank_attrs: :model, random_uniq_attr: :model, statusable: :model, resources_controller: [ :controller, -> { ResourcesController.use_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
- .rails4? ⇒ Boolean
- .rails_version ⇒ Object
-
.setup_modules! ⇒ Object
Extends base controller and model classes with modules.
Class Attribute Details
.base_controller ⇒ Object
28 29 30 |
# File 'lib/rails_stuff/engine.rb', line 28 def base_controller @base_controller || ActionController::Base end |
.base_model ⇒ Object
32 33 34 |
# File 'lib/rails_stuff/engine.rb', line 32 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]
24 25 26 |
# File 'lib/rails_stuff/engine.rb', line 24 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 |
.rails4? ⇒ Boolean
27 28 29 |
# File 'lib/rails_stuff.rb', line 27 def rails4? rails_version::MAJOR == 4 end |
.rails_version ⇒ Object
23 24 25 |
# File 'lib/rails_stuff.rb', line 23 def rails_version @rails_version = ActiveSupport::VERSION end |
.setup_modules! ⇒ Object
Extends base controller and model classes with modules. By default uses all modules. Use load_modules= to override this list.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/rails_stuff/engine.rb', line 38 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 |