rivendell-import 0.8 → 0.9
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 +6 -4
- data/features/manage_file_matching.feature +1 -4
- data/lib/rivendell/import/base.rb +13 -0
- data/lib/rivendell/import/cart.rb +1 -1
- data/lib/rivendell/import/version.rb +1 -1
- data/spec/rivendell/import/base_spec.rb +21 -0
- data/spec/rivendell/import/cart_spec.rb +55 -0
- metadata +4 -4
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rivendell-import (0.
|
4
|
+
rivendell-import (0.9)
|
5
5
|
SyslogLogger (~> 2.0)
|
6
6
|
activerecord (~> 3.2.8)
|
7
7
|
activesupport (~> 3.2.8)
|
@@ -93,8 +93,9 @@ GEM
|
|
93
93
|
guard (>= 1.1)
|
94
94
|
rspec (~> 2.11)
|
95
95
|
highline (1.6.16)
|
96
|
-
httmultiparty (0.3.
|
96
|
+
httmultiparty (0.3.14)
|
97
97
|
httparty (>= 0.7.3)
|
98
|
+
mimemagic
|
98
99
|
multipart-post
|
99
100
|
httparty (0.11.0)
|
100
101
|
multi_json (~> 1.0)
|
@@ -112,10 +113,11 @@ GEM
|
|
112
113
|
mime-types (~> 1.16)
|
113
114
|
treetop (~> 1.4.8)
|
114
115
|
mime-types (1.25.1)
|
116
|
+
mimemagic (0.2.1)
|
115
117
|
multi_json (1.8.2)
|
116
118
|
multi_test (0.0.3)
|
117
119
|
multi_xml (0.5.5)
|
118
|
-
multipart-post (
|
120
|
+
multipart-post (2.0.0)
|
119
121
|
net-scp (1.1.0)
|
120
122
|
net-ssh (>= 2.6.5)
|
121
123
|
net-sftp (2.1.1)
|
@@ -124,7 +126,7 @@ GEM
|
|
124
126
|
net-ssh-gateway (1.2.0)
|
125
127
|
net-ssh (>= 2.6.5)
|
126
128
|
null_logger (0.0.1)
|
127
|
-
polyglot (0.3.
|
129
|
+
polyglot (0.3.5)
|
128
130
|
rack (1.5.2)
|
129
131
|
rack-protection (1.5.1)
|
130
132
|
rack
|
@@ -45,7 +45,20 @@ module Rivendell::Import
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
attr_accessor :file_patterns
|
49
|
+
def file_patterns
|
50
|
+
@file_patterns ||= ["**/*", "*"]
|
51
|
+
end
|
52
|
+
|
53
|
+
def ignore?(path)
|
54
|
+
not file_patterns.any? do |file_pattern|
|
55
|
+
::File.fnmatch file_pattern, path, ::File::FNM_PATHNAME | ::File::FNM_CASEFOLD
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
48
59
|
def file(path, base_directory = nil)
|
60
|
+
return if ignore? path
|
61
|
+
|
49
62
|
path = ::File.expand_path(path, base_directory)
|
50
63
|
file = Rivendell::Import::File.new path, :base_directory => base_directory
|
51
64
|
create_task file
|
@@ -126,4 +126,25 @@ describe Rivendell::Import::Base do
|
|
126
126
|
|
127
127
|
end
|
128
128
|
|
129
|
+
describe "#ignore?" do
|
130
|
+
|
131
|
+
context "when default file patterns" do
|
132
|
+
|
133
|
+
it "should ignore hidden file" do
|
134
|
+
subject.ignore?("path/to/.nfs00000000074200420000000c").should be_true
|
135
|
+
subject.ignore?(".nfs00000000074200420000000c").should be_true
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should accept files in directories" do
|
139
|
+
subject.ignore?("path/to/normal_file.mp3").should be_false
|
140
|
+
end
|
141
|
+
|
142
|
+
it "should accept files in root directory" do
|
143
|
+
subject.ignore?("file").should be_false
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
|
129
150
|
end
|
@@ -208,5 +208,60 @@ describe Rivendell::Import::Cart do
|
|
208
208
|
|
209
209
|
end
|
210
210
|
|
211
|
+
describe "#empty_title?" do
|
211
212
|
|
213
|
+
it "should true when title is nil" do
|
214
|
+
subject.empty_title?(nil).should be_true
|
215
|
+
end
|
216
|
+
|
217
|
+
it "should true when title is '[new cart]'" do
|
218
|
+
subject.empty_title?('[new cart]').should be_true
|
219
|
+
end
|
220
|
+
|
221
|
+
it "should false when title is anything else" do
|
222
|
+
subject.empty_title?('dummy').should be_false
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|
226
|
+
|
227
|
+
describe "update" do
|
228
|
+
|
229
|
+
it "should invoke update_by_api" do
|
230
|
+
subject.should_receive :update_by_api
|
231
|
+
subject.update
|
232
|
+
end
|
233
|
+
|
234
|
+
context "when when update_by_api fails" do
|
235
|
+
|
236
|
+
before do
|
237
|
+
subject.stub(:update_by_api).and_raise("#fail")
|
238
|
+
end
|
239
|
+
|
240
|
+
context "when database is enabled" do
|
241
|
+
|
242
|
+
before do
|
243
|
+
Rivendell::Import::Database.stub :enabled? => true
|
244
|
+
end
|
245
|
+
|
246
|
+
it "should invoke update_by_db " do
|
247
|
+
subject.should_receive :update_by_db
|
248
|
+
subject.update
|
249
|
+
end
|
250
|
+
|
251
|
+
end
|
252
|
+
|
253
|
+
context "when database is disabled" do
|
254
|
+
|
255
|
+
before do
|
256
|
+
Rivendell::Import::Database.stub :enabled? => false
|
257
|
+
end
|
258
|
+
|
259
|
+
it "should not invoke update_by_db " do
|
260
|
+
subject.should_not_receive :update_by_db
|
261
|
+
subject.update
|
262
|
+
end
|
263
|
+
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
212
267
|
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: '0.
|
4
|
+
version: '0.9'
|
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: 2014-
|
12
|
+
date: 2014-06-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: listen
|
@@ -482,7 +482,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
482
482
|
version: '0'
|
483
483
|
segments:
|
484
484
|
- 0
|
485
|
-
hash:
|
485
|
+
hash: 1053952433249090038
|
486
486
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
487
487
|
none: false
|
488
488
|
requirements:
|
@@ -491,7 +491,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
491
491
|
version: '0'
|
492
492
|
segments:
|
493
493
|
- 0
|
494
|
-
hash:
|
494
|
+
hash: 1053952433249090038
|
495
495
|
requirements: []
|
496
496
|
rubyforge_project:
|
497
497
|
rubygems_version: 1.8.23
|