mead 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source "http://rubygems.org"
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
6
 
7
- gem "nokogiri", "= 1.4.3.1"
7
+ gem "nokogiri"
8
8
  gem "json", ">= 0"
9
9
  gem "trollop", ">= 0"
10
10
 
data/Gemfile.lock CHANGED
@@ -10,9 +10,9 @@ GEM
10
10
  bundler (~> 1.0.0)
11
11
  git (>= 1.2.5)
12
12
  rake
13
- json (1.5.0)
13
+ json (1.5.1)
14
14
  linecache (0.43)
15
- nokogiri (1.4.3.1)
15
+ nokogiri (1.4.4)
16
16
  rake (0.8.7)
17
17
  rcov (0.9.9)
18
18
  reek (1.2.8)
@@ -30,7 +30,7 @@ GEM
30
30
  ruby2ruby (1.2.5)
31
31
  ruby_parser (~> 2.0)
32
32
  sexp_processor (~> 3.0)
33
- ruby_parser (2.0.5)
33
+ ruby_parser (2.0.6)
34
34
  sexp_processor (~> 3.0)
35
35
  sexp_processor (3.0.5)
36
36
  shoulda (2.11.3)
@@ -46,7 +46,7 @@ DEPENDENCIES
46
46
  gbarcode (>= 0.98.20)
47
47
  jeweler (~> 1.5.1)
48
48
  json
49
- nokogiri (= 1.4.3.1)
49
+ nokogiri
50
50
  rcov
51
51
  reek (~> 1.2.8)
52
52
  rmagick
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.1.0
@@ -0,0 +1,80 @@
1
+ module Mead
2
+ class ComponentPart
3
+ attr_accessor :unittitle, :unitdate, :unitid, :level,
4
+ :series_sequence, :containers,
5
+ :item_location #FIXME: temporary attribute while refactoring
6
+
7
+ def initialize(opts={})
8
+ @item_location = opts[:item_location] if opts[:item_location]
9
+ @unittitle = opts[:unittitle] if opts[:unittitle]
10
+ @unitdate = opts[:unitdate] if opts[:unitdate]
11
+ @unitid = opts[:unitid] if opts[:unitid]
12
+ @level = opts[:level] if opts[:level]
13
+ self.series_sequence = opts[:series_sequence] if opts[:series_sequence]
14
+
15
+
16
+ if opts[:containers]
17
+ @containers = []
18
+ # FIXME: What is a better way to insure the Array-ness of containers?
19
+ if opts[:containers].is_a? Array
20
+ opts[:containers].each do |container|
21
+ if container.is_a?(Mead::Container)
22
+ @containers << container
23
+ else
24
+ raise 'containers must have only Mead::Containers'
25
+ end
26
+ end
27
+ else
28
+ raise 'containers must be in an Array'
29
+ end
30
+ end
31
+ end
32
+
33
+ def series_sequence=(integer)
34
+ if !integer.is_a?(Integer)
35
+ # FIXME: create better error class
36
+ raise RuntimeError, 'series_sequence must be an integer'
37
+ end
38
+ @series_sequence = integer
39
+ end
40
+
41
+ # def <<(container)
42
+ # @containers << container
43
+ # end
44
+
45
+ # FIXME: must be a better way to implement my own equality. How to get all
46
+ # the symbols for the possible attributes for an instance of a class?
47
+ def ==(another_cp)
48
+ return false if !another_cp.is_a?(Mead::ComponentPart)
49
+ [:unittitle, :unitdate, :unitid, :level,
50
+ :series_sequence, :containers,
51
+ :item_location].each do |attribute|
52
+ if self.send(attribute) != another_cp.send(attribute)
53
+ return false
54
+ end
55
+ end
56
+ return true
57
+ end
58
+
59
+ def containers=(container)
60
+ @containers = []
61
+ self.containers << container
62
+ end
63
+
64
+ # FIXME: temporary method while refactoring
65
+ def [](attribute)
66
+ self.send(attribute)
67
+ end
68
+
69
+ def to_json(*a)
70
+ h = {
71
+ 'json_class' => self.class.name
72
+ }
73
+ self.instance_variables.each do |var|
74
+ h[var.sub('@','').to_sym] = self.send(var.sub('@','').to_sym)
75
+ end
76
+ h.to_json(*a)
77
+ end
78
+
79
+ end
80
+ end
@@ -16,6 +16,15 @@ module Mead
16
16
  self.text == another_container.text
