roopap 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/lib/roopap/organizer.rb +13 -0
- data/lib/roopap/output_text.rb +11 -0
- data/lib/roopap/version.rb +1 -1
- data/lib/roopap.rb +4 -1
- data/roopap.gemspec +1 -0
- data/spec/integration_spec.rb +8 -0
- data/spec/lib/organizer_spec.rb +11 -0
- metadata +16 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4e2206ba4cf87b2886bced9a3908d4ed3f508dca
|
|
4
|
+
data.tar.gz: 398a643e62e33c25ae2b2b042f79d4984481696b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0a3cb521a0c8a110f7ff21cec93a11deb6c3da8376983d9e25de89e85f3b6fcf8f4e1347cc9baef31f780589fe047d04fc564b17c3383ed73edfffcf8193eee
|
|
7
|
+
data.tar.gz: 53b5413d4ef439c899bd56f0edcfd14029edb8c17b236cb74807cee3c15f71e086a1cb52fc0149f335bd1c1788c1d9fcb05d453b59835b6583d8aa2226847ab0
|
data/lib/roopap/organizer.rb
CHANGED
|
@@ -2,6 +2,10 @@ require 'exifr'
|
|
|
2
2
|
|
|
3
3
|
module Roopap
|
|
4
4
|
class Organizer
|
|
5
|
+
def initialize
|
|
6
|
+
@count = 0
|
|
7
|
+
end
|
|
8
|
+
|
|
5
9
|
def perform(source, dest)
|
|
6
10
|
Pathname.new(source).each_child do |c|
|
|
7
11
|
src_file_path = c.to_s
|
|
@@ -9,9 +13,14 @@ module Roopap
|
|
|
9
13
|
target_path = dest_for(src_file_path, dest)
|
|
10
14
|
prepare_dir(target_path)
|
|
11
15
|
copy(src_file_path, target_path)
|
|
16
|
+
inc_success_number
|
|
12
17
|
end
|
|
13
18
|
end
|
|
14
19
|
|
|
20
|
+
def organized_file_count
|
|
21
|
+
@count
|
|
22
|
+
end
|
|
23
|
+
|
|
15
24
|
private
|
|
16
25
|
def jpg_file?(path)
|
|
17
26
|
begin
|
|
@@ -35,5 +44,9 @@ module Roopap
|
|
|
35
44
|
def copy(filepath, dest)
|
|
36
45
|
FileUtils.cp(filepath, dest)
|
|
37
46
|
end
|
|
47
|
+
|
|
48
|
+
def inc_success_number
|
|
49
|
+
@count = @count + 1
|
|
50
|
+
end
|
|
38
51
|
end
|
|
39
52
|
end
|
data/lib/roopap/version.rb
CHANGED
data/lib/roopap.rb
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
require "roopap/version"
|
|
2
2
|
require "roopap/organizer"
|
|
3
|
+
require "roopap/output_text"
|
|
3
4
|
|
|
4
5
|
module Roopap
|
|
5
6
|
def self.process(args)
|
|
6
7
|
source, dest = *args
|
|
7
|
-
Organizer.new
|
|
8
|
+
organizer = Organizer.new
|
|
9
|
+
organizer.perform(source, dest)
|
|
10
|
+
OutputText.new($stdout).finish(organizer.organized_file_count)
|
|
8
11
|
end
|
|
9
12
|
end
|
data/roopap.gemspec
CHANGED
data/spec/integration_spec.rb
CHANGED
|
@@ -23,4 +23,12 @@ describe "Calling Roopap via shell command" do
|
|
|
23
23
|
assert FileTest.exists?("#{target}/2011-04/b.jpg"), "No file in the target directory"
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
it "displays number of copied files" do
|
|
27
|
+
from = 'spec/fixtures/1'
|
|
28
|
+
target = output_dir
|
|
29
|
+
|
|
30
|
+
text = `bin/roopap #{from} #{target}`
|
|
31
|
+
|
|
32
|
+
assert_match(/2 files/, text, "Not print number of organized files")
|
|
33
|
+
end
|
|
26
34
|
end
|
data/spec/lib/organizer_spec.rb
CHANGED
|
@@ -33,5 +33,16 @@ module Roopap
|
|
|
33
33
|
|
|
34
34
|
assert FileTest.exists?("#{target}/2006-01/a.jpg"), "No file in the target directory"
|
|
35
35
|
end
|
|
36
|
+
|
|
37
|
+
it "returns number of organized files" do
|
|
38
|
+
source = 'spec/fixtures/1'
|
|
39
|
+
target = output_dir
|
|
40
|
+
|
|
41
|
+
o = Organizer.new
|
|
42
|
+
o.perform(source, target)
|
|
43
|
+
out = o.organized_file_count
|
|
44
|
+
|
|
45
|
+
assert_equal out, 2, "Number of organized files"
|
|
46
|
+
end
|
|
36
47
|
end
|
|
37
48
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: roopap
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nuttanart Pornprasitsakul
|
|
@@ -38,6 +38,20 @@ dependencies:
|
|
|
38
38
|
- - '>='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: pry
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - '>='
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: exifr
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,6 +86,7 @@ files:
|
|
|
72
86
|
- bin/roopap
|
|
73
87
|
- lib/roopap.rb
|
|
74
88
|
- lib/roopap/organizer.rb
|
|
89
|
+
- lib/roopap/output_text.rb
|
|
75
90
|
- lib/roopap/version.rb
|
|
76
91
|
- roopap.gemspec
|
|
77
92
|
- spec/fixtures/1/a.jpg
|