decorators 2.0.4 → 2.0.6

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
- SHA1:
3
- metadata.gz: 0a3038f6ea22c42f8709af8f0d466c7d38a99b48
4
- data.tar.gz: '008179fdd82a74a5a505090fc73f8c8b1bf3f5c9'
2
+ SHA256:
3
+ metadata.gz: 993059f9114ceb8ff5784d42e0aa1d87642a71e103fcfee620233344a9dd6ebd
4
+ data.tar.gz: e5751c372a8b3e6c21b9c58352f78d04274a91e414f85862d567ddf3cafadf42
5
5
  SHA512:
6
- metadata.gz: bc9f37eacff00db02ba24408ca127ca5999bab27aadaa45bf2fee9a903129b76f5f6014ad0cbebda627506c4bb91330b9cc201fe59131e778d0bf3f51c3ea853
7
- data.tar.gz: 4643b1db6df25bb7b346cfc0f52389f227a5fc5fad0ee6adb69a0b29b5a7887dcd437731e43dca68eee29eb1700c4624aeb1eddf15094fb15e1a7700fde01525
6
+ metadata.gz: 68e31083dd400b8e518ea5622be34c14f31df9e986f9297200fb19691367e8e716b6d53c1fad9ce84bea4a020a5f6c6f7bd64dcd74ae7a05aada9c793cfc01fa
7
+ data.tar.gz: 71e99448ec24c5728912303030caf76ce3715be8957740a72da2f41da5334ddf323c1cc98444da395b3f562bb3d76f3ea458e67c44dae39109317856e5c66182
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,9 +1,9 @@
1
- require 'pathname'
1
+ require "pathname"
2
2
 
3
3
  module Decorators
4
4
  class Paths
5
-
6
5
  attr_reader :registered
6
+
7
7
  def initialize(*args)
8
8
  @registered = Array.new(*args)
9
9
  end
@@ -11,6 +11,5 @@ module Decorators
11
11
  def register!(path)
12
12
  @registered << Pathname.new(path)
13
13
  end
14
-
15
14
  end
16
15
  end
@@ -1,8 +1,7 @@
1
- require 'rails'
1
+ require "rails"
2
2
 
3
3
  module Decorators
4
4
  class Railtie < Rails::Railtie
5
-
6
5
  config.before_initialize do |app|
7
6
  loader = proc { Decorators.load!(app.config.cache_classes) }
8
7
 
@@ -12,6 +11,5 @@ module Decorators
12
11
  app.config.to_prepare(&loader)
13
12
  end
14
13
  end
15
-
16
14
  end
17
15
  end
data/lib/decorators.rb CHANGED
@@ -1,19 +1,22 @@
1
1
  module Decorators
2
- require 'decorators/paths'
2
+ require "decorators/paths"
3
3
 
4
4
  class << self
5
5
  def load!(cache_classes)
6
+ decorators_with_argument_errors = []
6
7
  decorators.each do |decorator|
7
- if cache_classes
8
- require decorator
9
- else
10
- load decorator
11
- end
8
+ load_decorator(decorator, cache_classes)
9
+ rescue ArgumentError
10
+ decorators_with_argument_errors << decorator
11
+ end
12
+
13
+ decorators_with_argument_errors.each do |decorator|
14
+ load_decorator(decorator, cache_classes)
12
15
  end
13
16
  end
14
17
 
15
18
  def decorators
16
- paths.registered.map { |path| find_decorators_in_path(path) }.flatten.uniq
19
+ paths.registered.map(&method(:find_decorators_in_path)).flatten.uniq
17
20
  end
18
21
 
19
22
  def register!(*paths_to_register)
@@ -22,24 +25,32 @@ module Decorators
22
25
  end
23
26
  end
24
27
 
25
- protected
28
+ private
29
+
26
30
  def paths
27
31
  @paths ||= Paths.new
28
32
  end
29
33
 
30
34
  def apply_decorators_pattern_to_path(path)
31
- path.join *pattern
35
+ path.join(*pattern)
32
36
  end
33
37
 
