ProtectedConstructor 2.1.6 → 3.0.0

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: a7990f247685c9fa18b298bbeb2d09204dbedfb504297c79ae7c448a8483e9a4
4
- data.tar.gz: 0bc68b9a58cf0dbd39a9f441fa9413ecb8039d79a5276ce83d4bd2fefd988c0c
3
+ metadata.gz: 33a8ab169a6775003036bf9cc5cd913ca751af29e9f8d97a39c8780e5876cd4a
4
+ data.tar.gz: 8b12876d3fde7c172ca0a9aab2d11829258918dbae6b7b0c49d658a405f21c6f
5
5
  SHA512:
6
- metadata.gz: 7d0219b9f6320c1c41a77614c0d0c48115b301e647d680989afbf0eaca58469cfaee45db508aa9ccd7cf7f4273e58a6e5613ae128aca322bb0ba6c3d4ddae6ad
7
- data.tar.gz: c66ddcdb47c8f6750d6fb05e324ac6db02a29fd721aa22ee2c26c9bf761299c3768b5b245886604a801c7922a31c5c903f3b1851068394569dde5b28fc9772f9
6
+ metadata.gz: ed6cb57adc6dd845b535db0edd1b67b83e98308781000548be06b1584b75af7e56e610af404bb5c223624f10b3c17c1707bcd0e34049ca6a1fc1f2efd1db6d10
7
+ data.tar.gz: a2309ec622d2a38f7b06eea015326eb028fd6ad6e673e4a988ce0f3407ba206dc751b94a9ec1892d35b9f952775c3def542f3b57754e30cecac2fcb504a8be04
@@ -0,0 +1,43 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: ["main"]
13
+ pull_request:
14
+ branches: ["main"]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ test:
21
+ runs-on: ubuntu-latest
22
+ strategy:
23
+ matrix:
24
+ # Use `rbenv install -l` and only use the latest stable
25
+ # version of ruby.
26
+ ruby-version: ["3.0.1", "3.0.6", "3.1.4", "3.2.2"]
27
+
28
+ steps:
29
+ - uses: actions/checkout@v3
30
+ - name: Set timezone
31
+ run: sudo timedatectl set-timezone 'America/New_York'
32
+ - name: Run a command
33
+ run: date
34
+ - name: Set up Ruby
35
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
36
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
37
+ # uses: ruby/setup-ruby@v1
38
+ uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 3.0.0 2023-12-28
2
+ * Breaking changes
3
+ * The require file for this gem is now 'protected_constructor' instead of 'ProtectedConstructor' (i.e. `require 'protected_constructor'`). Remove all references to `require 'ProtectedConstructor'` and replace with `require 'protected_constructor'`.
4
+
5
+ * changes
6
+ * Relax ruby dependency to '~> 3.0'.
7
+ * Update ruby gems.
8
+
1
9
  ### 2.1.6 2023-12-02
2
10
  * changes
3
11
  * Update ruby gems.
data/Gemfile CHANGED
@@ -4,3 +4,14 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in ProtectedConstructor.gemspec
6
6
  gemspec
7
+
8
+ gem 'bundler', '~> 2.5', '>= 2.5.3'
9
+ gem 'pry-byebug', '>= 3.9', '< 4.0'
10
+ gem 'rake', '>= 13.0', '< 14.0'
11
+ gem 'redcarpet', '>= 3.5', '< 4.0'
12
+ gem 'reek', '>= 6.1', '< 7.0'
13
+ gem 'rspec', '>= 3.10', '< 4.0'
14
+ gem 'rubocop', '>= 1.35', '< 2.0'
15
+ gem 'rubocop-performance', '>= 1.14', '< 2.0'
16
+ gem 'rubocop-rspec', '>= 2.12', '< 3.0'
17
+ gem 'yard', '>= 0.9.28', '< 1.0'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ProtectedConstructor (2.1.6)
4
+ ProtectedConstructor (3.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -10,11 +10,11 @@ GEM
10
10
  byebug (11.1.3)
11
11
  coderay (1.1.3)
12
12
  diff-lcs (1.5.0)
13
- json (2.7.0)
13
+ json (2.7.1)
14
14
  kwalify (0.7.2)
15
15
  language_server-protocol (3.17.0.3)
16
16
  method_source (1.0.0)
17
- parallel (1.23.0)
17
+ parallel (1.24.0)
18
18
  parser (3.2.2.4)
19
19
  ast (~> 2.4.1)
20
20
  racc
@@ -32,7 +32,7 @@ GEM
32
32
  kwalify (~> 0.7.0)
33
33
  parser (~> 3.2.0)
34
34
  rainbow (>= 2.0, < 4.0)
35
- regexp_parser (2.8.2)
35
+ regexp_parser (2.8.3)
36
36
  rexml (3.2.6)
37
37
  rspec (3.12.0)
38
38
  rspec-core (~> 3.12.0)
@@ -47,7 +47,7 @@ GEM
47
47
  diff-lcs (>= 1.2.0, < 2.0)
48
48
  rspec-support (~> 3.12.0)
49
49
  rspec-support (3.12.1)
50
- rubocop (1.58.0)
50
+ rubocop (1.59.0)
51
51
  json (~> 2.3)
52
52
  language_server-protocol (>= 3.17.0)
53
53
  parallel (~> 1.10)
@@ -64,9 +64,9 @@ GEM
64
64
  rubocop (~> 1.41)
65
65
  rubocop-factory_bot (2.24.0)
66
66
  rubocop (~> 1.33)
67
- rubocop-performance (1.19.1)
68
- rubocop (>= 1.7.0, < 2.0)
69
- rubocop-ast (>= 0.4.0)
67
+ rubocop-performance (1.20.1)
68
+ rubocop (>= 1.48.1, < 2.0)
69
+ rubocop-ast (>= 1.30.0, < 2.0)
70
70
  rubocop-rspec (2.25.0)
71
71
  rubocop (~> 1.40)
72
72
  rubocop-capybara (~> 2.17)
@@ -82,7 +82,7 @@ PLATFORMS
82
82
 
83
83
  DEPENDENCIES
84
84
  ProtectedConstructor!
85
- bundler (>= 2.4, < 3.0)
85
+ bundler (~> 2.5, >= 2.5.3)
86
86
  pry-byebug (>= 3.9, < 4.0)
87
87
  rake (>= 13.0, < 14.0)
88
88
  redcarpet (>= 3.5, < 4.0)
@@ -94,4 +94,4 @@ DEPENDENCIES
94
94
  yard (>= 0.9.28, < 1.0)
95
95
 
96
96
  BUNDLED WITH
97
- 2.4.21
97
+ 2.5.3
@@ -18,20 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.homepage = 'https://github.com/gangelo/ProtectedConstructor'
19
19
  spec.license = 'MIT'
20
20
 
21
+ spec.required_ruby_version = Gem::Requirement.new('~> 3.0')
22
+
21
23
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
22
24
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
23
25
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
24
26
  spec.require_paths = ['lib']
25
-
26
- spec.required_ruby_version = '~> 3.0.1'
27
- spec.add_development_dependency 'bundler', '>= 2.4', '< 3.0'
28
- spec.add_development_dependency 'pry-byebug', '>= 3.9', '< 4.0'
29
- spec.add_development_dependency 'rake', '>= 13.0', '< 14.0'
30
- spec.add_development_dependency 'redcarpet', '>= 3.5', '< 4.0'
31
- spec.add_development_dependency 'reek', '>= 6.1', '< 7.0'
32
- spec.add_development_dependency 'rspec', '>= 3.10', '< 4.0'
33
- spec.add_development_dependency 'rubocop', '>= 1.35', '< 2.0'
34
- spec.add_development_dependency 'rubocop-performance', '>= 1.14', '< 2.0'
35
- spec.add_development_dependency 'rubocop-rspec', '>= 2.12', '< 3.0'
36
- spec.add_development_dependency 'yard', '>= 0.9.28', '< 1.0'
37
27
  end
data/README.md CHANGED
@@ -1,12 +1,10 @@
1
- [![GitHub version](http://badge.fury.io/gh/gangelo%2FProtectedConstructor.svg?v=2.0.0)](http://badge.fury.io/gh/gangelo%2FProtectedConstructor.svg?v=2.0.0)
2
- [![Gem Version](https://badge.fury.io/rb/ProtectedConstructor.svg)](https://badge.fury.io/rb/ProtectedConstructor.svg)
3
-
4
- ![](http://ruby-gem-downloads-badge.herokuapp.com/ProtectedConstructor?type=total)
1
+ [![Ruby](https://github.com/gangelo/ProtectedConstructor/actions/workflows/ruby.yml/badge.svg)](https://github.com/gangelo/ProtectedConstructor/actions/workflows/ruby.yml)
2
+ [![GitHub version](http://badge.fury.io/gh/gangelo%2FProtectedConstructor.svg?refresh=1)](http://badge.fury.io/gh/gangelo%2FProtectedConstructor.svg)
3
+ [![Gem Version](https://badge.fury.io/rb/ProtectedConstructor.svg?refresh=3)](https://badge.fury.io/rb/ProtectedConstructor.svg)
5
4
  [![Documentation](http://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://www.rubydoc.info/gems/ProtectedConstructor/)
6
-
7
5
  [![Report Issues](https://img.shields.io/badge/report-issues-red.svg)](https://github.com/gangelo/ProtectedConstructor/issues)
8
-
9
6
  [![License](http://img.shields.io/badge/license-MIT-yellowgreen.svg)](#license)
7
+
10
8
  # ProtectedConstructor
11
9
  Provides a module that may be included in a Ruby class, that protects the constructor; good for enforcing
12
10
  instantiation of classes using, for instance, a class factory. The code itself is not mine, I just wrapped it
@@ -28,15 +26,15 @@ Or install it yourself as:
28
26
 
29
27
  ## Usage
30
28
 
31
- require 'ProtectedConstructor'
32
-
29
+ require 'protected_constructor'
30
+
33
31
  class Klass
34
32
  include ProtectedConstructor
35
-
33
+
36
34
  def initialize
37
35
  end
38
36
  end
39
-
37
+
40
38
  module KlassFactory
41
39
  class << self
42
40
  public
@@ -45,20 +43,20 @@ Or install it yourself as:
45
43
  end
46
44
  end
47
45
  end
48
-
46
+
49
47
  # Constructor is protected.
50
48
  klass = Klass.new # NoMethodError
51
-
49
+
52
50
  # Example using factory...
53
51
  klass = KlassFactory::create # works
54
52
  klass.nil? # false
55
53
  klass.is_a?(Klass) # true
56
-
54
+
57
55
  # Example just using #send...
58
56
  klass = Klass.send(:new) # works
59
57
  klass.nil? # false
60
58
  klass.is_a?(Klass) # true
61
-
59
+
62
60
  ## Contributing
63
61
 
64
62
  1. Fork it
data/Rakefile CHANGED
@@ -1,15 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
4
5
 
5
- begin
6
- require 'rspec/core/rake_task'
7
- RSpec::Core::RakeTask.new(:spec)
8
- rescue LoadError => _e
9
- task 'spec' do
10
- puts "RSpec not loaded - make sure it's installed and you're using bundle exec"
11
- exit 1
12
- end
13
- end
14
-
15
- task default: :spec
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ require 'rubocop/rake_task'
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[spec rubocop]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProtectedConstructor
4
- VERSION = '2.1.6'
4
+ VERSION = '3.0.0'
5
5
  end
@@ -3,7 +3,7 @@
3
3
  require 'ProtectedConstructor/version'
4
4
 
5
5
  # @example
6
- # require 'ProtectedConstructor'
6
+ # require 'protected_constructor'
7
7
  #
8
8
  # class Klass
9
9
  # include ProtectedConstructor
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'pry-byebug'
4
- require_relative '../lib/ProtectedConstructor'
4
+ require_relative '../lib/protected_constructor'
5
5
 
6
6
  Dir[File.join(Dir.pwd, 'spec/support/**/*.rb')].sort.each { |f| require f }
7
7
 
metadata CHANGED
@@ -1,215 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ProtectedConstructor
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gene M. Angelo, Jr.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '2.4'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '3.0'
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '2.4'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '3.0'
33
- - !ruby/object:Gem::Dependency
34
- name: pry-byebug
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '3.9'
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '4.0'
43
- type: :development
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '3.9'
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '4.0'
53
- - !ruby/object:Gem::Dependency
54
- name: rake
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '13.0'
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '14.0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '13.0'
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '14.0'
73
- - !ruby/object:Gem::Dependency
74
- name: redcarpet
75
- requirement: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: '3.5'
80
- - - "<"
81
- - !ruby/object:Gem::Version
82
- version: '4.0'
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '3.5'
90
- - - "<"
91
- - !ruby/object:Gem::Version
92
- version: '4.0'
93
- - !ruby/object:Gem::Dependency
94
- name: reek
95
- requirement: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: '6.1'
100
- - - "<"
101
- - !ruby/object:Gem::Version
102
- version: '7.0'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '6.1'
110
- - - "<"
111
- - !ruby/object:Gem::Version
112
- version: '7.0'
113
- - !ruby/object:Gem::Dependency
114
- name: rspec
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: '3.10'
120
- - - "<"
121
- - !ruby/object:Gem::Version
122
- version: '4.0'
123
- type: :development
124
- prerelease: false
125
- version_requirements: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: '3.10'
130
- - - "<"
131
- - !ruby/object:Gem::Version
132
- version: '4.0'
133
- - !ruby/object:Gem::Dependency
134
- name: rubocop
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '1.35'
140
- - - "<"
141
- - !ruby/object:Gem::Version
142
- version: '2.0'
143
- type: :development
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: '1.35'
150
- - - "<"
151
- - !ruby/object:Gem::Version
152
- version: '2.0'
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop-performance
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '1.14'
160
- - - "<"
161
- - !ruby/object:Gem::Version
162
- version: '2.0'
163
- type: :development
164
- prerelease: false
165
- version_requirements: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - ">="
168
- - !ruby/object:Gem::Version
169
- version: '1.14'
170
- - - "<"
171
- - !ruby/object:Gem::Version
172
- version: '2.0'
173
- - !ruby/object:Gem::Dependency
174
- name: rubocop-rspec
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '2.12'
180
- - - "<"
181
- - !ruby/object:Gem::Version
182
- version: '3.0'
183
- type: :development
184
- prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- version: '2.12'
190
- - - "<"
191
- - !ruby/object:Gem::Version
192
- version: '3.0'
193
- - !ruby/object:Gem::Dependency
194
- name: yard
195
- requirement: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- version: 0.9.28
200
- - - "<"
201
- - !ruby/object:Gem::Version
202
- version: '1.0'
203
- type: :development
204
- prerelease: false
205
- version_requirements: !ruby/object:Gem::Requirement
206
- requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: 0.9.28
210
- - - "<"
211
- - !ruby/object:Gem::Version
212
- version: '1.0'
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
+ dependencies: []
213
13
  description: ProtectedConstructor Gem
214
14
  email:
215
15
  - public.gma@gmail.com
@@ -218,6 +18,7 @@ extensions: []
218
18
  extra_rdoc_files: []
219
19
  files:
220
20
  - ".github/dependabot.yml"
21
+ - ".github/workflows/ruby.yml"
221
22
  - ".gitignore"
222
23
  - ".rspec"
223
24
  - ".ruby-version"
@@ -228,8 +29,8 @@ files:
228
29
  - ProtectedConstructor.gemspec
229
30
  - README.md
230
31
  - Rakefile
231
- - lib/ProtectedConstructor.rb
232
32
  - lib/ProtectedConstructor/version.rb
33
+ - lib/protected_constructor.rb
233
34
  - spec/ProtectedConstructor/protected_constructor_spec.rb
234
35
  - spec/spec_helper.rb
235
36
  - spec/support/shared_klasses/klass_factory.rb
@@ -246,7 +47,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
47
  requirements:
247
48
  - - "~>"
248
49
  - !ruby/object:Gem::Version
249
- version: 3.0.1
50
+ version: '3.0'
250
51
  required_rubygems_version: !ruby/object:Gem::Requirement
251
52
  requirements:
252
53
  - - ">="