eader 0.0.3 → 0.0.4

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.
@@ -12,7 +12,7 @@ module Eader
12
12
  def series
13
13
  doc.css('dsc c01').map do |c|
14
14
  if c['level'] == 'series'
15
- Item.new(c.css('did'))
15
+ Item.new(c)
16
16
  end
17
17
  end.compact
18
18
  end
@@ -20,7 +20,7 @@ module Eader
20
20
  def subseries
21
21
  doc.css('dsc c02').map do |c|
22
22
  if c['level'] == 'subseries'
23
- Item.new(c.css('did'))
23
+ Item.new(c)
24
24
  end
25
25
  end.compact
26
26
  end
@@ -31,7 +31,7 @@ module Eader
31
31
  (1..3).each do |n|
32
32
  doc.css("dsc c0#{n}").map do |c|
33
33
  if c['level'] == 'item'
34
- @items << Item.new(c.css('did'))
34
+ @items << Item.new(c)
35
35
  end
36
36
  end
37
37
  end
@@ -7,44 +7,51 @@ module Eader
7
7
  end
8
8
 
9
9
  def unitid
10
- if (uid = node.css('unitid')).any?
11
- uid[0].text.strip
12
- end
10
+ find('did unitid')
13
11
  end
14
12
 
15
13
  def origination
16
- if (orig = node.css('origination')).any?
17
- orig[0].text.strip
18
- end
14
+ find('did origination')
19
15
  end
20
16
 
21
17
  def langmaterial
22
- if (langm = node.css('langmaterial')).any?
23
- langm[0].text.strip
24
- end
18
+ find('did langmaterial')
25
19
  end
26
20
 
27
21
  def unittitle
28
- if (ut = node.css('unittitle')).any?
29
- ut[0].text.strip
30
- end
22
+ find('did unittitle')
23
+ end
24
+
25
+ def scope_content
26
+ find('scopecontent', :html => true)
27
+ end
28
+
29
+ def note
30
+ find('note', :html => true)
31
+ end
32
+
33
+ def use_restrict
34
+ find('userestrict')
31
35
  end
32
36
 
33
37
  def unitdate
34
- if _unit_dates.any?
35
- _unit_dates[0].text.strip
36
- end
38
+ find('did unitdate')
37
39
  end
38
40
 
39
41
  def unitdate_type
40
- if _unit_dates.any?
41
- _unit_dates[0].attr('type')
42
- end
42
+ node.css('did unitdate')[0].attr('type')
43
43
  end
44
44
 
45
45
  private
46
- def _unit_dates
47
- node.css('unitdate')
46
+ def find(selector, options = {})
47
+ results = node.css(selector)
48
+ return nil unless results.any?
49
+
50
+ if options[:html]
51
+ results[0].children.to_s
52
+ else
53
+ results[0].text.strip
54
+ end
48
55
  end
49
56
  end
50
57
  end
@@ -1,3 +1,3 @@
1
1
  module Eader
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -9,7 +9,9 @@ describe Eader do
9
9
  e.should have(1).items
10
10
 
11
11
  # checking that remote url works
12
- i.should have(4434).items
12
+ if ENV['REMOTE_URL']
13
+ i.should have(4434).items
14
+ end
13
15
  end
14
16
 
15
17
  it "returns item unitids" do
@@ -32,4 +34,40 @@ describe Eader do
32
34
  item.unitdate.should be_empty
33
35
  item.unitdate_type.should == "inclusive"
34
36
  end
37
+
38
+ it "returns items' scope_content" do
39
+ expected = <<-EOD
40
+ <p>Thurman Barker, percussion</p>
41
+ <p>Recorded live 1987.03.21, Links Hall, 3435 N. Sheffield, Chicago, IL 60657</p>
42
+ <p>Contents: [Introduction] (2 min. 17 sec.) -- ["The Hunt"] (11 min. 7 sec.) --
43
+ [Untitled] (11 min. 19 sec.) -- [Untitled] (10 min. 42 sec.) -- ["Blue in
44
+ green"] (12 min. 5 sec.) -- [Intermission] (2 min. 40 sec.) --
45
+ ["Kalingalinga"] (17 min. 1 sec.) -- ["Hocus Pocus"] (21 min. 15 sec.) --
46
+ [Outro] (2 min. 19 sec.)</p>
47
+
48
+ EOD
49
+
50
+ content = item.scope_content.gsub(/\n\s+/, ' ')
51
+
52
+ content.should == expected.gsub(/\n\s+/, ' ')
53
+ end
54
+
55
+ it "returns items' note" do
56
+ expected = <<-EOD
57
+ <p>Barker's recent activities include a trio with Joseph Jarman and Amina
58
+ Claudine Meyers, and solo work on marimba, traps and xylophone. He has
59
+ recorded with Muhal Richard Abrams, Sam Rivers, Anthony Braxton, Roscoe
60
+ Mitchell, Billy Bang, John Lindberg and the World Bass Violin Ensemble, to
61
+ name a few. [Links Hall Program Schedule, March-June 1987]</p>
62
+
63
+ EOD
64
+
65
+ note = item.note.gsub(/\n\s+/, ' ')
66
+
67
+ note.should == expected.gsub(/\n\s+/, ' ')
68
+ end
69
+
70
+ it "returns items' use_restrict" do
71
+ item.use_restrict.should == 'Material is copyright of respective artists.'
72
+ end
35
73
  end
@@ -138,6 +138,24 @@
138
138
  <unittitle> 5 empty loose CD jewel cases [sound recording]</unittitle>
139
139
  <unitdate type="inclusive"> </unitdate>
140
140
  </did>
141
+ <scopecontent>
142
+ <p>Thurman Barker, percussion</p>
143
+ <p>Recorded live 1987.03.21, Links Hall, 3435 N. Sheffield, Chicago, IL 60657</p>
144
+ <p>Contents: [Introduction] (2 min. 17 sec.) -- ["The Hunt"] (11 min. 7 sec.) --
145
+ [Untitled] (11 min. 19 sec.) -- [Untitled] (10 min. 42 sec.) -- ["Blue in
146
+ green"] (12 min. 5 sec.) -- [Intermission] (2 min. 40 sec.) --
147
+ ["Kalingalinga"] (17 min. 1 sec.) -- ["Hocus Pocus"] (21 min. 15 sec.) --
148
+ [Outro] (2 min. 19 sec.)</p>
149
+ </scopecontent>
150
+ <note>
151
+ <p>Barker's recent activities include a trio with Joseph Jarman and Amina
152
+ Claudine Meyers, and solo work on marimba, traps and xylophone. He has
153
+ recorded with Muhal Richard Abrams, Sam Rivers, Anthony Braxton, Roscoe
154
+ Mitchell, Billy Bang, John Lindberg and the World Bass Violin Ensemble, to
155
+ name a few. [Links Hall Program Schedule, March-June 1987]</p>
156
+ </note>
157
+ <userestrict>Material is copyright of respective artists.</userestrict>
158
+
141
159
  </c01>
142
160
  </dsc>
143
161
  </ead>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-27 00:00:00.000000000 Z
12
+ date: 2013-01-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri