strum 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile.lock +1 -1
 - data/lib/strum/json_deserializer.rb +0 -1
 - data/lib/strum/json_serializer.rb +0 -4
 - data/lib/strum/pipe.rb +1 -1
 - data/lib/strum/service.rb +4 -26
 - data/lib/strum/version.rb +1 -1
 - metadata +1 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a5dfbf880afd7cf30f4393f901b47364fb688467a9fd21c8b3744b5451800e29
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 71dc7ff36d7ecad701920ee854a393890803e865874843beac2ccd43a4821e8c
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: '0569bd230d3d2ee69f0f1bd633f9de209c088578cf22b856e286ef392f1065925b166edf9c50dfd745b36df6dee31eec768f84d910bc5394f5169c217167edab'
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 28558bf8c44c074798656683d47a31400ad1bc5eed53efc1d8da38d635288834289a27f0d513b61cbe44d27477fb3f1a82991a6d0f536202e5dff0cbb40e5b20
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/lib/strum/pipe.rb
    CHANGED
    
    | 
         @@ -23,7 +23,7 @@ module Strum 
     | 
|
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                    service_options = service_params[:input] || {}
         
     | 
| 
       25 
25 
     | 
    
         
             
                    clean_output = service_params[:clean_output] || false
         
     | 
| 
       26 
     | 
    
         
            -
                    unit_payload = if !clean_output && service_options.is_a?(Hash) && pipe_unit_inputs.is_a?(Hash) &&  
     | 
| 
      
 26 
     | 
    
         
            +
                    unit_payload = if !clean_output && service_options.is_a?(Hash) && pipe_unit_inputs.is_a?(Hash) && output_value.is_a?(Hash)
         
     | 
| 
       27 
27 
     | 
    
         
             
                                     pipe_unit_inputs.merge(service_options).merge(output_value)
         
     | 
| 
       28 
28 
     | 
    
         
             
                                   else
         
     | 
| 
       29 
29 
     | 
    
         
             
                                     output_value
         
     | 
    
        data/lib/strum/service.rb
    CHANGED
    
    | 
         @@ -39,7 +39,6 @@ module Strum 
     | 
|
| 
       39 
39 
     | 
    
         
             
                def initialize(payload)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  self.strum_errors = {}
         
     | 
| 
       41 
41 
     | 
    
         
             
                  self.outputs = {}
         
     | 
| 
       42 
     | 
    
         
            -
                  # self.clear_output = false
         
     | 
| 
       43 
42 
     | 
    
         
             
                  self.payload = payload
         
     | 
| 
       44 
43 
     | 
    
         
             
                  self.payload.freeze
         
     | 
| 
       45 
44 
     | 
    
         
             
                  self.input = self.payload.dup
         
     | 
| 
         @@ -59,13 +58,9 @@ module Strum 
     | 
|
| 
       59 
58 
     | 
    
         
             
                  strum_errors
         
     | 
| 
       60 
59 
     | 
    
         
             
                end
         
     | 
| 
       61 
60 
     | 
    
         | 
| 
       62 
     | 
    
         
            -
                # def output_clear?
         
     | 
| 
       63 
     | 
    
         
            -
                #   clear_output
         
     | 
| 
       64 
     | 
    
         
            -
                # end
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
61 
     | 
    
         
             
                protected
         
     | 
| 
       67 
62 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
                  attr_accessor :payload, :input, :strum_errors, :outputs 
     | 
| 
      
 63 
     | 
    
         
            +
                  attr_accessor :payload, :input, :strum_errors, :outputs
         
     | 
| 
       69 
64 
     | 
    
         | 
| 
       70 
65 
     | 
    
         
             
                  def call
         
     | 
| 
       71 
66 
     | 
    
         
             
                    raise Failure, "call method must be implemented"
         
     | 
| 
         @@ -117,10 +112,6 @@ module Strum 
     | 
|
| 
       117 
112 
     | 
    
         
             
                    self.input = [*input]
         
     | 
| 
       118 
113 
     | 
    
         
             
                  end
         
     | 
| 
       119 
114 
     | 
    
         | 
| 
       120 
     | 
    
         
            -
                  # def clear_output!
         
     | 
| 
       121 
     | 
    
         
            -
                  #   self.clear_output = true
         
     | 
| 
       122 
     | 
    
         
            -
                  # end
         
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
       124 
115 
     | 
    
         
             
                private
         
     | 
| 
       125 
116 
     | 
    
         | 
| 
       126 
117 
     | 
    
         
             
                  def key_to_sym(key)
         
     | 
| 
         @@ -130,25 +121,12 @@ module Strum 
     | 
|
| 
       130 
121 
     | 
    
         
             
                  end
         
     | 
| 
       131 
122 
     | 
    
         | 
| 
       132 
123 
     | 
    
         
             
                  def valid_result(&block)
         
     | 
| 
       133 
     | 
    
         
            -
                     
     | 
| 
       134 
     | 
    
         
            -
                     
     | 
| 
       135 
     | 
    
         
            -
                    return result_outputs[:default] || result_outputs unless block_given?
         
     | 
| 
       136 
     | 
    
         
            -
                    return StrumMatcher.call([true, result_outputs[:default]], &block) if result_outputs[:default]
         
     | 
| 
      
 124 
     | 
    
         
            +
                    return outputs[:default] || outputs unless block_given?
         
     | 
| 
      
 125 
     | 
    
         
            +
                    return StrumMatcher.call([true, outputs[:default]], &block) if outputs[:default]
         
     | 
| 
       137 
126 
     | 
    
         | 
| 
       138 
     | 
    
         
            -
                    StrumMatcher.call([true, * 
     | 
| 
      
 127 
     | 
    
         
            +
                    StrumMatcher.call([true, *outputs.keys, outputs], &block)
         
     | 
| 
       139 
128 
     | 
    
         
             
                  end
         
     | 
| 
       140 
129 
     | 
    
         | 
| 
       141 
     | 
    
         
            -
                  # def rich_outputs
         
     | 
| 
       142 
     | 
    
         
            -
                  #   return outputs if output_clear?
         
     | 
| 
       143 
     | 
    
         
            -
                  #   return outputs if payload.nil?
         
     | 
| 
       144 
     | 
    
         
            -
                  #   return outputs unless payload.is_a?(Hash)
         
     | 
| 
       145 
     | 
    
         
            -
                  #   return payload unless outputs.count.positive?
         
     | 
| 
       146 
     | 
    
         
            -
                  #
         
     | 
| 
       147 
     | 
    
         
            -
                  #   outputs.each_with_object({}) do |(k, v), memo|
         
     | 
| 
       148 
     | 
    
         
            -
                  #     memo[k] = v.is_a?(Hash) ? payload.merge(v) : v
         
     | 
| 
       149 
     | 
    
         
            -
                  #   end
         
     | 
| 
       150 
     | 
    
         
            -
                  # end
         
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
       152 
130 
     | 
    
         
             
                  def invalid_result(&block)
         
     | 
| 
       153 
131 
     | 
    
         
             
                    return nil unless block_given?
         
     | 
| 
       154 
132 
     | 
    
         | 
    
        data/lib/strum/version.rb
    CHANGED