fn_document 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG ADDED
@@ -0,0 +1,39 @@
1
+ 0.1.0 - January 25, 2009
2
+ -- Initial release, with migrations, validations and writers for the documents.
3
+ 0.1.1 - January 25, 2009
4
+ -- Fixed rounding error in color handling, that resulted in all text being black.
5
+ 0.2.0 - January 28, 2009
6
+ -- Added Document.to_XXX API
7
+ -- Cleaned up XXX::Writer
8
+ 0.3.0 - January 28, 2009
9
+ -- Added missing resource exceptions
10
+ -- rake publish
11
+ 0.3.1 - January 28, 2009
12
+ -- rake publish moves back to original branch after completion
13
+ 0.3.2 - January 28, 2009
14
+ -- fix resource symbol key bug
15
+ -- fix absolute path misreference
16
+ 0.4.0 - February 4, 2009
17
+ -- misc bug fixes
18
+ -- font variations generated individually
19
+ 0.5.0 - February 5, 2009
20
+ -- watermarks
21
+ 0.5.1 - February 11, 2009
22
+ -- tons of misc. bug fixes
23
+ 0.6.0 - February 17, 2009
24
+ -- tons of misc. bug fixes
25
+ -- redo PDF image position algorithm
26
+ 0.6.1 - February 19, 2009
27
+ -- migration change
28
+ 0.6.2 - February 19, 2009
29
+ -- empty field fix
30
+ 0.6.3 - March 2, 2009
31
+ -- fix PDFlib empty buffer bug
32
+ 0.7.2 - May 12 2009
33
+ -- added menu item removal
34
+ 0.8.0 - May 12 2009
35
+ -- support for manual resource tagging
36
+ 0.9.2 - August 5, 2009
37
+ -- Changed libxml-ruby dependency to 0.9.8.
38
+ 0.9.3 - July 14, 2011
39
+ -- Trying to make this thing back into a functional gem for easier installation.
data/Gemfile CHANGED
@@ -2,6 +2,9 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
+ gem "libxslt-ruby", "= 0.9.2"
6
+ gem "libxml-ruby", "= 1.1.3"
7
+ gem "mocha"
5
8
 
6
9
  # Add dependencies to develop your gem here.
7
10
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -6,6 +6,10 @@ GEM
6
6
  bundler (~> 1.0)
7
7
  git (>= 1.2.5)
8
8
  rake
9
+ libxml-ruby (1.1.3)
10
+ libxslt-ruby (0.9.2)
11
+ libxml-ruby (>= 0.9.4)
12
+ mocha (0.9.12)
9
13
  rake (0.9.2)
10
14
  rcov (0.9.9)
11
15
  shoulda (2.11.3)
@@ -16,5 +20,8 @@ PLATFORMS
16
20
  DEPENDENCIES
17
21
  bundler (~> 1.0.0)
18
22
  jeweler (~> 1.6.4)
23
+ libxml-ruby (= 1.1.3)
24
+ libxslt-ruby (= 0.9.2)
25
+ mocha
19
26
  rcov
20
27
  shoulda
data/README.rdoc CHANGED
@@ -12,6 +12,12 @@ Description goes here.
12
12
  * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
13
  * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
14
 
15
+ == ToDo
16
+
17
+ * flip pdf text
18
+ * slice
19
+ * multipage
20
+
15
21
  == Copyright
16
22
 
17
23
  Copyright (c) 2011 Nathan Colgate Clark. See LICENSE.txt for
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
17
17
  gem.name = "fn_document"
18
18
  gem.homepage = "http://github.com/nathancolgate/fn_document"
19
19
  gem.license = "MIT"
20
- gem.summary = "Gem for handling documents within FASI AMS"
21
- gem.description = "Gem for handling documents within FASI AMS"
20
+ gem.summary = "Gem for reading/writing/printing fn documents"
21
+ gem.description = "This handles complex document creation from XML for the FASI AMS system."
22
22
  gem.email = "nathancolgate@gmail.com"
23
23
  gem.authors = ["Nathan Colgate Clark","Kyle Maxwell"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.2
1
+ 0.9.3
data/fn_document.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{fn_document}
8
- s.version = "0.9.2"
8
+ s.version = "0.9.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nathan Colgate Clark", "Kyle Maxwell"]
12
12
  s.date = %q{2011-07-14}