17
17
  end
18
18
 
19
+ def to_json(*a)
20
+ h = {
21
+ 'json_class' => self.class.name
22
+ }
23
+ self.instance_variables.each do |var|
24
+ h[var.sub('@','').to_sym] = self.send(var.sub('@','').to_sym)
25
+ end
26
+ h.to_json(*a)
27
+ end
19
28
 
20
29
  end
21
30
  end
@@ -57,14 +57,13 @@ module Mead
57
57
  additional_did[:item_location] = did_location_text if did_location_text
58
58
 
59
59
  add_containers(additional_did, node)
60
-
61
60
  if additional_did[:level] == 'series'
62
- additional_did[:series_number] = series_number(node)
61
+ additional_did[:series_sequence] = series_number(node)
63
62
  end
64
63
  if @stack.last == additional_did
65
64
  return
66
65
  end
67
- @stack << additional_did
66
+ @stack << Mead::ComponentPart.new(additional_did)
68
67
  if !node.parent.parent.xpath('xmlns:did').empty?
69
68
  push_to_stack(node.parent.parent.xpath('xmlns:did')[0])
70
69
  end
@@ -93,6 +92,8 @@ module Mead
93
92
  end
94
93
  end
95
94
 
95
+ # FIXME: This currently depends on series being numbered sequentially and being
96
+ # arranged in that order in the EAD XML.
96
97
  def get_series
97
98
  c01_series = @dsc.xpath(".//xmlns:c01[@level='series']")
98
99
  if c01_series and !c01_series.empty?
@@ -1,7 +1,10 @@
1
1
  module Mead
2
2
  class Identifier
3
3
 
4
- attr_accessor :mead, :eadid, :series, :container, :folder, :sequence, :page,
4
+ attr_accessor :mead, :eadid, :series,
5
+ # container is just the first container and folder the second container
6
+ :container, :folder,
7
+ :sequence, :page,
5
8
  :ead_location, :metadata
6
9
  include Mead::Validations
7
10
  validates_format_of_mead
@@ -92,21 +95,5 @@ module Mead
92
95
  self
93
96
  end
94
97
 
95
- # def ead_has_series?
96
- # if series > 1
97
- # true
98
- # else
99
- # if
100
- # false
101
- # end
102
- # end
103
-
104
- # def replace_underscores(*args)
105
- # args.each do |field|
106
- # value = instance_variable_get('@' + field).gsub('_', '.')
107
- # instance_variable_set('@' + field, value)
108
- # end
109
- # end
110
-
111
98
  end
112
99
  end
@@ -82,7 +82,7 @@ module Mead
82
82
  if result.nil? or result.empty?
83
83
  add_error(instance, :mead, 'No matching container.')
84
84
  # even if the instance.series is 1 there may not be any series in the EAD XML yet
85
- elsif result.last[:series_number] and instance.series != result.last[:series_number].to_s
85
+ elsif result.last[:series_sequence] and instance.series != result.last[:series_sequence].to_s
86
86
  add_error(instance, :mead, 'Bad series.')
87
87
  end
88
88
  rescue => e
data/lib/mead.rb CHANGED
@@ -55,6 +55,7 @@ require 'mead/identifier'
55
55
  require 'mead/extractor'
56
56
  require 'mead/ead'
57
57
  require 'mead/ead_validator'
58
+ require 'mead/component_part'
58
59
  require 'mead/container'
59
60
 
60
61
  # if gbarcode and rmagick can both be loaded then load mead/barcode
data/mead.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mead}
8
- s.version = "0.0.6"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jason Ronallo"]
12
- s.date = %q{2011-02-03}
12
+ s.date = %q{2011-02-27}
13
13
  s.description = %q{Extract identifiers and metadata from EAD XML.}
14
14
  s.email = %q{jronallo@gmail.com}
15
15
  s.executables = ["mead2barcode", "meadbfv", "emv", "automead", "ead2meads"]
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  "bin/meadbfv",
33
33
  "lib/mead.rb",
34
34
  "lib/mead/barcode.rb",
35
+ "lib/mead/component_part.rb",
35
36
  "lib/mead/container.rb",
36
37
  "lib/mead/ead.rb",
37
38
  "lib/mead/ead_validator.rb",
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
51
52
  "test/fixtures/ua023_031.xml",
52
53
  "test/helper.rb",
53
54
  "test/test_barcode.rb",
