Class: Foobara::CommandConnectors::Http::MoveAttributeToHeader
- Inherits:
-
ResponseMutator
- Object
- Value::Processor
- Value::Mutator
- ResponseMutator
- Foobara::CommandConnectors::Http::MoveAttributeToHeader
- Defined in:
- foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb
Class Attribute Summary collapse
-
.attribute_name ⇒ Object
Returns the value of attribute attribute_name.
-
.header_name ⇒ Object
Returns the value of attribute header_name.
Instance Attribute Summary collapse
Attributes inherited from Value::Processor
#created_in_namespace, #declaration_data, #parent_declaration_data
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from ResponseMutator
Methods inherited from Value::Mutator
error_classes, foobara_manifest, #process_value
Methods inherited from Value::Processor
#always_applicable?, #build_error, default_declaration_data, #dup_processor, error_class, error_classes, #error_context, #error_message, #error_path, foobara_manifest, #foobara_manifest, #initialize, #inspect, instance, #method_missing, #name, new_with_agnostic_args, #possible_errors, #priority, #process_outcome, #process_outcome!, #process_value, #process_value!, processor_name, requires_declaration_data?, requires_parent_declaration_data?, #respond_to_missing?, #runner, symbol
Methods included from IsManifestable
#foobara_domain, #foobara_manifest, #foobara_organization, #scoped_clear_caches
Methods included from Foobara::Concern
foobara_class_methods_module_for, foobara_concern?, included
Constructor Details
This class inherits a constructor from Foobara::Value::Processor
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::Value::Processor
Class Attribute Details
.attribute_name ⇒ Object
Returns the value of attribute attribute_name.
6 7 8 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 6 def attribute_name @attribute_name end |
.header_name ⇒ Object
Returns the value of attribute header_name.
6 7 8 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 6 def header_name @header_name end |
Instance Attribute Details
#attribute_name ⇒ Object
34 35 36 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 34 def attribute_name @attribute_name ||= self.class.attribute_name end |
#header_name ⇒ Object
38 39 40 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 38 def header_name @header_name ||= self.class.header_name end |
Class Method Details
.for(attribute_name, header_name = attribute_name) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 8 def for(attribute_name, header_name = attribute_name) subclass = Class.new(self) subclass.attribute_name = attribute_name subclass.header_name = header_name subclass end |
Instance Method Details
#applicable?(response) ⇒ Boolean
25 26 27 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 25 def applicable?(response) response.command.success? end |
#mutate(response) ⇒ Object
29 30 31 32 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 29 def mutate(response) header_value = response.body.delete(attribute_name) response.add_header(header_name, header_value) end |
#result_type_from(result_type) ⇒ Object
20 21 22 23 |
# File 'foobara-http-command-connector-0.0.23/src/http/response_mutators/move_attribute_to_header.rb', line 20 def result_type_from(result_type) new_declaration = TypeDeclarations::Attributes.reject(result_type.declaration_data, attribute_name) Domain.current.(new_declaration) end |