13
- s.description = %q{Gem for handling documents within FASI AMS}
13
+ s.description = %q{This handles complex document creation from XML for the FASI AMS system.}
14
14
  s.email = %q{nathancolgate@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ "CHANGELOG",
21
22
  "Gemfile",
22
23
  "Gemfile.lock",
23
24
  "LICENSE.txt",
@@ -68,24 +69,34 @@ Gem::Specification.new do |s|
68
69
  s.homepage = %q{http://github.com/nathancolgate/fn_document}
69
70
  s.licenses = ["MIT"]
70
71
  s.require_paths = ["lib"]
71
- s.rubygems_version = %q{1.6.2}
72
- s.summary = %q{Gem for handling documents within FASI AMS}
72
+ s.rubygems_version = %q{1.3.7}
73
+ s.summary = %q{Gem for reading/writing/printing fn documents}
73
74
 
74
75
  if s.respond_to? :specification_version then
76
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
75
77
  s.specification_version = 3
76
78
 
77
79
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
80
+ s.add_runtime_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
81
+ s.add_runtime_dependency(%q<libxml-ruby>, ["= 1.1.3"])
82
+ s.add_runtime_dependency(%q<mocha>, [">= 0"])
78
83
  s.add_development_dependency(%q<shoulda>, [">= 0"])
79
84
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
80
85
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
81
86
  s.add_development_dependency(%q<rcov>, [">= 0"])
82
87
  else
88
+ s.add_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
89
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.3"])
90
+ s.add_dependency(%q<mocha>, [">= 0"])
83
91
  s.add_dependency(%q<shoulda>, [">= 0"])
84
92
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
85
93
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
86
94
  s.add_dependency(%q<rcov>, [">= 0"])
87
95
  end
88
96
  else
97
+ s.add_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
98
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.3"])
99
+ s.add_dependency(%q<mocha>, [">= 0"])
89
100
  s.add_dependency(%q<shoulda>, [">= 0"])
90
101
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
91
102
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
data/lib/fn/document.rb CHANGED
@@ -1,8 +1,8 @@
1
- require_dependency File.dirname(__FILE__) + '/util'
2
- require_dependency File.dirname(__FILE__) + '/resource'
3
- require_dependency File.dirname(__FILE__) + '/block'
4
- require_dependency File.dirname(__FILE__) + '/pdf/writer'
5
- require_dependency File.dirname(__FILE__) + '/swf/writer'
1
+ require File.dirname(__FILE__) + '/util'
2
+ require File.dirname(__FILE__) + '/resource'
3
+ require File.dirname(__FILE__) + '/block'
4
+ require File.dirname(__FILE__) + '/pdf/writer'
5
+ require File.dirname(__FILE__) + '/swf/writer'
6
6
 
7
7
  XML.default_keep_blanks = false
8
8
 
data/lib/fn/node/base.rb CHANGED
@@ -18,13 +18,7 @@ module FN
18
18
  end
19
19
 
20
20
  def has_no_children
21
- @logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
22
- if children.any?{|c| !c.cdata?}
23
- # @logger.info "HAS NO CHILDREN "*88
24
- raise "should have no children"
25
- else
26
- # @logger.info "This should not have any children and it does not"
27
- end
21
+ raise "should have no children" if children.any?{|c| !c.cdata?}
28
22
  end
29
23
 
30
24
  def visit_children(struct)
@@ -58,7 +58,7 @@ module FN
58
58
  attrs = options.dup
59
59
  attrs["leftindent"] = (attrs["blockindent"].to_f + attrs["leftmargin"].to_f).to_i
60
60
  attrs["totalleading"] = (attrs["size"].to_f + attrs["leading"].to_f).to_i
61
- # logger.warn attrs.inspect
61
+ # puts attrs.inspect
62
62
  attrs["formatted_color"] = format_color(attrs["color"])
63
63
  attrs["formatted_face"] = format_face(attrs)
64
64
  %(<encoding=unicode
@@ -106,8 +106,6 @@ module FN
106
106
  when "i"; options["italic"] = true
107
107
  when "u"; options["underline"] = true
108
108
  when "li"; buffer << "&bull;&nbsp;"
109
- when "p";
110
- options["align"] = node["ALIGN"] if node["ALIGN"]
111
109
  when "font";
112
110
  options["size"] = node["size"] if node["size"]
113
111
  options["face"] = node["face"] if node["face"]
@@ -121,8 +119,7 @@ module FN
121
119
  node.children.each{|c| format(c, buffer, options)}
122
120
 
123
121
  case node.name.downcase
124
- when "p", "li";
125
- buffer << "<nextparagraph>"
122
+ when "p", "li"; buffer << "<nextparagraph>"
126
123
  end
127
124
  else
128
125
  raise "unhandled node type"
@@ -4,9 +4,6 @@ module FN
4
4
  module PDF
5
5
  module Node
6
6
  def FitImage(image, x, y, opts = {})
7
- if opts.delete(:inverted)
8
- opts[:orientate] = "south"
9
- end
10
7
  FN::Node::Base("fit_image", opts.merge(:image => image, :x => x, :y => y)).extend(FitImage)
11
8
  end
12
9
 
@@ -19,7 +16,8 @@ module FN
19
16
  img = struct[h.delete("image")]
20
17
  x = h.delete("x").to_i
21
18
  y = h.delete("y").to_i
22
- h["scale"] = 0.99 # if h["scale"] == "1.0"
19
+ h["scale"] = 0.99 # if h["scale"] == "1.0"
20
+
23
21
  struct.fit_image(img, x, y, h)
24
22
  end
25
23
  end
@@ -11,14 +11,8 @@ module FN
11
11
  include FN::Node::Base
12
12
 
13
13
  def visit(struct)
14
- @logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
15
- # @logger.info "HELP "*88
16
- # @logger.info "self[:page] => #{self[:page]}" # yields {page}
17
- # @logger.info "struct[self[:page]] => #{struct[self[:page]]}" # yields -1
18
- # @logger.info "struct => #{struct.inspect}"
19
14
  has_no_children
20
15
  struct.fit_pdi_page(struct[self[:page]], 0, struct[CURRENT_PAGE_HEIGHT], "")
21
-
22
16
  end
23
17
  end
24
18
  end
@@ -15,8 +15,8 @@ module FN
15
15
  FN::Node::Base("invert",
16
16
  :x => block["x"],
17
17
  :y => block["y"],
18
- :x2 => block["x"].to_f + (block["boxWidth"] || block["width"]).to_f,
19
- :y2 => block["y"].to_f + (block["boxHeight"] || block["height"]).to_f
18
+ :x2 => block["x"].to_f + block["width"].to_f,
19
+ :y2 => block["y"].to_f + block["height"].to_f
20
20
  ).extend(Invert)
21
21
  end
22
22
 
@@ -12,15 +12,7 @@ module FN
12
12
  include FN::Node::Base
13
13
 
14
14
  def visit(struct)
15
- @logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
16
- # @logger.info "DOGS "*88
17
- # @logger.info "struct.inspect: #{struct.inspect}"
18
- # @logger.info "struct[self[:pdi]]: #{struct[self[:pdi]]}"
19
- # @logger.info "self[:number].to_i: #{self[:number].to_i}"
20
15
  pg = struct.open_pdi_page(struct[self[:pdi]], self[:number].to_i, "")
21
- # @logger.info "self.inspect: #{self.inspect}"
22
- # @logger.info "pg.inspect: #{pg.inspect}"
23
- # @logger.info "CATS "*88
24
16
  struct.assigns self, pg
25
17
  visit_children struct
26
18
  struct.close_pdi_page(pg)
data/lib/fn/pdf/struct.rb CHANGED
@@ -13,26 +13,23 @@ module FN
13
13
  self["{#{node[:assigns]}}"] = value
14
14
  end
15
15
 
16
- def method_missing(*args, &block)
17
- @logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
18
- # @logger.info("This is what args looks like when we first get it: #{a.inspect}")
19
- args.map! do |elem|
16
+ def method_missing(*a, &b)
17
+ a.map! do |elem|
20
18
  case elem
21
19
  when Hash:
22
- elem.inject([]) {|m, (key, value)|
23
- m << "#{key}={#{value}}"
20
+ elem.inject([]) {|m, (k, v)|
21
+ m << "#{k}={#{v}}"
24
22
  }.join(" ")
25
23
  else
26
24
  elem
27
25
  end
28
26
  end
29
27
  begin
30
- # @logger.info("Calling #{args.inspect}, this struct: #{self.inspect}")
31
- @pdf.send(*args, &block)
32
- rescue Exception => error
33
- # @logger.info("FAILURE FAILURE FAILURE FAILURE FAILURE FAILURE")
34
- # @logger.info("Exception: #{error}")
35
- raise error
28
+ # puts "command: #{a.inspect}" if @debug
29
+ @pdf.send(*a, &b)
30
+ rescue Exception => e
31
+ STDERR.puts("tried calling #{a.shift} with args: #{a.inspect}, state: #{inspect}")
32
+ raise e
36
33
  end
37
34
  end
38
35
  end
data/lib/fn/pdf/writer.rb CHANGED
@@ -3,12 +3,13 @@ require "PDFlib"
3
3
  require "RMagick"
4
4
  require "tempfile"
5
5
  Dir[File.dirname(__FILE__) + "/node/*.rb"].each do |f|
6
- require_dependency f.sub(/\.rb$/, '')
6
+ require f.sub(/\.rb$/, '')
7
7
  end
8
8
  module FN
9
9
  module PDF
10
10
  class WriterError < RuntimeError; end
11
11
  class Writer
12
+
12
13
  include Node
13
14
  SPACE = /[\s_]+/
14
15
 
@@ -37,10 +38,7 @@ module FN
37
38
 
38
39
  def translate(doc, options = {})
39
40
  raise "Not an FN Document" unless doc.is_a?(FN::Document)
40
- @logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
41
-
42
41
 
43
- debug = options[:debug]
44
42
  file = options[:save_as]
45
43
  bkg = options[:background]
46
44
  pdf_version = options[:pdf_version] ||
@@ -57,29 +55,19 @@ module FN
57
55
 
58
56
  context = FN::Node::Context.new
59
57
 
60
- # @logger.info "===== Setting Parameters ====="
61
58
  context.add SetParameter("license", license)
62
59
  context.add SetParameter("resourcefile", resource_file)
63
60
  context.add SetParameter("hypertextencoding", self.class.encoding)
64
61
  context.add SetParameter("textformat", textformat)
65
62
 
66
- if bkg
67
- # @logger.info "===== This Document Has a Background ====="
68
- context << OpenPdi(bkg, assigns = "pdi")
69
- end
70
-
71
- # @logger.info "===== Uh... Begin Document ====="
63
+ context << OpenPdi(bkg, assigns = "pdi") if bkg
72
64
  context << BeginDocument(file, pdf_version)
73
-
74
- # @logger.info "===== Setting A Forgotten Parameter ====="
75
65
  context.add SetParameter("topdown", true)
76
66
 
77
- # @logger.info "===== Adding #{doc.fonts.length} Fonts ====="
78
67
  doc.fonts do |name|
79
68
  LoadFont.add_all_variants_to context, name
80
69
  end
81
70
 
82
- # @logger.info "===== Adding #{doc.textflows.length} Text Flows ====="
83
71
  flows_by_name = {}
84
72
  doc.textflows.each do |flow|
85
73
  ctf = CreateTextflow(flow)
@@ -87,34 +75,23 @@ module FN
87
75
  context.add ctf
88
76
  end
89
77
 
90
-
91
- # @logger.info "===== Adding #{doc.pages.length} Pages ====="
92
- doc.pages.each_with_index do |page,index|
78
+ doc.pages.each do |page|
93
79
  context.retain_after do
94
- # @logger.info "Page #{index+1}:"
95
- # @logger.info "BeginPageExt(:width => #{page["width"]}, :height => #{page["height"]}, :number => #{page["number"]})"
96
80
  context << BeginPageExt(page["width"], page["height"], page["number"])
97
81
  if bkg
98
- # @logger.info "This Document Has Background"
99
- # @logger.info "OpenPdiPage(:pdi_var => \"{pdi}\", :page_number => #{page["number"]}, :page_var => \"page\")"
100
82
  context << OpenPdiPage("{pdi}", page["number"], assigns = "page" )
101
- # @logger.info "FitPdiPage(:var => \"{page}\")"
102
83
  context.add FitPdiPage("{page}")
103
84
  elsif page["background"]
104
- # @logger.info "Page #{index+1}: This Document does NOT have a Background, but the page does"
105
85
  bkg_image = doc.resource(page["background"]).path_from(root)
106
86
  context.add LoadImage(bkg_image, "tmp")
107
87
  context.add FitImage("{tmp}", 0, page["height"],
108
88
  :fitmethod => :meet,
109
89
  :boxsize => [page["width"], page["height"]])
110
- else
111
- # @logger.info "Page #{index+1}: Does not have a background at all"
112
90
  end
113
91
  context.add(Watermark(watermark)) if watermark
114
92
  end
115
93
  end
116
94
 
117
- # @logger.info "===== Adding #{doc.text_blocks.length} Text Blocks ====="
118
95
  doc.text_blocks.each do |block|
119
96
  flow = CreateTextflow(block)
120
97
 
@@ -135,10 +112,7 @@ module FN
135
112
  end
136
113
  end
137
114
 
138
- # @logger.info "===== Adding #{doc.photo_blocks.length} Photo Blocks ====="
139
115
  doc.photo_blocks.each do |block|
140
- # require "ruby-debug"
141
- # debugger
142
116
  image = nil
143
117
  begin
144
118
  context.inject_at_page(block.page_number) do
@@ -146,9 +120,9 @@ module FN
146
120
  tmp = Magick::Image::read(image).first
147
121
  dims = [tmp.columns.to_f, tmp.rows.to_f]
148
122
  x, y, width, height = calculate(block, dims)
149
- fi = FitImage("{tmp}", x, y, :fitmethod => "meet", :boxsize => [width, height], :inverted => block["flip"] == "yes")
150
123
  context.add LoadImage(image, "tmp")
151
- context.add(fi)
124
+ context.add FitImage("{tmp}", x, y, :fitmethod => "meet",
125
+ :boxsize => [width, height])
152
126
  end
153
127
  rescue Magick::ImageMagickError => e
154
128
  STDERR.puts e.message
@@ -157,22 +131,10 @@ module FN
157
131
  end
158
132
  end
159
133
 
160
- # @logger.info "===== Closing #{doc.pages.length} Pages ====="
161
134
  doc.pages.each do |page|
162
135
  context.add EndPageExt(page["number"])
163
136
  end
164
137
 
165
-
166
- # @logger.info "====================================================================="
167
- # @logger.info "===== Somewhere after this point, the major churning begins ====="
168
- # @logger.info "===== And starts looping through all the context things we just ====="
169
- # @logger.info "===== added and tries to execute them all ====="
170
- # @logger.info "====================================================================="
171
-
172
- # @logger.info "================================== doc.xml_to_s ================================="
173
- # @logger.info doc.xml_to_s
174
- # @logger.info "================================== context.doc.to_s ============================="
175
- # @logger.info context.doc.to_s
176
138
  return context.doc
177
139
  end
178
140
 
data/lib/fn/swf/writer.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  Dir[File.dirname(__FILE__) + "/**/*.rb"].each do |f|
2
- require_dependency f.sub(/\.rb$/, '')
2
+ require f.sub(/\.rb$/, '')
3
3
  end
4
4
 
5
5
  module FN
data/lib/fn_document.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  Dir[File.dirname(__FILE__) + "/fn/**/*.rb"].each do |f|
2
- require_dependency f.sub(/\.rb/, '')
2
+ require f.sub(/\.rb/, '')
3
3
  end
metadata CHANGED
@@ -1,8 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fn_document
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.9.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 3
9
+ version: 0.9.3
6
10
  platform: ruby
7
11
  authors:
8
12
  - Nathan Colgate Clark
@@ -15,50 +19,105 @@ date: 2011-07-14 00:00:00 -07:00
15
19
  default_executable:
16
20
  dependencies:
17
21
  - !ruby/object:Gem::Dependency
18
- name: shoulda
19
- requirement: &id001 !ruby/object:Gem::Requirement
22
+ type: :runtime
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 9
31
+ - 2
32
+ version: 0.9.2
33
+ prerelease: false
34
+ name: libxslt-ruby
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ type: :runtime
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 1
45
+ - 1
46
+ - 3
47
+ version: 1.1.3
48
+ prerelease: false
49
+ name: libxml-ruby
50
+ requirement: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ type: :runtime
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
20
54
  none: false
21
55
  requirements:
22
56
  - - ">="
23
57
  - !ruby/object:Gem::Version
58
+ segments:
59
+ - 0
24
60
  version: "0"
61
+ prerelease: false
62
+ name: mocha
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
25
65
  type: :development
66
+ version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ segments:
72
+ - 0
73
+ version: "0"
26
74
  prerelease: false
27
- version_requirements: *id001
75
+ name: shoulda
76
+ requirement: *id004
28
77
  - !ruby/object:Gem::Dependency
29
- name: bundler
30
- requirement: &id002 !ruby/object:Gem::Requirement
78
+ type: :development
79
+ version_requirements: &id005 !ruby/object:Gem::Requirement
31
80
  none: false
32
81
  requirements:
33
82
  - - ~>
34
83
  - !ruby/object:Gem::Version
84
+ segments:
85
+ - 1
86
+ - 0
87
+ - 0
35
88
  version: 1.0.0
36
- type: :development
37
89
  prerelease: false
38
- version_requirements: *id002
90
+ name: bundler
91
+ requirement: *id005
39
92
  - !ruby/object:Gem::Dependency
40
- name: jeweler
41
- requirement: &id003 !ruby/object:Gem::Requirement
93
+ type: :development
94
+ version_requirements: &id006 !ruby/object:Gem::Requirement
42
95
  none: false
43
96
  requirements:
44
97
  - - ~>
45
98
  - !ruby/object:Gem::Version
99
+ segments:
100
+ - 1
101
+ - 6
102
+ - 4
46
103
  version: 1.6.4
47
- type: :development
48
104
  prerelease: false
49
- version_requirements: *id003
105
+ name: jeweler
106
+ requirement: *id006
50
107
  - !ruby/object:Gem::Dependency
51
- name: rcov
52
- requirement: &id004 !ruby/object:Gem::Requirement
108
+ type: :development
109
+ version_requirements: &id007 !ruby/object:Gem::Requirement
53
110
  none: false
54
111
  requirements:
55
112
  - - ">="
56
113
  - !ruby/object:Gem::Version
114
+ segments:
115
+ - 0
57
116
  version: "0"
58
- type: :development
59
117
  prerelease: false
60
- version_requirements: *id004
61
- description: Gem for handling documents within FASI AMS
118
+ name: rcov
119
+ requirement: *id007
120
+ description: This handles complex document creation from XML for the FASI AMS system.
62
121
  email: nathancolgate@gmail.com
63
122
  executables: []
64
123
 
@@ -69,6 +128,7 @@ extra_rdoc_files:
69
128
  - README.rdoc
70
129
  files:
71
130
  - .document
131
+ - CHANGELOG
72
132
  - Gemfile
73
133
  - Gemfile.lock
74
134
  - LICENSE.txt
@@ -129,7 +189,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
189
  requirements:
130
190
  - - ">="
131
191
  - !ruby/object:Gem::Version
132
- hash: -466449568882368545
192
+ hash: 3
133
193
  segments:
134
194
  - 0
135
195
  version: "0"
@@ -138,13 +198,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
198
  requirements:
139
199
  - - ">="
140
200
  - !ruby/object:Gem::Version
201
+ segments:
202
+ - 0
141
203
  version: "0"
142
204
  requirements: []
143
205
 
144
206
  rubyforge_project:
145
- rubygems_version: 1.6.2
207
+ rubygems_version: 1.3.7
146
208
  signing_key:
147
209
  specification_version: 3
148
- summary: Gem for handling documents within FASI AMS
210
+ summary: Gem for reading/writing/printing fn documents
149
211
  test_files: []
150
212