rivendell-import 1.01 → 1.02
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/Gemfile.lock +13 -13
- data/lib/rivendell/import/cart.rb +8 -4
- data/lib/rivendell/import/version.rb +1 -1
- data/rivendell-import.gemspec +1 -1
- data/spec/rivendell/import/cart_spec.rb +52 -20
- metadata +6 -6
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rivendell-import (1.
|
|
4
|
+
rivendell-import (1.02)
|
|
5
5
|
SyslogLogger (~> 2.0)
|
|
6
6
|
activerecord (~> 3.2.8)
|
|
7
7
|
activesupport (~> 3.2.8)
|
|
@@ -10,7 +10,7 @@ PATH
|
|
|
10
10
|
httparty (= 0.11.0)
|
|
11
11
|
listen (~> 1.3.1)
|
|
12
12
|
mail
|
|
13
|
-
rivendell-api (~> 0.
|
|
13
|
+
rivendell-api (~> 0.9)
|
|
14
14
|
rivendell-db (~> 0.3)
|
|
15
15
|
sinatra
|
|
16
16
|
sqlite3
|
|
@@ -33,9 +33,9 @@ GEM
|
|
|
33
33
|
activesupport (3.2.21)
|
|
34
34
|
i18n (~> 0.6, >= 0.6.4)
|
|
35
35
|
multi_json (~> 1.0)
|
|
36
|
-
addressable (2.3.
|
|
36
|
+
addressable (2.3.7)
|
|
37
37
|
arel (3.0.3)
|
|
38
|
-
bcrypt (3.1.
|
|
38
|
+
bcrypt (3.1.10)
|
|
39
39
|
bcrypt-ruby (3.1.5)
|
|
40
40
|
bcrypt (>= 3.1.3)
|
|
41
41
|
builder (3.0.4)
|
|
@@ -52,7 +52,7 @@ GEM
|
|
|
52
52
|
multi_json (>= 1.7.5, < 2.0)
|
|
53
53
|
multi_test (>= 0.1.1)
|
|
54
54
|
daemons (1.1.9)
|
|
55
|
-
data_objects (0.10.
|
|
55
|
+
data_objects (0.10.15)
|
|
56
56
|
addressable (~> 2.1)
|
|
57
57
|
database_cleaner (1.3.0)
|
|
58
58
|
diff-lcs (1.2.5)
|
|
@@ -80,8 +80,8 @@ GEM
|
|
|
80
80
|
uuidtools (~> 2.1)
|
|
81
81
|
dm-validations (1.2.0)
|
|
82
82
|
dm-core (~> 1.2.0)
|
|
83
|
-
do_mysql (0.10.
|
|
84
|
-
data_objects (= 0.10.
|
|
83
|
+
do_mysql (0.10.15)
|
|
84
|
+
data_objects (= 0.10.15)
|
|
85
85
|
docile (1.1.5)
|
|
86
86
|
fastercsv (1.5.5)
|
|
87
87
|
ffi (1.9.5)
|
|
@@ -107,9 +107,9 @@ GEM
|
|
|
107
107
|
httparty (0.11.0)
|
|
108
108
|
multi_json (~> 1.0)
|
|
109
109
|
multi_xml (>= 0.5.2)
|
|
110
|
-
i18n (0.
|
|
110
|
+
i18n (0.7.0)
|
|
111
111
|
json (1.8.1)
|
|
112
|
-
json_pure (1.8.
|
|
112
|
+
json_pure (1.8.2)
|
|
113
113
|
libnotify (0.8.3)
|
|
114
114
|
ffi (>= 1.0.11)
|
|
115
115
|
listen (1.3.1)
|
|
@@ -134,7 +134,7 @@ GEM
|
|
|
134
134
|
coderay (~> 1.1.0)
|
|
135
135
|
method_source (~> 0.8.1)
|
|
136
136
|
slop (~> 3.4)
|
|
137
|
-
rack (1.
|
|
137
|
+
rack (1.6.0)
|
|
138
138
|
rack-protection (1.5.3)
|
|
139
139
|
rack
|
|
140
140
|
rake (10.3.2)
|
|
@@ -145,11 +145,11 @@ GEM
|
|
|
145
145
|
ffi (>= 0.5.0)
|
|
146
146
|
rdoc (4.1.2)
|
|
147
147
|
json (~> 1.4)
|
|
148
|
-
rivendell-api (0.
|
|
148
|
+
rivendell-api (0.9)
|
|
149
149
|
activesupport
|
|
150
150
|
httmultiparty
|
|
151
151
|
null_logger
|
|
152
|
-
rivendell-db (0.
|
|
152
|
+
rivendell-db (0.4)
|
|
153
153
|
dm-core
|
|
154
154
|
dm-mysql-adapter
|
|
155
155
|
dm-serializer
|
|
@@ -185,7 +185,7 @@ GEM
|
|
|
185
185
|
thor (0.19.1)
|
|
186
186
|
tilt (1.4.1)
|
|
187
187
|
trollop (2.1.1)
|
|
188
|
-
tzinfo (0.3.
|
|
188
|
+
tzinfo (0.3.43)
|
|
189
189
|
uuidtools (2.1.5)
|
|
190
190
|
will_paginate (3.0.7)
|
|
191
191
|
|
|
@@ -10,7 +10,7 @@ module Rivendell::Import
|
|
|
10
10
|
|
|
11
11
|
def attributes
|
|
12
12
|
attributes = {}
|
|
13
|
-
%w{number group clear_cuts title default_title scheduler_codes import_options}.each do |attribute|
|
|
13
|
+
%w{number group clear_cuts title default_title scheduler_codes artist album import_options}.each do |attribute|
|
|
14
14
|
value = send attribute
|
|
15
15
|
attributes[attribute] = value if value.present?
|
|
16
16
|
end
|
|
@@ -32,7 +32,7 @@ module Rivendell::Import
|
|
|
32
32
|
|
|
33
33
|
delegate :blank?, :to => :attributes
|
|
34
34
|
|
|
35
|
-
attr_accessor :number, :group, :title, :default_title, :scheduler_codes
|
|
35
|
+
attr_accessor :number, :group, :title, :default_title, :scheduler_codes, :artist, :album
|
|
36
36
|
attr_reader :task
|
|
37
37
|
|
|
38
38
|
def initialize(task = nil)
|
|
@@ -74,7 +74,7 @@ module Rivendell::Import
|
|
|
74
74
|
def initialize(cart)
|
|
75
75
|
@cart = cart
|
|
76
76
|
end
|
|
77
|
-
delegate :number, :title, :default_title, :scheduler_codes, :to => :cart
|
|
77
|
+
delegate :number, :title, :default_title, :scheduler_codes, :artist, :album, :to => :cart
|
|
78
78
|
|
|
79
79
|
def empty_title?(title)
|
|
80
80
|
[ nil, "", "[new cart]" ].include? title
|
|
@@ -120,6 +120,8 @@ module Rivendell::Import
|
|
|
120
120
|
def attributes
|
|
121
121
|
{}.tap do |attributes|
|
|
122
122
|
attributes[:title] = title_with_default if title_with_default
|
|
123
|
+
attributes[:artist] = artist if artist
|
|
124
|
+
attributes[:album] = album if album
|
|
123
125
|
end
|
|
124
126
|
end
|
|
125
127
|
|
|
@@ -138,10 +140,12 @@ module Rivendell::Import
|
|
|
138
140
|
def update!
|
|
139
141
|
Database.init
|
|
140
142
|
|
|
141
|
-
if title_with_default or not scheduler_codes.empty?
|
|
143
|
+
if title_with_default or artist or album or not scheduler_codes.empty?
|
|
142
144
|
Rivendell::Import.logger.debug "Update Cart by DB"
|
|
143
145
|
current_cart.title = title_with_default if title_with_default
|
|
144
146
|
current_cart.scheduler_codes = scheduler_codes unless scheduler_codes.empty?
|
|
147
|
+
current_cart.artist = artist if artist
|
|
148
|
+
current_cart.album = album if album
|
|
145
149
|
current_cart.save
|
|
146
150
|
end
|
|
147
151
|
end
|
data/rivendell-import.gemspec
CHANGED
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
|
|
|
20
20
|
gem.add_runtime_dependency 'httmultiparty'
|
|
21
21
|
# 0.12.0 requires ruby 1.9.3
|
|
22
22
|
gem.add_runtime_dependency 'httparty', '0.11.0'
|
|
23
|
-
gem.add_runtime_dependency 'rivendell-api', '~> 0.
|
|
23
|
+
gem.add_runtime_dependency 'rivendell-api', '~> 0.9'
|
|
24
24
|
gem.add_runtime_dependency 'trollop'
|
|
25
25
|
gem.add_runtime_dependency 'activerecord', '~> 3.2.8'
|
|
26
26
|
gem.add_runtime_dependency 'activesupport', '~> 3.2.8'
|
|
@@ -192,7 +192,7 @@ describe Rivendell::Import::Cart do
|
|
|
192
192
|
subject.scheduler_codes << "dummy"
|
|
193
193
|
subject.attributes["scheduler_codes"].should == ["dummy"]
|
|
194
194
|
end
|
|
195
|
-
|
|
195
|
+
|
|
196
196
|
end
|
|
197
197
|
|
|
198
198
|
describe "#to_json" do
|
|
@@ -218,12 +218,12 @@ describe Rivendell::Import::Cart do
|
|
|
218
218
|
it "should contain ApiUpdater" do
|
|
219
219
|
subject.updaters.should include(Rivendell::Import::Cart::ApiUpdater)
|
|
220
220
|
end
|
|
221
|
-
|
|
221
|
+
|
|
222
222
|
it "should not contain ApiUpdater if scheduler codes is defined" do
|
|
223
223
|
subject.scheduler_codes << "dummy"
|
|
224
224
|
subject.updaters.should_not include(Rivendell::Import::Cart::ApiUpdater)
|
|
225
225
|
end
|
|
226
|
-
|
|
226
|
+
|
|
227
227
|
it "should contain DbUpdater if Database is enabled" do
|
|
228
228
|
Rivendell::Import::Database.stub :enabled? => true
|
|
229
229
|
subject.updaters.should include(Rivendell::Import::Cart::DbUpdater)
|
|
@@ -233,7 +233,7 @@ describe Rivendell::Import::Cart do
|
|
|
233
233
|
Rivendell::Import::Database.stub :enabled? => false
|
|
234
234
|
subject.updaters.should_not include(Rivendell::Import::Cart::DbUpdater)
|
|
235
235
|
end
|
|
236
|
-
|
|
236
|
+
|
|
237
237
|
end
|
|
238
238
|
|
|
239
239
|
describe "#update" do
|
|
@@ -256,9 +256,9 @@ describe Rivendell::Import::Cart do
|
|
|
256
256
|
subject.stub :updaters => []
|
|
257
257
|
subject.update.should be_false
|
|
258
258
|
end
|
|
259
|
-
|
|
259
|
+
|
|
260
260
|
end
|
|
261
|
-
|
|
261
|
+
|
|
262
262
|
end
|
|
263
263
|
|
|
264
264
|
describe Rivendell::Import::Cart::Updater do
|
|
@@ -299,7 +299,7 @@ describe Rivendell::Import::Cart::Updater do
|
|
|
299
299
|
subject.stub :update! => false
|
|
300
300
|
subject.update.should be_false
|
|
301
301
|
end
|
|
302
|
-
|
|
302
|
+
|
|
303
303
|
end
|
|
304
304
|
|
|
305
305
|
describe "#title_with_default" do
|
|
@@ -317,7 +317,7 @@ describe Rivendell::Import::Cart::Updater do
|
|
|
317
317
|
context "when default title is defined" do
|
|
318
318
|
|
|
319
319
|
before { cart.default_title = "dummy" }
|
|
320
|
-
|
|
320
|
+
|
|
321
321
|
it "should default title if current title is empty" do
|
|
322
322
|
subject.stub current_title: "[new cart]"
|
|
323
323
|
subject.title_with_default.should == cart.default_title
|
|
@@ -329,9 +329,9 @@ describe Rivendell::Import::Cart::Updater do
|
|
|
329
329
|
end
|
|
330
330
|
|
|
331
331
|
end
|
|
332
|
-
|
|
332
|
+
|
|
333
333
|
end
|
|
334
|
-
|
|
334
|
+
|
|
335
335
|
end
|
|
336
336
|
|
|
337
337
|
describe Rivendell::Import::Cart::ApiUpdater do
|
|
@@ -353,7 +353,7 @@ describe Rivendell::Import::Cart::ApiUpdater do
|
|
|
353
353
|
xport.should_receive(:list_cart).with(cart.number).and_return(xport_cart)
|
|
354
354
|
subject.current_title.should == xport_cart.title
|
|
355
355
|
end
|
|
356
|
-
|
|
356
|
+
|
|
357
357
|
end
|
|
358
358
|
|
|
359
359
|
describe "#attributes" do
|
|
@@ -367,7 +367,27 @@ describe Rivendell::Import::Cart::ApiUpdater do
|
|
|
367
367
|
subject.stub title_with_default: nil
|
|
368
368
|
subject.attributes.should == {}
|
|
369
369
|
end
|
|
370
|
-
|
|
370
|
+
|
|
371
|
+
it "should contain artist if defined" do
|
|
372
|
+
cart.artist = "dummy"
|
|
373
|
+
subject.attributes[:artist].should == subject.artist
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
it "should not contain artist if not defined" do
|
|
377
|
+
cart.artist = nil
|
|
378
|
+
subject.attributes.should_not have_key(:artist)
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
it "should contain album if defined" do
|
|
382
|
+
cart.album = "dummy"
|
|
383
|
+
subject.attributes[:album].should == subject.album
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
it "should not contain album if not defined" do
|
|
387
|
+
cart.album = nil
|
|
388
|
+
subject.attributes.should_not have_key(:album)
|
|
389
|
+
end
|
|
390
|
+
|
|
371
391
|
end
|
|
372
392
|
|
|
373
393
|
describe "#update!" do
|
|
@@ -379,7 +399,7 @@ describe Rivendell::Import::Cart::ApiUpdater do
|
|
|
379
399
|
xport.should_receive(:edit_cart).with(cart.number, subject.attributes)
|
|
380
400
|
subject.update!
|
|
381
401
|
end
|
|
382
|
-
|
|
402
|
+
|
|
383
403
|
end
|
|
384
404
|
|
|
385
405
|
context "when attributes is empty" do
|
|
@@ -389,11 +409,11 @@ describe Rivendell::Import::Cart::ApiUpdater do
|
|
|
389
409
|
xport.should_not_receive(:edit_cart)
|
|
390
410
|
subject.update!.should be_true
|
|
391
411
|
end
|
|
392
|
-
|
|
412
|
+
|
|
393
413
|
end
|
|
394
|
-
|
|
414
|
+
|
|
395
415
|
end
|
|
396
|
-
|
|
416
|
+
|
|
397
417
|
end
|
|
398
418
|
|
|
399
419
|
describe Rivendell::Import::Cart::DbUpdater do
|
|
@@ -416,7 +436,7 @@ describe Rivendell::Import::Cart::DbUpdater do
|
|
|
416
436
|
Rivendell::DB::Cart.should_receive(:get).with(cart.number).and_return(db_cart)
|
|
417
437
|
subject.current_cart.should == db_cart
|
|
418
438
|
end
|
|
419
|
-
|
|
439
|
+
|
|
420
440
|
end
|
|
421
441
|
|
|
422
442
|
describe "#current_title" do
|
|
@@ -425,7 +445,7 @@ describe Rivendell::Import::Cart::DbUpdater do
|
|
|
425
445
|
db_cart.stub title: "dummy"
|
|
426
446
|
subject.current_title.should == db_cart.title
|
|
427
447
|
end
|
|
428
|
-
|
|
448
|
+
|
|
429
449
|
end
|
|
430
450
|
|
|
431
451
|
describe "#update!" do
|
|
@@ -441,12 +461,24 @@ describe Rivendell::Import::Cart::DbUpdater do
|
|
|
441
461
|
db_cart.title.should == subject.title_with_default
|
|
442
462
|
end
|
|
443
463
|
|
|
464
|
+
it "should use artist as Cart artist" do
|
|
465
|
+
subject.stub artist: "dummy"
|
|
466
|
+
subject.update!
|
|
467
|
+
db_cart.artist.should == subject.artist
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
it "should use album as Cart album" do
|
|
471
|
+
subject.stub album: "dummy"
|
|
472
|
+
subject.update!
|
|
473
|
+
db_cart.album.should == subject.album
|
|
474
|
+
end
|
|
475
|
+
|
|
444
476
|
it "should define scheduler_codes" do
|
|
445
477
|
subject.stub scheduler_codes: ["dummy"]
|
|
446
478
|
subject.update!
|
|
447
479
|
db_cart.scheduler_codes.should == subject.scheduler_codes
|
|
448
480
|
end
|
|
449
|
-
|
|
481
|
+
|
|
450
482
|
end
|
|
451
|
-
|
|
483
|
+
|
|
452
484
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rivendell-import
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.02'
|
|
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: 2015-
|
|
12
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: listen
|
|
@@ -66,7 +66,7 @@ dependencies:
|
|
|
66
66
|
requirements:
|
|
67
67
|
- - ~>
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0.
|
|
69
|
+
version: '0.9'
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -74,7 +74,7 @@ dependencies:
|
|
|
74
74
|
requirements:
|
|
75
75
|
- - ~>
|
|
76
76
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.
|
|
77
|
+
version: '0.9'
|
|
78
78
|
- !ruby/object:Gem::Dependency
|
|
79
79
|
name: trollop
|
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -503,7 +503,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
503
503
|
version: '0'
|
|
504
504
|
segments:
|
|
505
505
|
- 0
|
|
506
|
-
hash:
|
|
506
|
+
hash: 2132046489375508529
|
|
507
507
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
508
508
|
none: false
|
|
509
509
|
requirements:
|
|
@@ -512,7 +512,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
512
512
|
version: '0'
|
|
513
513
|
segments:
|
|
514
514
|
- 0
|
|
515
|
-
hash:
|
|
515
|
+
hash: 2132046489375508529
|
|
516
516
|
requirements: []
|
|
517
517
|
rubyforge_project:
|
|
518
518
|
rubygems_version: 1.8.23
|