hflr 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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