onix 0.6.0 → 0.7.0

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/CHANGELOG CHANGED
@@ -1,3 +1,42 @@
1
+ v0.7.0 (17th June 2009)
2
+ - try using LibXML for reader again
3
+ - retrieving the ONIX version of the input file is currently disabled, as
4
+ that seems to be the source of our instability
5
+ - Various Ruby 1.9 compatability tweaks
6
+ - add source file coding declarations. All source files are UTF-8
7
+ - ONIX::Reader ensures all input data is converted to UTF-8
8
+ - the ROXML based objects seem to forget the encoding when they're marshalled,
9
+ so force string based attributes *back* to UTF-8
10
+
11
+ v0.6.7 (Unreleased)
12
+ - add some accessors to the Title composite
13
+
14
+ v0.6.6 (Unreleased)
15
+ - Forget the S on an element name
16
+
17
+ v0.6.5 (Unreleased)
18
+ - Ruby 1.9 compat
19
+
20
+ v0.6.4 (Unreleased)
21
+ - Add APAProduct#price
22
+
23
+ v0.6.3(Unreleased)
24
+ - Bump ROXML dependency to 2.5.3 to get libxml-ruby 1.1.3 compatibility
25
+
26
+ v0.6.2 (Unreleased)
27
+ - Fix a small typo in APAProduct
28
+
29
+ v0.6.1 (Unreleased)
30
+ - Stopped using LibXMLs Reader class as the basis for our reader.
31
+ - We were getting too many segfaults (even 1 is too many!)
32
+ - until we resolve it, reverted to manual string parsing
33
+ - This is a fairly major regression of functionality. For 99% of files
34
+ it won't matter, but for some corner cases it will. ie UTF-16 encoded
35
+ files
36
+ - Will also be noticeably slower
37
+ - Hopefully only a short term fix, until I work out what is going on with
38
+ libxml
39
+
1
40
  v0.6.0 (18th March 2009)
2
41
  - remove use of threads in ONIX::Reader
3
42
  - a producer/consumer pattern was useful in the REXML stream parsing days, but
data/lib/onix.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # coding: utf-8
2
+
1
3
  require 'rubygems'
2
4
  require 'bigdecimal'
3
5
  require 'cgi'
4
6
 
5
7
  # ensure we load the correct gem versions
6
- gem 'roxml', '2.5.2'
8
+ gem 'roxml', '2.5.3'
7
9
  gem 'andand'
8
10
 
9
11
  # and now load the actual gems
@@ -13,7 +15,7 @@ require 'andand'
13
15
  module ONIX
14
16
  module Version #:nodoc:
15
17
  Major = 0
16
- Minor = 6
18
+ Minor = 7
17
19
  Tiny = 0
18
20
 
19
21
  String = [Major, Minor, Tiny].join('.')
@@ -22,7 +24,9 @@ module ONIX
22
24
  class Formatters
23
25
  def self.decimal
24
26
  lambda do |val|
25
- if val.kind_of?(BigDecimal)
27
+ if val.nil?
28
+ nil
29
+ elsif val.kind_of?(BigDecimal)
26
30
  val.to_s("F")
27
31
  else
28
32
  val.to_s
@@ -57,7 +61,11 @@ module ONIX
57
61
  end
58
62
 
59
63
  # silence some warnings from ROXML
60
- ROXML::SILENCE_XML_NAME_WARNING = true
64
+ unless ROXML.const_defined?("SILENCE_XML_NAME_WARNING")
65
+ ROXML::SILENCE_XML_NAME_WARNING = true
66
+ end
67
+
68
+ require File.join(File.dirname(__FILE__), "onix", "common")
61
69
 
62
70
  # core files
63
71
  # - ordering is important, classes need to be defined before any
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class AddresseeIdentifier
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_accessor :addressee_id_type, :from => "AddresseeIDType", :as => Fixnum # should be a 2 digit num
6
9
  xml_accessor :id_type_name, :from => "IDTypeName"
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class APAProduct < SimpleProduct
3
5
 
@@ -408,6 +410,12 @@ module ONIX
408
410
  price_set(2, num)
409
411
  end
410
412
 