34
38
  def find_decorators_in_path(path)
35
39
  Dir[apply_decorators_pattern_to_path(path)]
36
40
  end
37
41
 
42
+ def load_decorator(decorator, cache_classes)
43
+ if cache_classes
44
+ require decorator
45
+ else
46
+ load decorator
47
+ end
48
+ end
49
+
38
50
  def pattern
39
- ['app', 'decorators', '*', '**', '*_decorator.rb']
51
+ ["app", "decorators", "*", "**", "*_decorator.rb"]
40
52
  end
41
53
  end
42
-
43
54
  end
44
55
 
45
- require 'decorators/railtie'
56
+ require "decorators/railtie"
data/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- # Decorators Plugin [![Build Status](https://secure.travis-ci.org/parndt/decorators.png?branch=master)](http://travis-ci.org/parndt/decorators)
1
+ # Decorators Plugin
2
2
 
3
3
  This is a very simple plugin that adds support for decorators to your Rails application.
4
4
  Effectively all that this does is allow you to register paths in which to search
@@ -26,7 +26,7 @@ The important parts are being inside a sub directory of `app/decorators` and hav
26
26
  In your Gemfile, add the gem:
27
27
 
28
28
  ```ruby
29
- gem 'decorators', '~> 2.0.3'
29
+ gem 'decorators', '~> 2.0.6'
30
30
  ```
31
31
 
32
32
  Now, run `bundle install` and the gem should install.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,36 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decorators
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philip Arndt
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDhjCCAm6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBNMQ0wCwYDVQQDDARnZW1z
13
+ MIIEhjCCAu6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBNMQ0wCwYDVQQDDARnZW1z
14
14
  MREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixkARkWBWFybmR0MRIwEAYK
15
- CZImiZPyLGQBGRYCaW8wHhcNMTcwNzI1MTMxMjIwWhcNMTgwNzI1MTMxMjIwWjBN
15
+ CZImiZPyLGQBGRYCaW8wHhcNMjQwNzI1MDkzMTM3WhcNMjUwNzI1MDkzMTM3WjBN
16
16
  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
- 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
- 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
- 5uNZFmO1yVBCrmUQHHDlpku6SN6HDO8ChDL7LNugz/4eapRTifHZl8jhPRsOLBcF
20
- 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
- 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
- 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
- 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
- MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ7G/yxuQIzgszkOkaZBgoKBJ1rozAa
25
- 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
- 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
- 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
- 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
- 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
- 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
- 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
37
+ jAtsfxiSgc0fAw==
32
38
  -----END CERTIFICATE-----
33
- date: 2018-06-03 00:00:00.000000000 Z
39
+ date: 2024-07-25 00:00:00.000000000 Z
34
40
  dependencies:
35
41
  - !ruby/object:Gem::Dependency
36
42
  name: railties
@@ -41,7 +47,7 @@ dependencies:
41
47
  version: 4.0.0
42
48
  - - "<"
43
49
  - !ruby/object:Gem::Version
44
- version: '6'
50
+ version: '7.2'
45
51
  type: :runtime
46
52
  prerelease: false
47
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,7 +57,7 @@ dependencies:
51
57
  version: 4.0.0
52
58
  - - "<"
53
59
  - !ruby/object:Gem::Version
54
- version: '6'
60
+ version: '7.2'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: rspec
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +93,7 @@ homepage: https://github.com/parndt/decorators
87
93
  licenses:
88
94
  - MIT
89
95
  metadata: {}
90
- post_install_message:
96
+ post_install_message:
91
97
  rdoc_options: []
92
98
  require_paths:
93
99
  - lib
@@ -102,9 +108,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
108
  - !ruby/object:Gem::Version
103
109
  version: '0'
104
110
  requirements: []
105
- rubyforge_project:
106
- rubygems_version: 2.6.13
107
- signing_key:
111
+ rubygems_version: 3.1.6
112
+ signing_key:
108
113
  specification_version: 4
109
114
  summary: Rails decorators plugin.
110
115
  test_files: []
metadata.gz.sig CHANGED
Binary file