hflr 1.0.1 → 1.0.2
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.
- data/hflr.gemspec +1 -1
- data/lib/hflr/fl_record_file.rb +2 -8
- data/lib/hflr/record_template.rb +4 -0
- metadata +5 -11
    
        data/hflr.gemspec
    CHANGED
    
    
    
        data/lib/hflr/fl_record_file.rb
    CHANGED
    
    | @@ -1,9 +1,6 @@ | |
| 1 1 | 
             
            #require File.expand_path(File.dirname(__FILE__) + '/record_template')
         | 
| 2 2 |  | 
| 3 3 |  | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 4 | 
             
            class FLRFile  
         | 
| 8 5 |  | 
| 9 6 | 
             
              include Enumerable
         | 
| @@ -15,8 +12,7 @@ class FLRFile | |
| 15 12 | 
             
                # {:type1=>[:var1=>1..5,:var2=>7..8],:type2=>[:var1=>1..1,:var2=>3..4]}
         | 
| 16 13 | 
             
                if record_layouts.values.first.is_a? Hash
         | 
| 17 14 | 
             
                  record_layouts = create_layouts(record_layouts)
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
                
         | 
| 15 | 
            +
                end    
         | 
| 20 16 | 
             
                @line_number = 0
         | 
| 21 17 | 
             
                @file = source    
         | 
| 22 18 | 
             
                @record_type_labels=record_types
         | 
| @@ -45,7 +41,6 @@ end | |
| 45 41 |  | 
| 46 42 | 
             
            def  build_record(line)    
         | 
| 47 43 | 
             
              return nil if line.nil?        
         | 
| 48 | 
            -
             | 
| 49 44 | 
             
              record_type = line_type(line)
         | 
| 50 45 | 
             
              raise "Unknown record type at line #{@line_number.to_s}" if record_type == :unknown
         | 
| 51 46 | 
             
              return @record_template[record_type].build_record(line.chomp)                 
         | 
| @@ -117,8 +112,7 @@ new_layout = {} | |
| 117 112 | 
             
              layout.each_pair do |record_type,vars|
         | 
| 118 113 |  | 
| 119 114 | 
             
                new_layout[record_type] = []
         | 
| 120 | 
            -
                new_vars = vars.each_pair do |var_name, range|
         | 
| 121 | 
            -
                
         | 
| 115 | 
            +
                new_vars = vars.each_pair do |var_name, range|   
         | 
| 122 116 | 
             
                  new_layout[record_type] << var_class.new(var_name.to_s,range.first, range.last - range.first + 1)        
         | 
| 123 117 | 
             
                end
         | 
| 124 118 | 
             
                new_layout[record_type].sort!{|a,b| a.start<=>b.start}
         | 
    
        data/lib/hflr/record_template.rb
    CHANGED
    
    | @@ -121,7 +121,11 @@ def self.create_template_class(record_type, record_type_label, layout, first_col | |
| 121 121 | 
             
               if record.is_a?(Array) or record.is_a?(Struct) then
         | 
| 122 122 | 
             
                 fields = []    
         | 
| 123 123 | 
             
                 @field_widths.each_with_index do |width, i|  
         | 
| 124 | 
            +
                 begin
         | 
| 124 125 | 
             
                fields << right_format(record[i], width)
         | 
| 126 | 
            +
                rescue Exception=>msg
         | 
| 127 | 
            +
                  raise "Output format problem for #{record.members[i].to_s} #{msg.to_s}"
         | 
| 128 | 
            +
                end
         | 
| 125 129 | 
             
               end
         | 
| 126 130 | 
             
              return fields
         | 
| 127 131 | 
             
             else
         | 
    
        metadata
    CHANGED
    
    | @@ -1,12 +1,8 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: hflr
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              prerelease:  | 
| 5 | 
            -
               | 
| 6 | 
            -
                - 1
         | 
| 7 | 
            -
                - 0
         | 
| 8 | 
            -
                - 1
         | 
| 9 | 
            -
              version: 1.0.1
         | 
| 4 | 
            +
              prerelease: 
         | 
| 5 | 
            +
              version: 1.0.2
         | 
| 10 6 | 
             
            platform: ruby
         | 
| 11 7 | 
             
            authors: 
         | 
| 12 8 | 
             
              - Colin Davis
         | 
| @@ -64,23 +60,21 @@ rdoc_options: [] | |
| 64 60 | 
             
            require_paths: 
         | 
| 65 61 | 
             
              - lib
         | 
| 66 62 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 63 | 
            +
              none: false
         | 
| 67 64 | 
             
              requirements: 
         | 
| 68 65 | 
             
                - - ">="
         | 
| 69 66 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 70 | 
            -
                    segments: 
         | 
| 71 | 
            -
                      - 0
         | 
| 72 67 | 
             
                    version: "0"
         | 
| 73 68 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 69 | 
            +
              none: false
         | 
| 74 70 | 
             
              requirements: 
         | 
| 75 71 | 
             
                - - ">="
         | 
| 76 72 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 77 | 
            -
                    segments: 
         | 
| 78 | 
            -
                      - 0
         | 
| 79 73 | 
             
                    version: "0"
         | 
| 80 74 | 
             
            requirements: []
         | 
| 81 75 |  | 
| 82 76 | 
             
            rubyforge_project: 
         | 
| 83 | 
            -
            rubygems_version: 1. | 
| 77 | 
            +
            rubygems_version: 1.5.1
         | 
| 84 78 | 
             
            signing_key: 
         | 
| 85 79 | 
             
            specification_version: 3
         | 
| 86 80 | 
             
            summary: HFLR -- Hierarchical Fixed Length Records  Allows you to read and write files of fixed width records when the file contains one or more than one type of record
         |