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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{hflr}
5
- s.version = "1.0.1"
5
+ s.version = "1.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Colin Davis"]
@@ -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}
@@ -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: false
5
- segments:
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.3.6
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