decorators 2.0.5 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6091a1ade1ac5605813292d8bd527d7f4b38aacb9a2109a9c64c19b119d3cf80
4
- data.tar.gz: ad9c81250cf2fa82af1b4494efa58a7f9b51c35f419ee94afd81f1948f4dbfab
3
+ metadata.gz: 993059f9114ceb8ff5784d42e0aa1d87642a71e103fcfee620233344a9dd6ebd
4
+ data.tar.gz: e5751c372a8b3e6c21b9c58352f78d04274a91e414f85862d567ddf3cafadf42
5
5
  SHA512:
6
- metadata.gz: fdf6cf64ee8d6450c0f5a3b3c1e44d5e9e799774635906265859852819c04d92b97df1f29c28b776a73893536a8e8c5a023e35cf1ee3c6e22900d77d0d4ecf57
7
- data.tar.gz: 2b1933cde307d5ce6e5bf9f5a6190e9923e16780f95ba9fb6e9bf83cc6b33a6ec63c077eb9b11ab0377eaba2d90953843516f7a2958fa965be2f1a3a42adb262
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,40 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decorators
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
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
- MIIEMjCCApqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhnZW1z
14
- L0RDPXAvREM9YXJuZHQvREM9aW8wHhcNMTgxMDI5MDk0MjQ5WhcNMTkxMDI5MDk0
15
- MjQ5WjAjMSEwHwYDVQQDDBhnZW1zL0RDPXAvREM9YXJuZHQvREM9aW8wggGiMA0G
16
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQClF0/voptshDoTILFgUjvkViCOPe3W
17
- uuDwfSep+gc5AI83MmrmonN3L/dwm60D3HhZOtVt9el1n5E5b5aPzJngjdF9sFPX
18
- OIx3UlYde+WkzbG4iR2U0/8dMZ6DYuz6ijgPEpU1UKodUJVqEmt3Vc+rzDET9zoK
19
- TkIALNbSaV2G32ZDhoabeQJoJ0ce/2vjDqhM7awG7CYGRqRq4c0NOKKm0bGh+LOo
20
- vQNDvRjXPs0yp5i3keCgf6IcQ26nluqILYGPjuTExJj+k6AKfq6SPWDVtzSqdfiH
21
- STs/W85rwrKdLfEzfXxNsHvJ6Ryx+0A0hsNbfTTOhp4dkYm/6fyOejp7Of7qWRw/
22
- kJhI/PTq1gqh+Irpr+wUz04xItGE8WglKv1ydTUqBlCz2l9NfVTChtUpYlrk4FvN
23
- r7s6fcXH5cNX1ll2D1X2XLxmYEUgbAv5xApspvmpdRY5zlmSXZapi2KbW5iqpOV2
24
- luxRjhjfcOKfMugvGrMUFiqDaDi5IXS25KECAwEAAaNxMG8wCQYDVR0TBAIwADAL
25
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFLzeU7GH0rvnvDchSWtJhceiUDDTMBoGA1Ud
26
- EQQTMBGBD2dlbXNAcC5hcm5kdC5pbzAaBgNVHRIEEzARgQ9nZW1zQHAuYXJuZHQu
27
- aW8wDQYJKoZIhvcNAQELBQADggGBABMRA737G23Oiy1xBgVJsDW5LgGbeK9JQCC9
28
- eRdx22TDyrJ5vviqB22k13+zp/tq5fgeCsrk5iLAt5F/GgcP82p7pPm3qKi1QWip
29
- cnQvy5fLKcl+PaIX/+PYGVKUfV/wA+NuP06RSnzvNPepcUvbTJdAr6nQVdIh/ftB
30
- 64QhOWuk2CuGlt+tLMGbjR65W3SppBkvVd4yYHArbl4Z0qPG+TVrVrj2JEjo82rT
31
- jIUDLkdUlQ/FmH5fHhbrtn5PMCXjto414YBC7aQUxQsiNCN2qhsjwiyzVBbBTjnA
32
- 1sA043YnGOd1XylVtnrARK5eT7DhFGrMGMp/KvOg+T7q19+65jaopvHH4zFXzBcY
33
- MxlH/7tMQ5+DdHcqbu3SOAe1/VaaRk28J0CdPZS6Y60YuRqL17Zg2WOODiBkA9WE
34
- JjcyzdERZXsSPh+DT5PrllEbTNTZPbBcnAWjqdEWLtBIxD3JpgZHTmYP4I2ExAeu
35
- 2Oqsxsw30MIZnh2Cw/xLRkc1I50luA==
13
+ MIIEhjCCAu6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBNMQ0wCwYDVQQDDARnZW1z
14
+ MREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixkARkWBWFybmR0MRIwEAYK
15
+ CZImiZPyLGQBGRYCaW8wHhcNMjQwNzI1MDkzMTM3WhcNMjUwNzI1MDkzMTM3WjBN
16
+ MQ0wCwYDVQQDDARnZW1zMREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixk
17
+ ARkWBWFybmR0MRIwEAYKCZImiZPyLGQBGRYCaW8wggGiMA0GCSqGSIb3DQEBAQUA
18
+ A4IBjwAwggGKAoIBgQCb2WAH3bZwQeiyrc8ihYIM3cDDfiJbUYDxwE4+c8PT+WBO
19
+ WIC4QMdiVLllwliKoCjDeH14dNHGYBJFFu4+jj+jyzYEPaxPn05N4zUZiFe3oXzf
20
+ ipaNxdCuilrMrRT0hFclKWvGUT5meVmfxEgX65FPHezv5W4za4ajxfMItUqJCooQ
21
+ lfXB8sO6j/z94ZpHOzj/HT/q6krXSQWSYGLmb3ZKRIeo8uk3cAcAYBO6UtRm9AiU
22
+ IRrRy0Q8TRANkaoAmcNgetZj/g++ppDxVD0GNijvOphPOpPdZpoQKoX+Z0wQSVdg
23
+ rFXDi48MAfvbq+THNB4F/Mu2K+TuFT0ggsyWazgdfKsH3gt6qlqQ6unx04SCsJmB
24
+ 3XUr5Wquco64evFNXHaN3nrUMuZMecETRPTwyXRl7gMahDEb1OB+pcZvkXQU+0Tc
25
+ UNq+Y9MSfvmPBV8T4IZN43eJetY4Roco8ULQH2TeCppgQAWImeQOzGdHaL7ZNAYu
26
+ bbv1i5bW9bOBCY3N9+0CAwEAAaNxMG8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
27
+ HQYDVR0OBBYEFLyPUmHA7YP43s4Nd0gx/ryHSR3EMBoGA1UdEQQTMBGBD2dlbXNA
28
+ cC5hcm5kdC5pbzAaBgNVHRIEEzARgQ9nZW1zQHAuYXJuZHQuaW8wDQYJKoZIhvcN
29
+ AQELBQADggGBAAw69VoNOTd5HQOQczs0zm+p5bZw3e+EFiDy/N9o8Lv5rHfyGhA5
30
+ f+faBqfxQHDB3VSEFtCnoVFsCUaC1AdRzWztqS40x5GgQRwcM2llTwMYv5C++gC2
31
+ xPchTvi5FgDI++a05isObUvtNZ/wrZYBhy75ofzGAAMfuB/+XzsGbsOxSwZVlCne
32
+ YLkPa26euounYtKRGLz+X9YD4vDHP5VwsrqsvACMwVGHv+MIM3TQ3TvVrQ7QR9Ov
33
+ yUmuDhnAXep8omj9HyiukfqIdTsIMZK8nMcJH4wXC7mjjOBoyRtMwsQIT8OpwSP9
34
+ A7++64WBwTLbbGSCMCdw8X1kmmaZjaPrNkJ4wNaeJPZPPgDmL1XKJavQ8xZ/nwGF
35
+ VXf+6/IyX9OrQwL2uw0b+1NiR2gFpOLcOy2ixKdua13S9CWRRsR3VJve+PIyycC7
36
+ aLV+FI9i9b1YUXG2gDKqLOkF/FNBWNckAmGj7kYkdLG76G5aRGP0HvfKbIiQ3HTC
37
+ jAtsfxiSgc0fAw==
36
38
  -----END CERTIFICATE-----