413
+ # just get the first price we can find, regardless of the type.
414
+ # useful as a backup for reading files from that don't contain a type
415
+ def price
416
+ price_get(nil).andand.price_amount
417
+ end
418
+
411
419
  # retrieve the height of the product
412
420
  #
413
421
  # If APAProduct#measurement_system is metric, these will be in mm, otherwise they
@@ -682,7 +690,7 @@ module ONIX
682
690
  if text.nil?
683
691
  text = ONIX::OtherText.new
684
692
  text.text_type_code = type
685
- self.text << text
693
+ product.text << text
686
694
  end
687
695
 
688
696
  # store the new value
@@ -0,0 +1,26 @@
1
+ module ONIX
2
+ # methods we want to be available on all our ROXML classes
3
+ module Common
4
+
5
+ # After an input string has been marshalled into an object,
6
+ # ROXML will automatically call this method.
7
+ #
8
+ # LibXML (and therefore ROXML) appears to forget the encoding
9
+ # of the input data, a damn shame considering the Ruby 1.9 encoding
10
+ # support can be vey useful.
11
+ #
12
+ # Since we only ever pass our ROXML objects strings we know are utf-8
13
+ # encoded, it should be safe enough to force every string attribute
14
+ # back once the marshalling is done.
15
+ #
16
+ def after_parse
17
+ self.class.roxml_attrs.each do |attr|
18
+ var = instance_variable_get("@#{attr.variable_name}")
19
+ if var && var.respond_to?(:force_encoding)
20
+ var.force_encoding("utf-8")
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Contributor
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Contributor"
6
9
 
@@ -10,7 +13,7 @@ module ONIX
10
13
  xml_accessor :sequence_number_within_role, :from => "SequenceNumberWithinRole", :as => Fixnum
11
14
  xml_accessor :person_name, :from => "PersonName"
12
15
  xml_accessor :person_name_inverted, :from => "PersonNameInverted"
13
- xml_accessor :titles_before_name, :from => "TitlesBeforeName"
16
+ xml_accessor :titles_before_names, :from => "TitlesBeforeNames"
14
17
  xml_accessor :names_before_key, :from => "NamesBeforeKey"
15
18
  xml_accessor :prefix_to_key, :from => "PrefixToKey"
16
19
  xml_accessor :key_names, :from => "KeyNames"
data/lib/onix/header.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Header
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Header"
6
9
 
data/lib/onix/imprint.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Imprint
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Imprint"
6
9
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  module Lists
3
5
  # Code list 65
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  module Lists
3
5
  # code list 7
@@ -62,13 +64,13 @@ module ONIX
62
64
  "PO" => "Print - Wallchart",
63
65
  "PZ" => "Print - Other",
64
66
  "VA" => "Video",
65
- "VB" => "Video VHS PAL",
66
- "VC" => "Video VHS NTSC",
67
- "VD" => "Video Betamax PAL",
68
- "VE" => "Video Betamax NTSC",
69
- "VF" => "Video disk",
70
- "VG" => "Video VHS SECAM",
71
- "VH" => "Video Betamax SECAM",
67
+ "VB" => "Video - VHS PAL",
68
+ "VC" => "Video - VHS NTSC",
69
+ "VD" => "Video - Betamax PAL",
70
+ "VE" => "Video - Betamax NTSC",
71
+ "VF" => "Video - disk",
72
+ "VG" => "Video - VHS SECAM",
73
+ "VH" => "Video - Betamax SECAM",
72
74
  "VZ" => "Video - Other Format",
73
75
  "WW" => "Multiple - Mixed Media Product",
74
76
  "WX" => "Misc - Quantity Pack",
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class MarketRepresentation
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "MarketRepresentation"
6
9
 
data/lib/onix/measure.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Measure
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Measure"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class MediaFile
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "MediaFile"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class OtherText
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "OtherText"
6
9
 
data/lib/onix/price.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Price
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Price"
6
9
 
data/lib/onix/product.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Product
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Product"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class ProductIdentifier
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "ProductIdentifier"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Publisher
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Publisher"
6
9
 
data/lib/onix/reader.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'stringio'
2
4
 
3
5
  module ONIX
@@ -49,72 +51,95 @@ module ONIX
49
51
  # version it is.
50
52
  #
51
53
  class Reader
54
+ include Enumerable
52
55
 
