module Utilities
Public Instance Methods
build_handler(name, options, type:)
click to toggle source
# File lib/strong_arms/utilities.rb, line 2 def build_handler(name, options, type:) { name: name, options: options, type: type, } end
expose_data_key_if_present(args)
click to toggle source
# File lib/strong_arms/utilities.rb, line 10 def expose_data_key_if_present(args) if args[:data].present? args[:data] else args end end
find_strong_arm(attributes_key, options)
click to toggle source
# File lib/strong_arms/utilities.rb, line 29 def find_strong_arm(attributes_key, options) model_alias = options[:model] model_name = model_name_from_attributes_key(attributes_key, model_alias: model_alias) strong_arm = "#{model_name}StrongArm" strong_arm.constantize end
handlers_values()
click to toggle source
# File lib/strong_arms/utilities.rb, line 37 def handlers_values handlers.values end
value_is_absent?(value, allow_nil: false)
click to toggle source
# File lib/strong_arms/utilities.rb, line 18 def value_is_absent?(value, allow_nil: false) return false if allow_nil return true if value.nil? if value.is_a? Hash value.blank? else [value].flatten.blank? end end
Private Instance Methods
accessible_hash(args)
click to toggle source
# File lib/strong_arms/utilities.rb, line 68 def accessible_hash(args) args.to_unsafe_h.with_indifferent_access end
action_controller_args?(args)
click to toggle source
# File lib/strong_arms/utilities.rb, line 72 def action_controller_args?(args) args.class.name == 'ActionController::Parameters' end
handlers_keys()
click to toggle source
# File lib/strong_arms/utilities.rb, line 59 def handlers_keys handlers.keys.flatten.uniq end
length_is_equal_to?(array, value)
click to toggle source
# File lib/strong_arms/utilities.rb, line 80 def length_is_equal_to?(array, value) array.length == value end
length_is_greater_than?(array, value)
click to toggle source
# File lib/strong_arms/utilities.rb, line 76 def length_is_greater_than?(array, value) array.length > value end
model_name_from_attributes_key(name, model_alias: nil)
click to toggle source
# File lib/strong_arms/utilities.rb, line 43 def model_name_from_attributes_key(name, model_alias: nil) if model_alias model_alias.to_s.camelize else name.to_s. gsub('s_attributes', ''). gsub('_attributes', ''). camelize end end
symbolized_keys_array(args)
click to toggle source
# File lib/strong_arms/utilities.rb, line 64 def symbolized_keys_array(args) args.keys.map(&:to_sym) end
to_class_name(object)
click to toggle source
# File lib/strong_arms/utilities.rb, line 84 def to_class_name(object) to_name(object.class) end
to_name(klass)
click to toggle source
# File lib/strong_arms/utilities.rb, line 88 def to_name(klass) klass.name end
unhandled_keys(args)
click to toggle source
# File lib/strong_arms/utilities.rb, line 54 def unhandled_keys(args) keys = symbolized_keys_array(args) keys - handlers_keys - keys_to_ignore end