Sha256: fa454a1b0347cfea596ba17271a69efd787f884ec90d0f04f13baf4dcdbd16a9

Contents?: true

Size: 474 Bytes

Versions: 13

Compression:

Stored size: 474 Bytes

Contents

ActionController::Base.class_eval do
  class_attribute :default_param
  self.default_param = {}
  
  class << self
    def default_param(*args, &block)
      before_action(args.extract_options!) do |controller|
        controller.default_param(*args, &block)
      end
    end
  end

  def default_param(*keys, &value)
    key = keys.pop
    value = instance_eval(&value)
    target = keys.inject(params) { |target, k| target[k] ||= {} }
    target[key] ||= value
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
adva-0.3.2 lib/rails_ext/action_controller/default_params.rb
adva-0.3.1 lib/rails_ext/action_controller/default_params.rb
adva-0.3.0 lib/rails_ext/action_controller/default_params.rb
adva-0.2.4 lib/rails_ext/action_controller/default_params.rb
adva-0.2.3 lib/rails_ext/action_controller/default_params.rb
adva-0.2.2 lib/rails_ext/action_controller/default_params.rb
adva-0.2.1 lib/rails_ext/action_controller/default_params.rb
adva-0.2.0 lib/rails_ext/action_controller/default_params.rb
adva-0.1.4 lib/rails_ext/action_controller/default_params.rb
adva-0.1.3 lib/rails_ext/action_controller/default_params.rb
adva-0.1.2 lib/rails_ext/action_controller/default_params.rb
adva-0.1.1 lib/rails_ext/action_controller/default_params.rb
adva-0.1.0 lib/rails_ext/action_controller/default_params.rb