53
- attr_reader :header, :version, :xml_lang, :xml_version, :encoding, :queue
56
+ attr_reader :header , :version, :xml_lang, :xml_version, :encoding
54
57
 
55
- # Create a new ONIX::Reader object
56
- #
57
58
  def initialize(input, product_klass = ::ONIX::Product)
58
- if input.kind_of? String
59
+ if input.kind_of?(String)
59
60
  @reader = LibXML::XML::Reader.file(input)
60
61
  elsif input.kind_of?(IO)
61
62
  @reader = LibXML::XML::Reader.io(input)
62
63
  else
63
- throw "Unable to read from path or file"
64
+ raise ArgumentError, "Unable to read from file or IO stream"
64
65
  end
65
66
 
66
67
  @product_klass = product_klass
67
- @header = nil
68
68
 
69
- while @header.nil?
70
- obj = read_next
71
- if obj.kind_of?(ONIX::Header)
72
- @header = obj
73
- end
74
- end
69
+ @header = read_next
70
+
71
+ @xml_lang ||= @reader.xml_lang
72
+ @xml_version ||= @reader.xml_version.to_f
73
+ @encoding ||= encoding_const_to_name(@reader.encoding)
75
74
  end
76
75
 
77
76
  # Iterate over all the products in an ONIX file
78
77
  #
79
78
  def each(&block)
80
- while !(obj = read_next).nil?
79
+ while obj = read_next
81
80
  yield obj
82
81
  end
83
82
  end
84
83
 
84
+ def close
85
+ @reader.close if @reader
86
+ end
87
+
85
88
  private
86
89
 
87
- # Walk the ONIX file, and grab the next header or product fragment. If we
88
- # encounter other useful bits of info along the way (encoding, etc) then
89
- # store them for later.
90
+ # Walk the ONIX file, and grab the next header or product fragment.
90
91
  #
91
92
  def read_next
92
93
  while @reader.read
93
94
 
94
- @xml_lang = @reader.xml_lang if @xml_lang.nil?
95
- @xml_version = @reader.xml_version.to_f if @xml_version.nil?
96
- @encoding = encoding_const_to_name(@reader.encoding) if @encoding.nil?
97
-
98
95
  if @reader.node_type == LibXML::XML::Reader::TYPE_DOCUMENT_TYPE
99
- uri = @reader.expand.to_s
100
- m, major, minor, rev = *uri.match(/.+(\d)\.(\d)\/(\d*).*/)
101
- @version = [major.to_i, minor.to_i, rev.to_i]
102
- elsif @reader.name == "Header" && @reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
103
- str = @reader.read_outer_xml
104
- @reader.next_sibling
105
- return ONIX::Header.from_xml(str)
106
- elsif @reader.name == "Product" && @reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
107
- str = @reader.read_outer_xml
108
- @reader.next_sibling
109
- return @product_klass.from_xml(str)
96
+ # TODO restore ONIX version extraction. The following expand()
97
+ # call is triggering unpredictable behaviour in libxml-ruby
98
+ # 1.1.3 with libxml2 2.7.3. Sometimes segfaults, othertimes
99
+ # cryptic errors about the input file being truncated or
100
+ # incomplete
101
+ #uri = @reader.expand.to_s.dup
102
+ #m, major, minor, rev = *uri.match(/.+(\d)\.(\d)\/(\d*).*/)
103
+ #@version = [major.to_i, minor.to_i, rev.to_i]
104
+ elsif @reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
105
+ if @reader.name == "Header"
106
+ str = normalise_string_encoding(@reader.read_outer_xml.to_s.dup)
107
+ if str.size == 0
108
+ return ONIX::Header.new
109
+ else
110
+ return ONIX::Header.from_xml(str)
111
+ end
112
+ elsif @reader.name == "Product"
113
+ str = normalise_string_encoding(@reader.read_outer_xml.to_s.dup)
114
+ if str.size == 0
115
+ return @product_klass.new
116
+ else
117
+ return @product_klass.from_xml(str)
118
+ end
119
+ end
110
120
  end
111
121
  end
122
+
123
+ return nil
124
+ rescue LibXML::XML::Error => e
112
125
  return nil
113
126
  end
114
127
 
128
+ # XML::Reader seems to transparently convert all input data to utf-8, howver
129
+ # on Ruby 1.9 it fails to correctly set the encoding on the strings.
130
+ #
131
+ def normalise_string_encoding(str)
132
+ if RUBY_VERSION >= "1.9"
133
+ return str.dup.force_encoding("utf-8")
134
+ else
135
+ str
136
+ end
137
+ end
138
+
115
139
  # simple mapping of encoding constants to a string
116
140
  #
117
141
  def encoding_const_to_name(const)
142
+ return nil if const.nil?
118
143
  case const
119
144
  when LibXML::XML::Encoding::UTF_8
120
145
  "utf-8"
@@ -154,6 +179,8 @@ module ONIX
154
179
  "euc-jp"
155
180
  when LibXML::XML::Encoding::ASCII
156
181
  "ascii"
182
+ else
183
+ nil
157
184
  end
158
185
  end
159
186
  end
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class SalesRestriction
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "SalesRestriction"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class SenderIdentifier
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "SenderIdentifier"
6
9
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module ONIX
data/lib/onix/stock.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Stock
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Stock"
6
9
 
data/lib/onix/subject.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Subject
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Subject"
6
9
 
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class SupplyDetail
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "SupplyDetail"
6
9
 
data/lib/onix/title.rb CHANGED
@@ -1,11 +1,16 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Title
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Title"
6
9
 
7
10
  xml_accessor :title_type, :from => "TitleType", :as => Fixnum, :to_xml => ONIX::Formatters.two_digit
8
11
  xml_accessor :title_text, :from => "TitleText"
12
+ xml_accessor :title_prefix, :from => "TitlePrefix"
13
+ xml_accessor :title_without_prefix, :from => "TitleWithoutPrefix"
9
14
  xml_accessor :subtitle, :from => "Subtitle"
10
15
 
11
16
  end
data/lib/onix/website.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  class Website
3
5
  include ROXML
6
+ include ONIX::Common
4
7
 
5
8
  xml_name "Website"
6
9
 
data/lib/onix/writer.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module ONIX
2
4
  # The primary way to write a new ONIX file.
3
5
  #
data/spec/reader_spec.rb CHANGED
@@ -10,7 +10,10 @@ context "ONIX::Reader" do
10
10
  data_path = File.join(File.dirname(__FILE__),"..","data")
11
11
  @file1 = File.join(data_path, "9780194351898.xml")
12
12
  @file2 = File.join(data_path, "two_products.xml")
13
+ @long_file = File.join(data_path, "Bookwise_July_2008.xml")
13
14
  @entity_file = File.join(data_path, "entities.xml")
15
+ @utf_16_file = File.join(data_path, "utf_16.xml")
16
+ @iso_8859_1_file = File.join(data_path, "iso_8859_1.xml")
14
17
  end
15
18
 
16
19
  specify "should initialize with a filename" do
@@ -25,13 +28,16 @@ context "ONIX::Reader" do
25
28
  end
26
29
  end
27
30
 
28
- specify "should provide access to various XML metadata from file" do
29
- reader = ONIX::Reader.new(@file1)
30
- reader.encoding.should eql("utf-8")
31
- reader.xml_lang.should eql(nil)
32
- reader.xml_version.should eql(1.0)
33
- reader.version.should eql([2,1,0])
34
- end
31
+ # This is commented out as the code that I was using to read the ONIX version from the
32
+ # input was causing segfaults and other stability issues
33
+ specify "should provide access to various XML metadata from file"
34
+ #do
35
+ # reader = ONIX::Reader.new(@file1)
36
+ # reader.encoding.should eql("utf-8")
37
+ # reader.xml_lang.should eql(nil)
38
+ # reader.xml_version.should eql(1.0)
39
+ # reader.version.should eql([2,1,0])
40
+ #end
35
41
 
36
42
  specify "should provide access to the header in an ONIX file" do
37
43
  reader = ONIX::Reader.new(@file1)
@@ -62,18 +68,64 @@ context "ONIX::Reader" do
62
68
  end
63
69
 
64
70
  # libxml can handle the 3 standard entities fine (&amp; &lt; and ^gt;) but
