Class: Foobara::CommandConnectors::Http::MoveAttributeToHeader
- Inherits:
 - 
      ResponseMutator
      
        
- Object
 - Value::Processor
 - Value::Mutator
 - ResponseMutator
 - Foobara::CommandConnectors::Http::MoveAttributeToHeader
 
 
- Defined in:
 - foobara-http-command-connector-1.1.1/src/http/response_mutators/move_attribute_to_header.rb
 
Direct Known Subclasses
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-1.1.1/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-1.1.1/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-1.1.1/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-1.1.1/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-1.1.1/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-1.1.1/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-1.1.1/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-1.1.1/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  |