55
+ "test/test_component_part.rb",
54
56
  "test/test_ead.rb",
55
57
  "test/test_ead_validator.rb",
56
58
  "test/test_extractor.rb",
@@ -73,6 +75,7 @@ Gem::Specification.new do |s|
73
75
  s.test_files = [
74
76
  "test/helper.rb",
75
77
  "test/test_barcode.rb",
78
+ "test/test_component_part.rb",
76
79
  "test/test_ead.rb",
77
80
  "test/test_ead_validator.rb",
78
81
  "test/test_extractor.rb",
@@ -92,7 +95,7 @@ Gem::Specification.new do |s|
92
95
  s.specification_version = 3
93
96
 
94
97
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
95
- s.add_runtime_dependency(%q<nokogiri>, ["= 1.4.3.1"])
98
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
96
99
  s.add_runtime_dependency(%q<json>, [">= 0"])
97
100
  s.add_runtime_dependency(%q<trollop>, [">= 0"])
98
101
  s.add_runtime_dependency(%q<fastercsv>, [">= 0"])
@@ -107,7 +110,7 @@ Gem::Specification.new do |s|
107
110
  s.add_development_dependency(%q<fakeweb>, [">= 0"])
108
111
  s.add_development_dependency(%q<ruby-debug>, [">= 0"])
109
112
  else
110
- s.add_dependency(%q<nokogiri>, ["= 1.4.3.1"])
113
+ s.add_dependency(%q<nokogiri>, [">= 0"])
111
114
  s.add_dependency(%q<json>, [">= 0"])
112
115
  s.add_dependency(%q<trollop>, [">= 0"])
113
116
  s.add_dependency(%q<fastercsv>, [">= 0"])
@@ -123,7 +126,7 @@ Gem::Specification.new do |s|
123
126
  s.add_dependency(%q<ruby-debug>, [">= 0"])
124
127
  end
125
128
  else
126
- s.add_dependency(%q<nokogiri>, ["= 1.4.3.1"])
129
+ s.add_dependency(%q<nokogiri>, [">= 0"])
127
130
  s.add_dependency(%q<json>, [">= 0"])
128
131
  s.add_dependency(%q<trollop>, [">= 0"])
129
132
  s.add_dependency(%q<fastercsv>, [">= 0"])
@@ -0,0 +1,135 @@
1
+ require 'helper'
2
+
3
+ class TestComponentPart < Test::Unit::TestCase
4
+
5
+ should "create a new component part with no options" do
6
+ assert Mead::ComponentPart.new
7
+ end
8
+
9
+ context "creating a component part with good options" do
10
+ should "have a unittitle attribute" do
11
+ cp = Mead::ComponentPart.new(:unittitle => 'unit title')
12
+ assert_equal 'unit title', cp.unittitle
13
+ end
14
+
15
+ should "have a unitdate attribute" do
16
+ cp = Mead::ComponentPart.new(:unitdate => 'unit date')
17
+ assert_equal 'unit date', cp.unitdate
18
+ end
19
+
20
+ should 'have a unitid attribute' do
21
+ cp = Mead::ComponentPart.new(:unitid => 'unit id')
22
+ assert_equal 'unit id', cp.unitid
23
+ end
24
+
25
+ should 'have a level attribute' do
26
+ cp = Mead::ComponentPart.new(:level => 'level')
27
+ assert_equal 'level', cp.level
28
+ end
29
+
30
+ should 'have a series_sequence attribute' do
31
+ cp = Mead::ComponentPart.new(:series_sequence => 8)
32
+ assert_equal 8, cp.series_sequence
33
+ end
34
+
35
+ should 'not allow a non-Integer as the series_sequence' do
36
+ assert_raise(RuntimeError){ Mead::ComponentPart.new(:series_sequence => '8')}
37
+ end
38
+
39
+ should 'allow for assinging containers as an option' do
40
+ container1 = Mead::Container.new(:level => 'file')
41
+ container2 = Mead::Container.new(:level => 'series')
42
+ cp = Mead::ComponentPart.new(:containers => [container1, container2])
43
+ assert_equal [container1, container2], cp.containers
44
+ end
45
+
46
+ should 'raise if trying to mass assign non-Array to containers' do
47
+ assert_raise(RuntimeError){ Mead::ComponentPart.new(:containers => 'asdfa')}
48
+ end
49
+
50
+ should 'raise if trying to mass assign non-Containers to containers' do
51
+ assert_raise(RuntimeError){Mead::ComponentPart.new(:containers => ['asdfa'])}
52
+ end
53
+
54
+ should 'not automatically create an empty array for containers' do
55
+ cp = Mead::ComponentPart.new
56
+ assert_nil cp.containers
57
+ end
58
+
59
+ end
60
+
61
+ context "build up component part values" do
62
+ setup do
63
+ @cp = Mead::ComponentPart.new
64
+ end
65
+
66
+ should 'allow a unittitle to be assigned' do
67
+ @cp.unittitle = 'unit title'
68
+ assert_equal 'unit title', @cp.unittitle
69
+ end
70
+
71
+ should 'allow a unitdate to be assigned' do
72
+ @cp.unitdate = 'unit date'
73
+ assert_equal 'unit date', @cp.unitdate
74
+ end
75
+
76
+ should 'allow a unitid to be assigned' do
77
+ @cp.unitid = 'unit id'
78
+ assert_equal 'unit id', @cp.unitid
79
+ end
80
+
81
+ should 'allow a level to be assigned' do
82
+ @cp.level = 'level'
83
+ assert_equal 'level', @cp.level
84
+ end
85
+
86
+ should 'allow a series_sequence to be assigned' do
87
+ @cp.series_sequence = 8
88
+ assert_equal 8, @cp.series_sequence
89
+ end
90
+
91
+ should 'not allow a string to be assigned to the series_sequence' do
92
+ assert_raise(RuntimeError) {@cp.series_sequence = '9'}
93
+ end
94
+
95
+ should 'store containers as an array' do
96
+ @cp.containers = [Mead::Container.new]
97
+ assert @cp.containers.is_a? Array
98
+ end
99
+
100
+ should 'allow for adding to the containers array' #do
101
+ # container = Mead::Container.new
102
+ # @cp.containers << container
103
+ # assert_equal [container], @cp.containers
104
+ # end
105
+
106
+ should 'not allow for adding a non-Container to containers' #do
107
+ # assert_raise(RuntimeError){@cp.containers << 'asdf'}
108
+ # end
109
+
110
+ context 'multiple containers' do
111
+ setup do
112
+ @container1 = Mead::Container.new(:type => 'file')
113
+ @container2 = Mead::Container.new(:type => 'series')
114
+ end
115
+
116
+ should 'allow assigning directly to containers, but resetting everything there' #do
117
+ # @cp.containers << @container1
118
+ # assert_equal [@container1], @cp.containers
119
+ #
120
+ # @cp.containers = @container2
121
+ # assert_equal [@container2], @cp.containers
122
+ # end
123
+
124
+ should 'add a container on to the end of the containers' #do
125
+ # @cp.containers << @container1
126
+ # @cp.containers << @container2
127
+ # assert_equal [@container1, @container2], @cp.containers
128
+ # end
129
+
130
+ end
131
+
132
+ end
133
+
134
+
135
+ end
@@ -6,6 +6,7 @@ class TestMeadExtractor < Test::Unit::TestCase
6
6
 
7
7
  @identifier = 'ua023_031-008-cb0013-001-001'
8
8
  @expected_1 = [
9
+ Mead::ComponentPart.new(
9
10
  {:level=>"file",
10
11
  :unitdate=>nil,
11
12
  :unitid=>nil,
@@ -15,9 +16,9 @@ class TestMeadExtractor < Test::Unit::TestCase
15
16
  :containers => [
16
17
  Mead::Container.new(:type => 'cardbox', :label => "Mixed materials", :text => '13'),
17
18
  Mead::Container.new(:type => 'Envelope', :text => '1')]
18
- },
19
- {:level=>"subseries", :unitdate=>nil, :unitid=>nil, :unittitle=>"Students"},
20
- {:level=>"series", :unitdate=>nil, :series_number=>8, :unitid=>"Series 8", :unittitle=>"People"}]
19
+ }),
20
+ Mead::ComponentPart.new({:level=>"subseries", :unitdate=>nil, :unitid=>nil, :unittitle=>"Students"}),
21
+ Mead::ComponentPart.new({:level=>"series", :unitdate=>nil, :series_sequence=>8, :unitid=>"Series 8", :unittitle=>"People"})]
21
22
  end
