rivendell-api 0.0.5 → 0.6

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/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
  *~
19
19
  log/*
20
+ .ruby-version
@@ -13,10 +13,6 @@ module Rivendell::API
13
13
  @number = (number ? number.to_i : nil)
14
14
  end
15
15
 
16
- def has_title?
17
- not [ nil, "", "[new cart]" ].include? title
18
- end
19
-
20
16
  alias_method :group, :group_name
21
17
  alias_method :group=, :group_name=
22
18
 
@@ -1,5 +1,5 @@
1
1
  module Rivendell
2
2
  module Api
3
- VERSION = "0.0.5"
3
+ VERSION = "0.6"
4
4
  end
5
5
  end
@@ -102,26 +102,30 @@ module Rivendell::API
102
102
  options[:group_name] ||= options.delete(:group)
103
103
 
104
104
  response = post COMMAND_LISTCARTS, options
105
- response["cartList"]["cart"].collect do |cart_xml|
105
+ elements(response["cartList"]["cart"]).collect do |cart_xml|
106
106
  Rivendell::API::Cart.new(cart_xml)
107
107
  end
108
108
  end
109
109
 
110
+ def elements(response)
111
+ case response
112
+ when Array
113
+ response
114
+ when nil
115
+ []
116
+ else
117
+ [ response ]
118
+ end
119
+ end
120
+
110
121
  def remove_cart(cart_number)
111
122
  post COMMAND_REMOVECART, :cart_number => cart_number
112
123
  end
113
124
 
114
125
  def list_cuts(cart_number)
115
126
  response = post COMMAND_LISTCUTS, :cart_number => cart_number
116
- case cuts_xml = response["cutList"]["cut"]
117
- when Array
118
- cuts_xml.collect do |cut_xml|
119
- Rivendell::API::Cut.new(cut_xml)
120
- end
121
- when nil
122
- []
123
- else
124
- [ Rivendell::API::Cut.new(cuts_xml) ]
127
+ elements(response["cutList"]["cut"]).collect do |cut_xml|
128
+ Rivendell::API::Cut.new cut_xml
125
129
  end
126
130
  end
127
131
 
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <cartList>
3
+ <cart>
4
+ <number>10037</number>
5
+ <type>audio</type>
6
+ <groupName>MUSIC</groupName>
7
+ <title>Rivendell 1</title>
8
+ <artist>Trust</artist>
9
+ <album>AntiBest of</album>
10
+ <year></year>
11
+ <label></label>
12
+ <client></client>
13
+ <agency></agency>
14
+ <publisher></publisher>
15
+ <composer></composer>
16
+ <userDefined></userDefined>
17
+ <usageCode>0</usageCode>
18
+ <forcedLength>0:05:05.8</forcedLength>
19
+ <averageLength>0:05:05.8</averageLength>
20
+ <lengthDeviation>0:00:00.0</lengthDeviation>
21
+ <averageSegueLenth>0:05:05.8</averageSegueLenth>
22
+ <averageHookLength>0:00:00.0</averageHookLength>
23
+ <cutQuantity>1</cutQuantity>
24
+ <lastCutPlayed>0</lastCutPlayed>
25
+ <validity>2</validity>
26
+ <enforceLength>false</enforceLength>
27
+ <asyncronous>false</asyncronous>
28
+ <owner></owner>
29
+ <metadataDatetime>Mon, 29 Aug 2011 15:15:56 GMT</metadataDatetime>
30
+ <cutList>
31
+ <cut>
32
+ <cutName>010037_001</cutName>
33
+ <cartNumber>10037</cartNumber>
34
+ <cutNumber>1</cutNumber>
35
+ <evergreen>false</evergreen>
36
+ <description>Antisocial</description>
37
+ <outcue></outcue>
38
+ <isrc></isrc>
39
+ <isci></isci>
40
+ <length>305842</length>
41
+ <originDatetime>Sat, 14 May 2011 09:51:00 GMT</originDatetime>
42
+ <startDatetime></startDatetime>
43
+ <endDatetime></endDatetime>
44
+ <sun>true</sun>
45
+ <mon>true</mon>
46
+ <tue>true</tue>
47
+ <wed>true</wed>
48
+ <thu>true</thu>
49
+ <fri>true</fri>
50
+ <sat>true</sat>
51
+ <startDaypart></startDaypart>
52
+ <endDaypart></endDaypart>
53
+ <originName>hyppo</originName>
54
+ <weight>1</weight>
55
+ <lastPlayDatetime>Mon, 29 Aug 2011 19:45:08 GMT</lastPlayDatetime>
56
+ <playCounter>1</playCounter>
57
+ <localCounter>1</localCounter>
58
+ <validity>2</validity>
59
+ <codingFormat>0</codingFormat>
60
+ <sampleRate>44100</sampleRate>
61
+ <bitRate>0</bitRate>
62
+ <channels>2</channels>
63
+ <playGain>0</playGain>
64
+ <startPoint>117</startPoint>
65
+ <endPoint>305959</endPoint>
66
+ <fadeupPoint>-1</fadeupPoint>
67
+ <fadedownPoint>-1</fadedownPoint>
68
+ <segueStartPoint>-1</segueStartPoint>
69
+ <segueEndPoint>-1</segueEndPoint>
70
+ <segueGain>-3000</segueGain>
71
+ <hookStartPoint>-1</hookStartPoint>
72
+ <hookEndPoint>-1</hookEndPoint>
73
+ <talkStartPoint>-1</talkStartPoint>
74
+ <talkEndPoint>0</talkEndPoint>
75
+ </cut>
76
+ </cutList>
77
+ </cart>
78
+ </cartList>
@@ -2,28 +2,4 @@ require 'spec_helper'
2
2
 
3
3
  describe Rivendell::API::Cart do
4
4
 
5
- describe "has_title?" do
6
-
7
- it "should return false if title is nil" do
8
- subject.title = nil
9
- subject.should_not have_title
10
- end
11
-
12
- it "should return false if title is empty" do
13
- subject.title = ""
14
- subject.should_not have_title
15
- end
16
-
17
- it "should return false if title is '[new cart]'" do
18
- subject.title = "[new cart]"
19
- subject.should_not have_title
20
- end
21
-
22
- it "should return true if title is something else" do
23
- subject.title = "dummy"
24
- subject.should have_title
25
- end
26
-
27
- end
28
-
29
5
  end
@@ -222,6 +222,18 @@ describe Rivendell::API::Xport do
222
222
  FakeWeb.last_request["GROUP_NAME"] == "TEST"
223
223
  end
224
224
 
225
+ context "when a single cart is found" do
226
+
227
+ before(:each) do
228
+ FakeWeb.register_uri(:post, "http://localhost/rd-bin/rdxport.cgi", :body => fixture_content("rdxport_list_carts-single-cart.xml"))
229
+ end
230
+
231
+ it "should return Cast" do
232
+ subject.list_carts.map(&:title).should == ["Rivendell 1"]
233
+ end
234
+
235
+ end
236
+
225
237
  end
226
238
 
227
239
  describe "#list_cuts" do
metadata CHANGED
@@ -1,158 +1,168 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rivendell-api
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.6'
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Alban Peignier
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-08-02 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- type: :runtime
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
32
- requirement: *id001
12
+ date: 2014-05-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
33
15
  name: httmultiparty
34
- - !ruby/object:Gem::Dependency
35
- prerelease: false
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
36
22
  type: :runtime
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
46
- requirement: *id002
47
- name: activesupport
48
- - !ruby/object:Gem::Dependency
49
23
  prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: activesupport
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
50
38
  type: :runtime
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
60
- requirement: *id003
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
61
47
  name: null_logger
62
- - !ruby/object:Gem::Dependency
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
63
55
  prerelease: false
64
- type: :development
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
- requirement: *id004
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
75
63
  name: simplecov
76
- - !ruby/object:Gem::Dependency
77
- prerelease: false
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
78
70
  type: :development
79
- version_requirements: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
- requirement: *id005
89
- name: rspec
90
- - !ruby/object:Gem::Dependency
91
71
  prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
92
86
  type: :development
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
102
- requirement: *id006
103
- name: guard
104
- - !ruby/object:Gem::Dependency
105
87
  prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: guard
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
106
102
  type: :development
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
- requirement: *id007
117
- name: guard-rspec
118
- - !ruby/object:Gem::Dependency
119
103
  prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: guard-rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
120
118
  type: :development
121
- version_requirements: &id008 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
130
- requirement: *id008
131
- name: rake
132
- - !ruby/object:Gem::Dependency
133
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rake
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
134
  type: :development
135
- version_requirements: &id009 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 3
141
- segments:
142
- - 0
143
- version: "0"
144
- requirement: *id009
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
145
143
  name: fakeweb
146
- description: Use the rdxport interface to retrieve Groups, create/edit/retrieve Carts and Cuts, import Cut sound.
147
- email:
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ description: Use the rdxport interface to retrieve Groups, create/edit/retrieve Carts
159
+ and Cuts, import Cut sound.
160
+ email:
148
161
  - alban@tryphon.eu
149
162
  executables: []
150
-
151
163
  extensions: []
152
-
153
164
  extra_rdoc_files: []
154
-
155
- files:
165
+ files:
156
166
  - .gitignore
157
167
  - COPYING
158
168
  - COPYRIGHT
@@ -161,7 +171,6 @@ files:
161
171
  - README.md
162
172
  - Rakefile
163
173
  - lib/rivendell-api.rb
164
- - lib/rivendell-api/version.rb
165
174
  - lib/rivendell/api.rb
166
175
  - lib/rivendell/api/cart.rb
167
176
  - lib/rivendell/api/cut.rb
@@ -173,6 +182,7 @@ files:
173
182
  - spec/fixtures/rdxport_add_cut.xml
174
183
  - spec/fixtures/rdxport_edit_cart.xml
175
184
  - spec/fixtures/rdxport_import.xml
185
+ - spec/fixtures/rdxport_list_carts-single-cart.xml
176
186
  - spec/fixtures/rdxport_list_carts.xml
177
187
  - spec/fixtures/rdxport_list_cuts.xml
178
188
  - spec/fixtures/rdxport_list_groups.xml
@@ -184,43 +194,41 @@ files:
184
194
  - tasks/rspec.rake
185
195
  homepage: http://projects.tryphon.eu/rivendell-api
186
196
  licenses: []
187
-
188
197
  post_install_message:
189
198
  rdoc_options: []
190
-
191
- require_paths:
199
+ require_paths:
192
200
  - lib
193
- required_ruby_version: !ruby/object:Gem::Requirement
201
+ required_ruby_version: !ruby/object:Gem::Requirement
194
202
  none: false
195
- requirements:
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- hash: 3
199
- segments:
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ segments:
200
208
  - 0
201
- version: "0"
202
- required_rubygems_version: !ruby/object:Gem::Requirement
209
+ hash: 4594079732758632000
210
+ required_rubygems_version: !ruby/object:Gem::Requirement
203
211
  none: false
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- hash: 3
208
- segments:
212
+ requirements:
213
+ - - ! '>='
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ segments:
209
217
  - 0
210
- version: "0"
218
+ hash: 4594079732758632000
211
219
  requirements: []
212
-
213
220
  rubyforge_project:
214
- rubygems_version: 1.8.24
221
+ rubygems_version: 1.8.23
215
222
  signing_key:
216
223
  specification_version: 3
217
224
  summary: Pilots Rivendell via http/xml API
218
- test_files:
225
+ test_files:
219
226
  - spec/fixtures/empty.wav
220
227
  - spec/fixtures/rdxport_add_cart.xml
221
228
  - spec/fixtures/rdxport_add_cut.xml
222
229
  - spec/fixtures/rdxport_edit_cart.xml
223
230
  - spec/fixtures/rdxport_import.xml
231
+ - spec/fixtures/rdxport_list_carts-single-cart.xml
224
232
  - spec/fixtures/rdxport_list_carts.xml
225
233
  - spec/fixtures/rdxport_list_cuts.xml
226
234
  - spec/fixtures/rdxport_list_groups.xml
@@ -1,5 +0,0 @@
1
- module Rivendell
2
- module Api
3
- VERSION = "0.0.1"
4
- end
5
- end