65
- # barfs when it encounters others. In theory other entityies are defined in the
71
+ # barfs when it encounters others. In theory other entities are defined in the
66
72
  # ONIX DTD, but I can't work out how to get libxml to recognise them
67
73
  specify "should correctly parse a file that has an entity in it" do
68
74
  reader = ONIX::Reader.new(@entity_file)
69
-
75
+
70
76
  products = []
71
77
  reader.each do |product|
72
78
  products << product
73
79
  end
74
80
 
75
81
  products.size.should eql(1)
76
- products.first.record_reference.should eql("9780732287573")
82
+ products.first.titles.size.should eql(1)
77
83
  products.first.titles.first.title_text.should eql("High Noon\342\200\223in Nimbin")
84
+ products.first.record_reference.should eql("9780732287573")
85
+ end
86
+
87
+ # for some reason I'm getting segfaults when I read a file with more than 7 records
88
+ specify "should correctly parse a file with more than 7 records in in" do
89
+ reader = ONIX::Reader.new(@long_file)
90
+ counter = 0
91
+ reader.each do |product|
92
+ counter += 1
93
+ end
94
+
95
+ counter.should eql(346)
96
+ end
97
+
98
+ specify "should transparently convert a iso-8859-1 file to utf-8" do
99
+ reader = ONIX::Reader.new(@iso_8859_1_file)
100
+ product = nil
101
+ reader.each do |p|
102
+ product = p
103
+ end
104
+
105
+ # ROXML appears to munge the string encodings
106
+ if RUBY_VERSION >= "1.9"
107
+ utf8 = Encoding.find("utf-8")
108
+ product.contributors[0].person_name_inverted.encoding.should eql(utf8)
109
+ end
110
+
111
+ product.contributors[0].person_name_inverted.should eql("Küng, Hans")
112
+
113
+ end
114
+
115
+ specify "should transparently convert a utf-16 file to utf-8" do
116
+ reader = ONIX::Reader.new(@utf_16_file)
117
+ product = nil
118
+ reader.each do |p|
119
+ product = p
120
+ end
121
+
122
+ # ROXML appears to munge the string encodings
123
+ if RUBY_VERSION >= "1.9"
124
+ utf8 = Encoding.find("utf-8")
125
+ product.contributors[0].person_name_inverted.encoding.should eql(utf8)
126
+ end
127
+
128
+ product.contributors[0].person_name_inverted.should eql("Küng, Hans")
129
+
78
130
  end
79
131
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Healy
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-18 00:00:00 +11:00
12
+ date: 2009-06-17 00:00:00 +10:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 2.5.2
23
+ version: 2.5.3
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: libxml-ruby
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.8
33
+ version: 1.1.3
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: andand
@@ -76,12 +76,15 @@ files:
76
76
  - lib/onix/market_representation.rb
77
77
  - lib/onix/measure.rb
78
78
  - lib/onix/writer.rb
79
+ - lib/onix/common.rb
79
80
  - lib/onix.rb
80
81
  - README.markdown
81
82
  - TODO
82
83
  - CHANGELOG
83
84
  has_rdoc: true
84
85
  homepage: http://github.com/yob/onix/tree/master
86
+ licenses: []
87
+
85
88
  post_install_message:
86
89
  rdoc_options:
87
90
  - --title
@@ -104,9 +107,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
107
  requirements: []
105
108
 
106
109
  rubyforge_project: rbook
107
- rubygems_version: 1.3.1
110
+ rubygems_version: 1.3.4
108
111
  signing_key:
109
- specification_version: 2
112
+ specification_version: 3
110
113
  summary: A convient mapping between ruby objects and the ONIX XML specification
111
114
  test_files:
112
115
  - spec/header_spec.rb
@@ -116,6 +119,7 @@ test_files:
116
119
  - spec/contributor_spec.rb
117
120
  - spec/imprint_spec.rb
118
121
  - spec/market_representation_spec.rb
122
+ - spec/website_spec.rb
119
123
  - spec/measure_spec.rb
120
124
  - spec/media_file_spec.rb
121
125
  - spec/other_text_spec.rb
@@ -128,4 +132,3 @@ test_files:
128
132
  - spec/subject_spec.rb
129
133
  - spec/supply_detail_spec.rb
130
134
  - spec/title_spec.rb
131
- - spec/website_spec.rb