22
23
 
23
24
  should "produce a good extraction with a filehandle location for the Ead" do
@@ -36,18 +37,18 @@ class TestMeadExtractor < Test::Unit::TestCase
36
37
 
37
38
  context 'mc00240-001-ff0052-000-001' do
38
39
  setup do
39
- @expected_mc00240 = [{:unittitle=>"Friends Church",
40
+ @expected_mc00240 = [Mead::ComponentPart.new({:unittitle=>"Friends Church",
40
41
  :item_location=>"flatfolder 52",
41
42
  :unitdate=>"1927",
42
43
  :level=>"file",
43
44
  :unitid=>"903",
44
45
  :containers =>
45
- [Mead::Container.new(:type => 'flatfolder', :label => 'Mixed materials', :text => '52')]},
46
- {:series_number=>1,
46
+ [Mead::Container.new(:type => 'flatfolder', :label => 'Mixed materials', :text => '52')]}),
47
+ Mead::ComponentPart.new({:series_sequence=>1,
47
48
  :unittitle=>"Drawings",
48
49
  :unitdate=>"1917-1980",
49
50
  :level=>"series",
50
- :unitid=>"MC 240 Series 1"}]
51
+ :unitid=>"MC 240 Series 1"})]
51
52
  end
52
53
  should 'handle empty folder properly' do
