arc-furnace 0.1.7 → 0.1.8
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/lib/arc-furnace/csv_source.rb +2 -2
- data/lib/arc-furnace/multi_csv_source.rb +2 -2
- data/lib/arc-furnace/pipeline.rb +12 -1
- data/lib/arc-furnace/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 16e3d18410f3a87ee22a40c1f58d5d3ae1b6fd7a
         | 
| 4 | 
            +
              data.tar.gz: c910de2e2455ebe7bc5a50a1ab5c03bb197d7a13
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 78c1d5a8af9e8f3d24b10fbb38b86cb253945f7feacb1dd1edf1b7f8b54575d313b6a674a45c28a2c25b1848ef265d6a244909b9c052e4a2c62001836e1feb73
         | 
| 7 | 
            +
              data.tar.gz: 2a9fa8297a8eb2754c9dfa717740a373a06f3ae9fb267077e85974ecc341f574dcc1138b9566362edab0ebcd329c14803eae9865b4f2ce98d01fa47520cf3d06
         | 
| @@ -5,8 +5,8 @@ require 'csv' | |
| 5 5 | 
             
            module ArcFurnace
         | 
| 6 6 | 
             
              class CSVSource < Source
         | 
| 7 7 | 
             
                include CSVToHashWithDuplicateHeaders
         | 
| 8 | 
            -
                private_attr_reader :csv | 
| 9 | 
            -
                attr_reader :value
         | 
| 8 | 
            +
                private_attr_reader :csv
         | 
| 9 | 
            +
                attr_reader :value, :file
         | 
| 10 10 |  | 
| 11 11 | 
             
                def initialize(filename: , encoding: 'UTF-8')
         | 
| 12 12 | 
             
                  @file = File.open(filename, encoding: encoding)
         | 
| @@ -5,8 +5,8 @@ require 'csv' | |
| 5 5 | 
             
            module ArcFurnace
         | 
| 6 6 | 
             
              class MultiCSVSource < Source
         | 
| 7 7 | 
             
                include CSVToHashWithDuplicateHeaders
         | 
| 8 | 
            -
                private_attr_reader :csv, : | 
| 9 | 
            -
                attr_reader :value
         | 
| 8 | 
            +
                private_attr_reader :csv, :filenames, :encoding
         | 
| 9 | 
            +
                attr_reader :value, :file
         | 
| 10 10 |  | 
| 11 11 | 
             
                def initialize(filenames: , encoding: 'UTF-8')
         | 
| 12 12 | 
             
                  @encoding = encoding
         | 
    
        data/lib/arc-furnace/pipeline.rb
    CHANGED
    
    | @@ -153,7 +153,7 @@ module ArcFurnace | |
| 153 153 | 
             
                    dsl_class.intermediates_map.each do |key, instance|
         | 
| 154 154 | 
             
                      intermediates_map[key] = instance_exec(&instance) if instance
         | 
| 155 155 | 
             
                    end
         | 
| 156 | 
            -
                    @sink_node =  | 
| 156 | 
            +
                    @sink_node = exec_with_error_handling(&dsl_class.sink_node)
         | 
| 157 157 | 
             
                    @sink_source = intermediates_map[dsl_class.sink_source]
         | 
| 158 158 | 
             
                  end
         | 
| 159 159 |  | 
| @@ -175,6 +175,17 @@ module ArcFurnace | |
| 175 175 | 
             
                    self.params[key] || self.intermediates_map[key] || (raise "When processing node #{node_id}: Unknown key #{key}!")
         | 
| 176 176 | 
             
                  end
         | 
| 177 177 |  | 
| 178 | 
            +
                  def exec_with_error_handling(&block)
         | 
| 179 | 
            +
                    instance_exec(&block) if block_given?
         | 
| 180 | 
            +
                  rescue CSV::MalformedCSVError
         | 
| 181 | 
            +
                    params = sink_source.params
         | 
| 182 | 
            +
                    raise "File #{find_root_source(params).file.path} cannot be processed."
         | 
| 183 | 
            +
                  end
         | 
| 184 | 
            +
             | 
| 185 | 
            +
                  def find_root_source(params)
         | 
| 186 | 
            +
                    source = params[:source]
         | 
| 187 | 
            +
                    source = params[:source] while source.params[:source]
         | 
| 188 | 
            +
                  end
         | 
| 178 189 | 
             
                end
         | 
| 179 190 | 
             
              end
         | 
| 180 191 | 
             
            end
         | 
    
        data/lib/arc-furnace/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: arc-furnace
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Daniel Spangenberger
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: exe
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015- | 
| 12 | 
            +
            date: 2015-12-14 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: msgpack
         |