dir_processor 0.0.1 → 0.0.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 10d6f5ab5e6d49e35bd95242f55f3e5dd521d980
4
+ data.tar.gz: 674e9908a7439c5c17a889d974e0ec5ffcb243a2
5
+ SHA512:
6
+ metadata.gz: 2a2ca5162db8e1828165210f6e881954f2686c5f58e7dfd7aa7b931bbb8a16eb03ac5c615851baf368fcaabdaf8905215b26acaff61f5646516c772d431799ed
7
+ data.tar.gz: 511869bc930d2e7adcabcc61c6d715e682cdca2bf1c6d3c21b8371807e22a13fd369617a466f31fac67e017b5273a7406885d0ced7ea4ad76ceec6f2fcb0ccec
@@ -1,3 +1,3 @@
1
1
  module DirProcessor
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/dir_processor.rb CHANGED
@@ -40,7 +40,7 @@ module DirProcessor
40
40
  # DSL definition
41
41
  class AFile < Struct.new :pattern
42
42
  @dsl = :file
43
- include RemembersBlock, AcceptPattern #UseBlockAndPattern
43
+ include RemembersBlock, AcceptPattern
44
44
  def feed given
45
45
  @block.call given if accept? given
46
46
  end
@@ -51,6 +51,11 @@ module DirProcessor
51
51
  AFile = AFile
52
52
  include AcceptPattern
53
53
 
54
+ class First
55
+ include RemembersBlock
56
+ def feed dir; @block.call dir end
57
+ end
58
+
54
59
  def feed dir
55
60
  return unless accept? dir
56
61
 
@@ -60,6 +65,10 @@ module DirProcessor
60
65
  all_files = all[:files]
61
66
  all_dirs = all[:dirs]
62
67
 
68
+ so2(:first).each do |processor|
69
+ processor.feed dir
70
+ end
71
+
63
72
  so2(:file).each do |processor|
64
73
  (all[:files] || []).each { |file| processor.feed long_name(dir,file) }
65
74
  end
data/spec/example_spec.rb CHANGED
@@ -25,13 +25,18 @@ describe 'DirProcessor method' do
25
25
  DirProcessor(){}.send(:so).should_not == DirProcessor(){ dir('.'){} }.send(:so)
26
26
  end
27
27
 
28
- example 'basic' do
28
+ example 'main' do
29
29
  data = {}
30
30
  this = DirProcessor do
31
31
  file 'about.png' do |file|
32
32
  data[:about] = file
33
33
  end
34
34
  dir 'mp3s' do
35
+ first do |dir|
36
+ Dir.exist?(dir).should == true
37
+ (data[:dirs] ||= []) << dir
38
+ end
39
+
35
40
  file '*.mp3' do |file|
36
41
  File.exist?(file).should == true
37
42
  (data[:mp3s] ||= []) << file
@@ -50,9 +55,10 @@ describe 'DirProcessor method' do
50
55
  this.feed '.'
51
56
  end
52
57
 
53
- data.keys.should =~ [:about, :mp3s]
58
+ data.keys.should =~ [:about, :dirs, :mp3s]
54
59
  data[:about].should == 'about.png'
55
60
  data[:mp3s].should =~ %w[ mp3s/one.mp3 mp3s/two.mp3 mp3s/three.mp3 ]
61
+ data[:dirs].should =~ %w[ mp3s ]
56
62
  end
57
63
 
58
64
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dir_processor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alexander K
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-19 00:00:00.000000000 Z
11
+ date: 2013-04-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: def_dsl
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - '>='
76
67
  - !ruby/object:Gem::Version
@@ -98,33 +89,26 @@ files:
98
89
  homepage: https://github.com/sowcow/dir_processor
99
90
  licenses:
100
91
  - MIT
92
+ metadata: {}
101
93
  post_install_message:
102
94
  rdoc_options: []
103
95
  require_paths:
104
96
  - lib
105
97
  required_ruby_version: !ruby/object:Gem::Requirement
106
- none: false
107
98
  requirements:
108
99
  - - '>='
109
100
  - !ruby/object:Gem::Version
110
101
  version: '0'
111
- segments:
112
- - 0
113
- hash: -1129910543518694584
114
102
  required_rubygems_version: !ruby/object:Gem::Requirement
115
- none: false
116
103
  requirements:
117
104
  - - '>='
118
105
  - !ruby/object:Gem::Version
119
106
  version: '0'
120
- segments:
121
- - 0
122
- hash: -1129910543518694584
123
107
  requirements: []
124
108
  rubyforge_project:
125
- rubygems_version: 1.8.25
109
+ rubygems_version: 2.0.3
126
110
  signing_key:
127
- specification_version: 3
111
+ specification_version: 4
128
112
  summary: dsl to define processor for directories/files structure
129
113
  test_files:
130
114
  - spec/example_spec.rb