decorators 2.0.5 → 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
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