class RenameParams::Params
Attributes
params[R]
Public Class Methods
new(params = {}, controller = nil)
click to toggle source
# File lib/rename_params/params.rb, line 7 def initialize(params = {}, controller = nil) @params = params @controller = controller end
Public Instance Methods
convert(key, converter, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 12 def convert(key, converter, namespace = []) converter = converter_class(converter) if converter && has_key?(key, namespace) new_value = converter.convert(get(key, namespace)) set(key, new_value, namespace) end end
move(key, target = [], namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 25 def move(key, target = [], namespace = []) set(key, delete(key, namespace), target) if has_key?(key, namespace) end
rename(key, new_key, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 21 def rename(key, new_key, namespace = []) set(new_key, delete(key, namespace), namespace) if has_key?(key, namespace) end
Private Instance Methods
converter_class(converter)
click to toggle source
# File lib/rename_params/params.rb, line 63 def converter_class(converter) if converter.is_a?(Hash) RenameParams::Converters::HashConverter.new(converter) elsif converter.is_a?(Proc) RenameParams::Converters::ProcConverter.new(converter) elsif converter.is_a?(Symbol) RenameParams::Converters::MethodConverter.new(converter, @controller) end end
create_namespace(namespace)
click to toggle source
# File lib/rename_params/params.rb, line 55 def create_namespace(namespace) params = @params namespace.each do |ns| params[ns] ||= {} params = params[ns] end end
delete(key, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 45 def delete(key, namespace = []) namespaced(namespace).delete(key) end
get(key, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 36 def get(key, namespace = []) namespaced(namespace)[key] end
has_key?(key, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 40 def has_key?(key, namespace = []) namespaced = namespaced(namespace) namespaced.present? && namespaced.has_key?(key) end
namespaced(namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 49 def namespaced(namespace = []) params = @params namespace.each { |ns| params = params.present? ? params[ns] : nil } params end
set(key, value, namespace = [])
click to toggle source
# File lib/rename_params/params.rb, line 31 def set(key, value, namespace = []) create_namespace(namespace) namespaced(namespace)[key] = value end