Class: Handlers::Attributes
Instance Method Summary collapse
-
#affect_prepared_values! ⇒ Object
DSL method : prepare.
-
#affect_relation_values! ⇒ Object
DSL method : relation.
- #handle ⇒ Object
-
#merge_overrided_params! ⇒ Object
DSL method : ensure_value.
- #merge_with_resource_attributes! ⇒ Object
-
#slice_unauthorized_attributes! ⇒ Object
DSL method : attributes.
-
#start_with_default_params! ⇒ Object
DSL method : set_default.
Methods inherited from Base
handle, #initialize, #raise_error, #upper
Constructor Details
This class inherits a constructor from Handlers::Base
Instance Method Details
#affect_prepared_values! ⇒ Object
DSL method : prepare
24 25 26 27 28 |
# File 'lib/handlers/attributes.rb', line 24 def affect_prepared_values! (upper(:@@preparers) || []).each do |preparer| @params[preparer[:key]] = @params[preparer[:key]].try(preparer[:method_to_call]) end end |
#affect_relation_values! ⇒ Object
DSL method : relation
42 43 44 |
# File 'lib/handlers/attributes.rb', line 42 def affect_relation_values! Relations.new(@klass).affect_relation_values! end |
#handle ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/handlers/attributes.rb', line 8 def handle start_with_default_params! affect_prepared_values! merge_with_resource_attributes! affect_relation_values! merge_overrided_params! end |
#merge_overrided_params! ⇒ Object
DSL method : ensure_value
36 37 38 39 |
# File 'lib/handlers/attributes.rb', line 36 def merge_overrided_params! overrided_params = upper(:@@overrided_params) || {} @params.merge!(overrided_params) end |
#merge_with_resource_attributes! ⇒ Object
30 31 32 33 |
# File 'lib/handlers/attributes.rb', line 30 def merge_with_resource_attributes! return unless @resource.respond_to?(:attributes) @params.reverse_merge!(@resource.attributes.symbolize_keys) end |
#slice_unauthorized_attributes! ⇒ Object
DSL method : attributes
47 48 49 50 |
# File 'lib/handlers/attributes.rb', line 47 def = upper(:@@attributes) || {} @params.slice!(*) end |
#start_with_default_params! ⇒ Object
DSL method : set_default
18 19 20 21 |
# File 'lib/handlers/attributes.rb', line 18 def start_with_default_params! default_params = upper(:@@default_params) || {} @params.reverse_merge!(default_params) end |