decorators 1.0.2 → 1.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.
Files changed (3) hide show
  1. data/lib/decorators.rb +13 -3
  2. data/readme.md +10 -1
  3. metadata +11 -12
data/lib/decorators.rb CHANGED
@@ -14,9 +14,7 @@ module Decorators
14
14
  end
15
15
 
16
16
  def decorators
17
- paths.registered.map { |path|
18
- Dir[path.join('app', 'decorators', '**', '*_decorator.rb')]
19
- }.flatten.uniq
17
+ paths.registered.map { |path| find_decorators_in_path(path) }.flatten.uniq
20
18
  end
21
19
 
22
20
  def register!(*paths_to_register)
@@ -29,6 +27,18 @@ module Decorators
29
27
  def paths
30
28
  @paths ||= Paths.new
31
29
  end
30
+
31
+ def apply_decorators_pattern_to_path(path)
32
+ path.join *pattern
33
+ end
34
+
35
+ def find_decorators_in_path(path)
36
+ Dir[apply_decorators_pattern_to_path(path)]
37
+ end
38
+
39
+ def pattern
40
+ ['app', 'decorators', '*', '**', '*_decorator.rb']
41
+ end
32
42
  end
33
43
 
34
44
  end
data/readme.md CHANGED
@@ -7,7 +7,16 @@ initialisation process.
7
7
 
8
8
  Decorators must follow this naming convention:
9
9
 
10
- app/decorators/<any number of directories>/something_decorator.rb
10
+ app/decorators/<at least one subdirectory>/something_decorator.rb
11
+
12
+ This is an example of a decorator that will be loaded:
13
+
14
+ app/decorators/controllers/pages_controller_decorator.rb
15
+
16
+ These are examples of decorators that *won't* be loaded:
17
+
18
+ app/decorators/pages_controller_decorator.rb
19
+ app/decorators/controllers/pages_controller.rb
11
20
 
12
21
  The important parts are being inside a sub directory of `app/decorators` and having
13
22
  `_decorator.rb` at the end of the file's name.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decorators
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-17 00:00:00.000000000 Z
12
+ date: 2013-02-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
16
- prerelease: false
17
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
@@ -82,9 +82,10 @@ dependencies:
82
82
  - - ! '!='
83
83
  - !ruby/object:Gem::Version
84
84
  version: 3.2.10
85
- none: false
86
85
  type: :runtime
86
+ prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
+ none: false
88
89
  requirements:
89
90
  - - ! '>='
90
91
  - !ruby/object:Gem::Version
@@ -152,23 +153,22 @@ dependencies:
152
153
  - - ! '!='
153
154
  - !ruby/object:Gem::Version
154
155
  version: 3.2.10
155
- none: false
156
156
  - !ruby/object:Gem::Dependency
157
157
  name: rspec
158
- prerelease: false
159
158
  requirement: !ruby/object:Gem::Requirement
159
+ none: false
160
160
  requirements:
161
161
  - - ! '>='
162
162
  - !ruby/object:Gem::Version
163
163
  version: '0'
164
- none: false
165
164
  type: :development
165
+ prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
+ none: false
167
168
  requirements:
168
169
  - - ! '>='
169
170
  - !ruby/object:Gem::Version
170
171
  version: '0'
171
- none: false
172
172
  description: Manages the process of loading decorators into your Rails application.
173
173
  email: parndt@gmail.com
174
174
  executables: []
@@ -188,22 +188,21 @@ rdoc_options: []
188
188
  require_paths:
189
189
  - lib
190
190
  required_ruby_version: !ruby/object:Gem::Requirement
191
+ none: false
191
192
  requirements:
192
193
  - - ! '>='
193
194
  - !ruby/object:Gem::Version
194
195
  version: '0'
195
- none: false
196
196
  required_rubygems_version: !ruby/object:Gem::Requirement
197
+ none: false
197
198
  requirements:
198
199
  - - ! '>='
199
200
  - !ruby/object:Gem::Version
200
201
  version: '0'
201
- none: false
202
202
  requirements: []
203
203
  rubyforge_project:
204
- rubygems_version: 1.8.24
204
+ rubygems_version: 1.8.25
205
205
  signing_key:
206
206
  specification_version: 3
207
207
  summary: Rails decorators plugin.
208
208
  test_files: []
209
- has_rdoc: