dir_processor 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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