53
54
  mead = Mead::Identifier.new('mc00240-001-ff0052-000-001', File.open('test/ead/mc00240.xml'))
data/test/test_mc00240.rb CHANGED
@@ -10,15 +10,15 @@ class TestMeadMC00240 < Test::Unit::TestCase
10
10
  end
11
11
  should "retrieve the correct metadata" do
12
12
  @mead.extract
13
- expected = [{:unittitle=>"Moravian Chapel at Southside", :level=>"file",
13
+ expected = [Mead::ComponentPart.new({:unittitle=>"Moravian Chapel at Southside", :level=>"file",
14
14
  :item_location=>"flatfolder 147", :unitdate=>"1928", :unitid=>"1034",
15
15
  :containers =>
16
16
  [Mead::Container.new(:type => 'flatfolder',
17
17
  :label => "Mixed materials",
18
18
  :text => '147')]
19
- },
20
- {:unittitle=>"Drawings", :series_number=>1,
21
- :level=>"series", :unitdate=>"1917-1980", :unitid=>"MC 240 Series 1"}]
19
+ }),
20
+ Mead::ComponentPart.new({:unittitle=>"Drawings", :series_sequence=>1,
21
+ :level=>"series", :unitdate=>"1917-1980", :unitid=>"MC 240 Series 1"})]
22
22
  assert_equal expected, @mead.metadata
23
23
  end
24
24
  end
@@ -116,18 +116,10 @@ class TestMeadMC00240 < Test::Unit::TestCase
116
116
  end
117
117
 
118
118
  should "extract a series' series number" do
119
- assert_equal 1, @extractor.stack[1][:series_number]
119
+ assert_equal 1, @extractor.stack[1][:series_sequence]
120
120
  end
121
121
 
122
- # should "only extract up to the series level" do
123
- # assert_equal [
124
- # {:unittitle=>"Amos Hosiery Mill - Addition", :unitdate=>"1953",
125
- # :level => 'file', :unitid => '1421', :item_location => 'flatfolder 42'},
126
- # {:unittitle=>"Drawings", :unitdate=>"1917-1980", :level => 'series',
127
- # :unitid => 'MC 240 Series 1', :series_number => 1
128
- # }
129
- # ], @extractor.stack
130
- # end
122
+
131
123
 
132
124
  end
133
125
 
@@ -86,19 +86,10 @@ class TestMeadUA015_010 < Test::Unit::TestCase
86
86
  end
87
87
 
88
88
  should "extract a series' series number" do
89
- assert_equal 4, @extractor.stack[1][:series_number]
89
+ assert_equal 4, @extractor.stack[1][:series_sequence]
90
90
  end
91
91
 
92
- # should "only extract up to the series level" do
93
- # assert_equal [
94
- # {:unittitle=>"Programs", :unitdate=>"1949-1950",
95
- # :level => 'file', :unitid => nil, :item_location => 'Box 39, Folder 5'},
96
- # {:unittitle=>"Men's Basketball", :unitdate=>"1911-2006",
97
- # :level => 'series', :unitid => 'Series 4',
98
- # :series_number => 4
99
- # }
100
- # ], @extractor.stack
101
- # end
92
+
102
93
 
103
94
  end
104
95
 
