onix 0.6.0 → 0.7.0

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