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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7d417193b5eacb7b84b4939e06f2d49d1b3a7cc
4
- data.tar.gz: 9341510c5db4f4b29e42889339f46bb0e8a4eaa2
3
+ metadata.gz: 4e2206ba4cf87b2886bced9a3908d4ed3f508dca
4
+ data.tar.gz: 398a643e62e33c25ae2b2b042f79d4984481696b
5
5
  SHA512:
6
- metadata.gz: 92cc7f08b0b97a60cb905b31a76c855ba2e1531e07508348d288485a4d36c96240966498f4f97b544f3dd463589ed0b24dbc7a704896ecdc1fa6709bd0bddb0d
7
- data.tar.gz: b259b600db393c5b28ffb083d632be0f5612a5e9529838b92c374ebdf9c1d5bbd49a8ae5570c3f3ea42299ba57c96e3891eac8bd23e6b722f752ad9f93f17b69
6
+ metadata.gz: d0a3cb521a0c8a110f7ff21cec93a11deb6c3da8376983d9e25de89e85f3b6fcf8f4e1347cc9baef31f780589fe047d04fc564b17c3383ed73edfffcf8193eee
7
+ data.tar.gz: 53b5413d4ef439c899bd56f0edcfd14029edb8c17b236cb74807cee3c15f71e086a1cb52fc0149f335bd1c1788c1d9fcb05d453b59835b6583d8aa2226847ab0
@@ -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
@@ -0,0 +1,11 @@
1
+ module Roopap
2
+ class OutputText
3
+ def initialize(out)
4
+ @out = out
5
+ end
6
+ def finish(number_of_organized_files)
7
+ @out.puts "Successfully organized. #{number_of_organized_files} files is copied."
8
+ @out.flush
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Roopap
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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.perform(source, dest)
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
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.3"
21
21
  spec.add_development_dependency "rake"
22
+ spec.add_development_dependency "pry"
22
23
 
23
24
  spec.add_dependency "exifr"
24
25
  end
@@ -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
@@ -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.2
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