class2 0.5.1 → 0.5.2

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: 61dc3c545f0d85bb351f739def887860fa1ae4b4
4
- data.tar.gz: 60ccf0018c8d307435c061921ecd75ebb9fed97b
2
+ SHA256:
3
+ metadata.gz: 49d91ca721e5cefa4ee9663e3e4ca8edbb584315300888561fa2b70e49eb7923
4
+ data.tar.gz: 486025e1a89a034b49dc9a5c243d5bae341e4880d10d2a204e07898acd5a0e21
5
5
  SHA512:
6
- metadata.gz: eb86ad32514cb49fbfb5e094d9ca3a5f71c2713183439093c6b44cbc2e98c81ebed982a687a050bbdae6a55f85fdd845ee0477b9752d2df8bd4dc9320978afc9
7
- data.tar.gz: ea05449a79eb2f1e0c42469c34a72ab660303b740386128295f020c9ed9a31708dccf09ca89c687ebf416c5aca15f338d824827fc82102ce93a7cf94f6cc7c4c
6
+ metadata.gz: 9d85ef46fefd99c440a1fe0aa92724a3b217c8d14a6473d2ff025705604a40e40f234a0d0cbc730921301783d28f6ac5cfa2435bf631994bfc714fe649907d97
7
+ data.tar.gz: 46e2460f0924ce6c17413d7a15b0c6fc8685b0784e87a173ab6d51464a1b9a535e4d82f742c3c8b7c263a5ec7afe67c8514a12d7938dae549fa531c87b56142a
@@ -1,11 +1,30 @@
1
1
  sudo: false
2
2
  language: ruby
3
+ cache: bundler
3
4
  rvm:
4
5
  - jruby-9
5
6
  - 2.3
6
7
  - 2.4
7
8
  - 2.5
9
+ - 2.6
10
+ - 2.7
11
+
12
+ before_install:
13
+ - gem install bundler
14
+
15
+ gemfile:
16
+ - gemfiles/as4.gemfile
17
+ - gemfiles/as5.gemfile
18
+ - gemfiles/as6.gemfile
19
+
20
+ matrix:
21
+ exclude:
22
+ - rvm: 2.3
23
+ gemfile: gemfiles/as6.gemfile
24
+ - rvm: 2.4
25
+ gemfile: gemfiles/as6.gemfile
26
+ - rvm: 2.7
27
+ gemfile: gemfiles/as4.gemfile
8
28
 
9
- before_install: gem install bundler
10
29
  notifications:
11
30
  email: false
@@ -0,0 +1,11 @@
1
+ appraise "as4" do
2
+ gem "activesupport", "~> 4.2"
3
+ end
4
+
5
+ appraise "as5" do
6
+ gem "activesupport", "~> 5.2"
7
+ end
8
+
9
+ appraise "as6" do
10
+ gem "activesupport", "> 5", "< 7"
11
+ end
data/Changes CHANGED
@@ -1,3 +1,7 @@
1
+ 2020-04-24 v0.5.2
2
+ --------------------
3
+ * Bug fix: Fix NoMethodError in ActiveSupport 6's Module.parent
4
+
1
5
  2018-06-26 v0.5.1
2
6
  --------------------
3
7
  * Bug fix: autoload backtrace search "improvemnts"
data/README.md CHANGED
@@ -271,7 +271,6 @@ Now an `ArgumentError` will be raised if anything but `id`, `name`, or
271
271
 
272
272
  Also see [Customizations](#customizations).
273
273
 
274
-
275
274
  ## See Also
276
275
 
277
276
  The Perl modules that served as inspiration:
@@ -285,6 +284,11 @@ The Perl modules that served as inspiration:
285
284
 
286
285
  Surely others I cannot remember...
287
286
 
287
+ And these Ruby modules:
288
+
289
+ * [`require3`](https://github.com/sshaw/require3)
290
+ * [`alias2`](https://github.com/sshaw/alias2)
291
+
288
292
  ## Author
289
293
 
290
294
  Skye Shaw [sshaw AT gmail.com]
@@ -18,9 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "activesupport", ">= 3.2"
21
+ spec.add_dependency "activesupport", ">= 3.2", "< 7"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
23
+ spec.add_development_dependency "bundler"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "appraisal"
25
26
  spec.add_development_dependency "minitest"
26
27
  end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 4.2"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 5.2"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "> 5", "< 7"
6
+
7
+ gemspec path: "../"
@@ -38,7 +38,7 @@ class Class2
38
38
  }
39
39
 
40
40
  CONVERSIONS[FalseClass] = CONVERSIONS[TrueClass]
41
- CONVERSIONS[Fixnum] = CONVERSIONS[Integer] if defined?(Fixnum)
41
+ CONVERSIONS[Fixnum] = CONVERSIONS[Integer]
42
42
  CONVERSIONS.default = lambda { |v| v }
43
43
 
44
44
  class << self
@@ -250,10 +250,11 @@ class Class2
250
250
 
251
251
  name = key.to_s.classify
252
252
 
253
- # Only look in our namespace to prevent unwanted lookup
254
- next unless self.class.parent.const_defined?(name)
253
+ # parent is deprecated in ActiveSupport 6 and its warning uses Strong#squish! which they don't include!
254
+ parent = self.class.respond_to?(:module_parent) ? self.class.module_parent : self.class.parent
255
+ next unless parent.const_defined?(name)
255
256
 
256
- klass = self.class.parent.const_get(name)
257
+ klass = parent.const_get(name)
257
258
  value = value.is_a?(Hash) ? klass.new(value) : value.map { |v| klass.new(v) }
258
259
  end
259
260
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Class2
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: class2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skye Shaw
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-27 00:00:00.000000000 Z
11
+ date: 2020-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,20 +27,23 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: bundler
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '1.10'
39
+ version: '0'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - "~>"
44
+ - - ">="
39
45
  - !ruby/object:Gem::Version
40
- version: '1.10'
46
+ version: '0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rake
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +58,20 @@ dependencies:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '10.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: appraisal
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: minitest
57
77
  requirement: !ruby/object:Gem::Requirement
@@ -75,12 +95,16 @@ extra_rdoc_files: []
75
95
  files:
76
96
  - ".gitignore"
77
97
  - ".travis.yml"
98
+ - Appraisals
78
99
  - Changes
79
100
  - Gemfile
80
101
  - LICENSE.txt
81
102
  - README.md
82
103
  - Rakefile
83
104
  - class2.gemspec
105
+ - gemfiles/as4.gemfile
106
+ - gemfiles/as5.gemfile
107
+ - gemfiles/as6.gemfile
84
108
  - lib/class2.rb
85
109
  - lib/class2/autoload.rb
86
110
  - lib/class2/autoload/namespaced.rb
@@ -105,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
129
  version: '0'
106
130
  requirements: []
107
131
  rubyforge_project:
108
- rubygems_version: 2.6.14
132
+ rubygems_version: 2.7.6
109
133
  signing_key:
110
134
  specification_version: 4
111
135
  summary: Easily create hierarchies of classes that support nested attributes, type