@@ -86,19 +86,9 @@ class TestMeadUA023_006B < Test::Unit::TestCase
86
86
  end
87
87
 
88
88
  should "extract a series' series number" do
89
- assert_equal 3, @extractor.stack[1][:series_number]
89
+ assert_equal 3, @extractor.stack[1][:series_sequence]
90
90
  end
91
91
 
92
- # should "only extract up to the series level" do
93
- # assert_equal [
94
- # {:unittitle=>"Food Science Building and Phytotron", :unitdate=>nil,
95
- # :level => 'file', :unitid => nil, :item_location => 'Box 1, Folder 8'},
96
- # {:unittitle=>"Buildings", :unitdate=>"1968, 1970, undated",
97
- # :level => 'series', :unitid => nil,
98
- # :series_number => 3
99
- # }
100
- # ], @extractor.stack
101
- # end
102
92
 
103
93
  end
104
94
 
@@ -87,19 +87,10 @@ class TestMeadUA023_006 < Test::Unit::TestCase
87
87
  end
88
88
 
89
89
  should "extract a series' series number" do
90
- assert_equal 2, @extractor.stack[1][:series_number]
90
+ assert_equal 2, @extractor.stack[1][:series_sequence]
91
91
  end
92
92
 
93
- # should "only extract up to the series level" do
94
- # assert_equal [
95
- # {:unittitle=>"Faculty and Staff", :unitdate=>nil, :level => 'file',
96
- # :unitid => nil, :item_location => 'Box 1, Folder 7'},
97
- # {:unittitle=>"Faculty and Staff", :unitdate=>"circa 1900-1988",
98
- # :level => 'series', :unitid => nil,
99
- # :series_number => 2
100
- # }
101
- # ], @extractor.stack
102
- # end
93
+
103
94
 
104
95
  end
105
96
 
@@ -86,20 +86,10 @@ class TestMeadUA110_041 < Test::Unit::TestCase
86
86
  end
87
87
 
88
88
  should "extract a series' series number" do
89
- assert_equal 1, @extractor.stack[1][:series_number]
89
+ assert_equal 1, @extractor.stack[1][:series_sequence]
90
90
  end
91
91
 
92
- # should "only extract up to the series level" do
93
- # assert_equal [
94
- # {:unittitle=>"North Carolina, Wake County, Raleigh: Dix Hill [Dorothea Dix Hospital] Drawings",
95
- # :unitdate=>nil, :level => 'file', :unitid => nil,
96
- # :item_location => 'Folder 1.1'},
97
- # {:unittitle=>"UA 110.041 Series 1: Projects", :unitdate=>"1951-1976",
98
- # :level => 'series', :unitid => nil,
99
- # :series_number => 1
100
- # }
101
- # ], @extractor.stack
102
- # end
92
+
103
93
 
104
94
  end
105
95
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mead
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 6
10
- version: 0.0.6
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jason Ronallo
@@ -15,22 +15,19 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-03 00:00:00 -05:00
18
+ date: 2011-02-27 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
23
23
  none: false
24
24
  requirements:
25
- - - "="
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- hash: 113
27
+ hash: 3
28
28
  segments:
29
- - 1
30
- - 4
31
- - 3
32
- - 1
33
- version: 1.4.3.1
29
+ - 0
30
+ version: "0"
34
31
  requirement: *id001
35
32
  prerelease: false
36
33
  type: :runtime
@@ -255,6 +252,7 @@ files:
255
252
  - bin/meadbfv
256
253
  - lib/mead.rb
257
254
  - lib/mead/barcode.rb
255
+ - lib/mead/component_part.rb
258
256
  - lib/mead/container.rb
259
257
  - lib/mead/ead.rb
260
258
  - lib/mead/ead_validator.rb
@@ -274,6 +272,7 @@ files:
274
272
  - test/fixtures/ua023_031.xml
275
273
  - test/helper.rb
276
274
  - test/test_barcode.rb
275
+ - test/test_component_part.rb
277
276
  - test/test_ead.rb
278
277
  - test/test_ead_validator.rb
279
278
  - test/test_extractor.rb
@@ -324,6 +323,7 @@ summary: Extract identifiers and metadata from EAD XML.
324
323
  test_files:
325
324
  - test/helper.rb
326
325
  - test/test_barcode.rb
326
+ - test/test_component_part.rb
327
327
  - test/test_ead.rb
328
328
  - test/test_ead_validator.rb
329
329
  - test/test_extractor.rb