37
- date: 2019-10-02 00:00:00.000000000 Z
39
+ date: 2024-07-25 00:00:00.000000000 Z
38
40
  dependencies:
39
41
  - !ruby/object:Gem::Dependency
40
42
  name: railties
@@ -45,7 +47,7 @@ dependencies:
45
47
  version: 4.0.0
46
48
  - - "<"
47
49
  - !ruby/object:Gem::Version
48
- version: '7'
50
+ version: '7.2'
49
51
  type: :runtime
50
52
  prerelease: false
51
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -55,27 +57,27 @@ dependencies:
55
57
  version: 4.0.0
56
58
  - - "<"
57
59
  - !ruby/object:Gem::Version
58
- version: '7'
60
+ version: '7.2'
59
61
  - !ruby/object:Gem::Dependency
60
62
  name: rspec
61
63
  requirement: !ruby/object:Gem::Requirement
62
64
  requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- version: 3.5.0
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
67
  version: '3.5'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 3.5.0
69
71
  type: :development
70
72
  prerelease: false
71
73
  version_requirements: !ruby/object:Gem::Requirement
72
74
  requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 3.5.0
76
75
  - - "~>"
77
76
  - !ruby/object:Gem::Version
78
77
  version: '3.5'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 3.5.0
79
81
  description: Manages the process of loading decorators into your Rails application.
80
82
  email: gems@p.arndt.io
81
83
  executables: []
@@ -91,7 +93,7 @@ homepage: https://github.com/parndt/decorators
91
93
  licenses:
92
94
  - MIT
93
95
  metadata: {}
94
- post_install_message:
96
+ post_install_message:
95
97
  rdoc_options: []
96
98
  require_paths:
97
99
  - lib
@@ -106,8 +108,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
108
  - !ruby/object:Gem::Version
107
109
  version: '0'
108
110
  requirements: []
109
- rubygems_version: 3.0.3
110
- signing_key:
111
+ rubygems_version: 3.1.6
112
+ signing_key:
111
113
  specification_version: 4
112
114
  summary: Rails decorators plugin.
113
115
  test_files: []
metadata.gz.sig CHANGED
Binary file