roger 0.12.2 → 0.12.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTVhNDk2M2U3ZWFjY2QxMzhhMzU3YTA2OTYwYmNjNTRkYmI1ZTYzYg==
4
+ ZDNkNDAwZjFmOTYxZWVmYjE5MDYwYmFmZWQ5OTU2YmU4Zjc1NzczZg==
5
5
  data.tar.gz: !binary |-
6
- ZmFiYzk4MjkwMDcxOWY0M2FiNThhNGJlNzczZTVjZDBkMTk4MjdiYg==
6
+ MjExZDc0NjVhMGYwNzYzNTM2ZTFhMjFlZGZmMTY5MjE3MWUxZDQ3ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzQ3OTk0ZTIzNmU0ZjgxZTEyMzJhMDUxNGVhNmIxN2IyOTcwMmUxZTk4YmE4
10
- Y2M2YzEyZmE3ZGQxNWUyYWUyMWYwZWIxNzE0MmE3Zjc1MGIyNzQzNmUwN2Fl
11
- YzE4ZDRkNzRkNTIzNDdhMjBlYWYzM2RhNzA4YjI0NzllYWE3MTQ=
9
+ N2UxNjZmMDJjOGVlMmQxOGQ3ODhiYzVhNjMzOGI2ZjYyOGM0YThhMDE1YjUz
10
+ OWEwYWMwYjBhNDk4MGU0MTEzMGRlMDYxNDVlNjJjY2UwYjkxNmRkMmQ2ZjA5
11
+ NDZjNmRhNmNhNWZhNDhkMjBhYjg1NzkwNjBhZjg5YTI1ZTkyYjQ=
12
12
  data.tar.gz: !binary |-
13
- NTU4YWEzYWFmMTZiZTdlYTYwNTgzMmQ5MTI2NDkxN2FlZmI4MGVjNGZkOTVj
14
- MzJlNzVjM2ZiOGQ3MmIyZmIyOGU1ZjEzOWNiMDUxNWIwNGQ5NzFmODg2OTBi
15
- NjBkZjIwOTVmMDBlMjU5ZjNjNjkyNTlhMzgyOWNhYzA5YmI1NmM=
13
+ YjMzZDJjZDM0YWRhZDcwNGIyNmM5ZDUzOTc0OWE3ZmM1ZWUzMWRjMTYxNDA5
14
+ OTYxYTgwMzJlNmQ2MjY4MDcxOWZmNDgxZDYyMTk2NzM0ZmE4MTc0NDJlODhl
15
+ MTAxZGQ5NGZmOWU1NDNjMmVmNTEzN2M5NjBjZjUzMWYzZTUwZjY=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 0.12.3
4
+ * Allow release cleaner to work with arrays of globs/paths
5
+
3
6
  ## Version 0.12.2
4
7
  * Add redcarpet as a dependency so markdown processing always works
5
8
 
@@ -1,25 +1,33 @@
1
1
  module Roger
2
2
  class Release::Cleaner
3
3
  def initialize(pattern)
4
- @pattern = pattern
4
+ @pattern = [pattern].flatten
5
5
  end
6
6
 
7
7
  def call(release, options = {})
8
8
  # We switch to the build path and append the globbed files for safety, so even if you manage to sneak in a
9
9
  # pattern like "/**/*" it won't do you any good as it will be reappended to the path
10
10
  Dir.chdir(release.build_path.to_s) do
11
- Dir.glob(@pattern).each do |file|
12
- path = File.join(release.build_path.to_s, file)
13
- if is_inside_build_path(release.build_path, path)
14
- release.log(self, "Cleaning up \"#{path}\" in build")
15
- rm_rf(path)
16
- else
17
- release.log(self, "FAILED cleaning up \"#{path}\" in build")
11
+ @pattern.each do |pattern|
12
+ Dir.glob(pattern).each do |file|
13
+ self.clean_path(release, file)
18
14
  end
19
15
  end
20
16
  end
21
17
  end
22
18
 
19
+ def clean_path(release, file)
20
+ path = File.join(release.build_path.to_s, file)
21
+ if is_inside_build_path(release.build_path, path)
22
+ release.log(self, "Cleaning up \"#{path}\" in build")
23
+ rm_rf(path)
24
+ true
25
+ else
26
+ release.log(self, "FAILED cleaning up \"#{path}\" in build")
27
+ false
28
+ end
29
+ end
30
+
23
31
  protected
24
32
 
25
33
  def is_inside_build_path(build_path, path)
data/roger.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "roger"
5
- s.version = "0.12.2"
5
+ s.version = "0.12.3"
6
6
 
7
7
  s.authors = ["Flurin Egger", "Edwin van der Graaf", "Joran Kapteijns"]
8
8
  s.email = ["info@digitpaint.nl", "flurin@digitpaint.nl"]
@@ -8,6 +8,27 @@ class CleanerTest < Test::Unit::TestCase
8
8
  @base = File.dirname(__FILE__) + "/../../project"
9
9
  end
10
10
 
11
+ def test_use_array_as_pattern
12
+ dirs = ["dir1", "dir2"]
13
+
14
+ dirs.each do |dir|
15
+ path = @base + "/" +dir
16
+ mkdir path unless File.directory?(path)
17
+ assert(File.directory?(path))
18
+ end
19
+
20
+ project = Roger::Project.new(@base)
21
+ release = Roger::Release.new(project, :build_path => Pathname.new(@base))
22
+
23
+ cleaner = Roger::Release::Cleaner.new(dirs)
24
+ cleaner.call(release)
25
+
26
+ dirs.each do |dir|
27
+ path = @base + "/" + dir
28
+ assert(!File.directory?(path))
29
+ end
30
+ end
31
+
11
32
  def test_only_clean_inside_build_path_relative
12
33
 
13
34
  cleaner = Roger::Release::Cleaner.new(@base)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flurin Egger
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-05-09 00:00:00.000000000 Z
13
+ date: 2014-08-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
@@ -228,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
228
228
  version: '0'
229
229
  requirements: []
230
230
  rubyforge_project:
231
- rubygems_version: 2.1.5
231
+ rubygems_version: 2.2.2
232
232
  signing_key:
233
233
  specification_version: 4
234
234
  summary: Roger is a set of tools to create self-containing HTML mockups.