anchormodel 0.0.2 → 0.1.0

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +206 -0
  6. data/README.md +10 -5
  7. data/Rakefile +23 -3
  8. data/anchormodel.gemspec +26 -10
  9. data/doc/Anchormodel/ActiveModelTypeValue.html +10 -6
  10. data/doc/Anchormodel/Attribute.html +21 -14
  11. data/doc/Anchormodel/ModelMixin.html +14 -9
  12. data/doc/Anchormodel/Version.html +3 -3
  13. data/doc/Anchormodel.html +141 -53
  14. data/doc/_index.html +2 -2
  15. data/doc/file.README.html +37 -48
  16. data/doc/index.html +37 -48
  17. data/doc/method_list.html +8 -0
  18. data/doc/top-level-namespace.html +2 -2
  19. data/lib/anchormodel/attribute.rb +2 -2
  20. data/lib/anchormodel/model_mixin.rb +1 -1
  21. data/lib/anchormodel/version.rb +2 -2
  22. data/lib/anchormodel.rb +2 -2
  23. data/logo.svg +98 -0
  24. data/test/active_record_model/user_test.rb +51 -0
  25. data/test/dummy/.gitignore +29 -0
  26. data/test/dummy/Rakefile +6 -0
  27. data/test/dummy/app/anchormodels/locale.rb +6 -0
  28. data/test/dummy/app/anchormodels/role.rb +14 -0
  29. data/test/dummy/app/helpers/application_helper.rb +2 -0
  30. data/test/dummy/app/models/application_record.rb +5 -0
  31. data/test/dummy/app/models/concerns/.keep +0 -0
  32. data/test/dummy/app/models/user.rb +4 -0
  33. data/test/dummy/bin/rails +4 -0
  34. data/test/dummy/bin/rake +4 -0
  35. data/test/dummy/bin/setup +33 -0
  36. data/test/dummy/config/application.rb +37 -0
  37. data/test/dummy/config/boot.rb +3 -0
  38. data/test/dummy/config/credentials.yml.enc +1 -0
  39. data/test/dummy/config/database.yml +8 -0
  40. data/test/dummy/config/environment.rb +5 -0
  41. data/test/dummy/config/environments/test.rb +50 -0
  42. data/test/dummy/config/initializers/content_security_policy.rb +25 -0
  43. data/test/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  44. data/test/dummy/config/initializers/inflections.rb +16 -0
  45. data/test/dummy/config/initializers/permissions_policy.rb +11 -0
  46. data/test/dummy/config/locales/en.yml +33 -0
  47. data/test/dummy/config/puma.rb +43 -0
  48. data/test/dummy/config/routes.rb +6 -0
  49. data/test/dummy/config.ru +6 -0
  50. data/test/dummy/db/migrate/20230107173151_create_users.rb +10 -0
  51. data/test/dummy/db/schema.rb +21 -0
  52. data/test/dummy/db/seeds.rb +7 -0
  53. data/test/dummy/lib/tasks/.keep +0 -0
  54. data/test/dummy/log/.keep +0 -0
  55. data/test/dummy/tmp/.keep +0 -0
  56. data/test/dummy/tmp/pids/.keep +0 -0
  57. data/test/test_helper.rb +21 -0
  58. metadata +148 -13
  59. data/anchormodel-0.0.1.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2689ea9bc922423d95855c1ad4e37399ae31c67dfe7babe6a900b3c2c2cf5d4b
4
- data.tar.gz: c2276b07545a72726e233f8d11acc8ec398f9ed4e6ab85c44ddd9d4e446154aa
3
+ metadata.gz: d456af4c2d49001651318271fd70c8e008894cf7b2a0a1beeb0bc28e3f8aa227
4
+ data.tar.gz: 4801071bbe71a06f16717b25ff657a90989bdd801624eecc6388bdea5cbb216e
5
5
  SHA512:
6
- metadata.gz: 49a9821044b8e5a4d05c3c095be0b39f7a1edc56ba3ad54f1dd74adccab2859ddf356fec18662d338735b132ab332f52b1903b9d82487f053401cd94e7ed734f
7
- data.tar.gz: 6862cb3d1d31db695c8b6afec195cdd0a3a0fa02530767418b59f6a63a19a45891828cb57bb48d8b8609ee2da2c92503a1edf03a12693869ee5ae54383d1cb91
6
+ metadata.gz: fd9483b0df7c815393b58e7f2b39176f819f6f94c3cc06cce7722daba928f938a0eeb4c55659225d3d6dd25f4a278da75c115b3faf67adff6b5481627b35d186
7
+ data.tar.gz: 1fce2625be81e4f348c3ddd9198a9dec75d2b39454322059adffee8714aa65c8758ad877655862c1e86c8e4219ba7e1ffbba2a78401eb6a87bcd0dd2170d5981
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.4
1
+ 3.1.3
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 0.1.0 (18.01.2023)
2
+
3
+ - Remove `Anchormodels::` prefix and have anchormodels in the root namespace instead.
4
+ - Add basic testing
5
+
1
6
  # 0.0.2 (30.12.2022)
2
7
 
3
8
  - Fix a bug where `.all` loaded entries from all classes.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,206 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ anchormodel (0.0.3.edge)
5
+ rails (~> 7.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (7.0.4)
11
+ actionpack (= 7.0.4)
12
+ activesupport (= 7.0.4)
13
+ nio4r (~> 2.0)
14
+ websocket-driver (>= 0.6.1)
15
+ actionmailbox (7.0.4)
16
+ actionpack (= 7.0.4)
17
+ activejob (= 7.0.4)
18
+ activerecord (= 7.0.4)
19
+ activestorage (= 7.0.4)
20
+ activesupport (= 7.0.4)
21
+ mail (>= 2.7.1)
22
+ net-imap
23
+ net-pop
24
+ net-smtp
25
+ actionmailer (7.0.4)
26
+ actionpack (= 7.0.4)
27
+ actionview (= 7.0.4)
28
+ activejob (= 7.0.4)
29
+ activesupport (= 7.0.4)
30
+ mail (~> 2.5, >= 2.5.4)
31
+ net-imap
32
+ net-pop
33
+ net-smtp
34
+ rails-dom-testing (~> 2.0)
35
+ actionpack (7.0.4)
36
+ actionview (= 7.0.4)
37
+ activesupport (= 7.0.4)
38
+ rack (~> 2.0, >= 2.2.0)
39
+ rack-test (>= 0.6.3)
40
+ rails-dom-testing (~> 2.0)
41
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
42
+ actiontext (7.0.4)
43
+ actionpack (= 7.0.4)
44
+ activerecord (= 7.0.4)
45
+ activestorage (= 7.0.4)
46
+ activesupport (= 7.0.4)
47
+ globalid (>= 0.6.0)
48
+ nokogiri (>= 1.8.5)
49
+ actionview (7.0.4)
50
+ activesupport (= 7.0.4)
51
+ builder (~> 3.1)
52
+ erubi (~> 1.4)
53
+ rails-dom-testing (~> 2.0)
54
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
55
+ activejob (7.0.4)
56
+ activesupport (= 7.0.4)
57
+ globalid (>= 0.3.6)
58
+ activemodel (7.0.4)
59
+ activesupport (= 7.0.4)
60
+ activerecord (7.0.4)
61
+ activemodel (= 7.0.4)
62
+ activesupport (= 7.0.4)
63
+ activestorage (7.0.4)
64
+ actionpack (= 7.0.4)
65
+ activejob (= 7.0.4)
66
+ activerecord (= 7.0.4)
67
+ activesupport (= 7.0.4)
68
+ marcel (~> 1.0)
69
+ mini_mime (>= 1.1.0)
70
+ activesupport (7.0.4)
71
+ concurrent-ruby (~> 1.0, >= 1.0.2)
72
+ i18n (>= 1.6, < 2)
73
+ minitest (>= 5.1)
74
+ tzinfo (~> 2.0)
75
+ ansi (1.5.0)
76
+ ast (2.4.2)
77
+ builder (3.2.4)
78
+ coderay (1.1.3)
79
+ concurrent-ruby (1.1.10)
80
+ crass (1.0.6)
81
+ date (3.3.3)
82
+ erubi (1.12.0)
83
+ globalid (1.0.0)
84
+ activesupport (>= 5.0)
85
+ i18n (1.12.0)
86
+ concurrent-ruby (~> 1.0)
87
+ json (2.6.3)
88
+ loofah (2.19.1)
89
+ crass (~> 1.0.2)
90
+ nokogiri (>= 1.5.9)
91
+ mail (2.8.0)
92
+ mini_mime (>= 0.1.1)
93
+ net-imap
94
+ net-pop
95
+ net-smtp
96
+ marcel (1.0.2)
97
+ method_source (1.0.0)
98
+ mini_mime (1.1.2)
99
+ minitest (5.17.0)
100
+ minitest-reporters (1.5.0)
101
+ ansi
102
+ builder
103
+ minitest (>= 5.0)
104
+ ruby-progressbar
105
+ net-imap (0.3.4)
106
+ date
107
+ net-protocol
108
+ net-pop (0.1.2)
109
+ net-protocol
110
+ net-protocol (0.2.1)
111
+ timeout
112
+ net-smtp (0.3.3)
113
+ net-protocol
114
+ nio4r (2.5.8)
115
+ nokogiri (1.13.10-x86_64-linux)
116
+ racc (~> 1.4)
117
+ parallel (1.22.1)
118
+ parser (3.2.0.0)
119
+ ast (~> 2.4.1)
120
+ pry (0.14.1)
121
+ coderay (~> 1.1)
122
+ method_source (~> 1.0)
123
+ racc (1.6.2)
124
+ rack (2.2.5)
125
+ rack-test (2.0.2)
126
+ rack (>= 1.3)
127
+ rails (7.0.4)
128
+ actioncable (= 7.0.4)
129
+ actionmailbox (= 7.0.4)
130
+ actionmailer (= 7.0.4)
131
+ actionpack (= 7.0.4)
132
+ actiontext (= 7.0.4)
133
+ actionview (= 7.0.4)
134
+ activejob (= 7.0.4)
135
+ activemodel (= 7.0.4)
136
+ activerecord (= 7.0.4)
137
+ activestorage (= 7.0.4)
138
+ activesupport (= 7.0.4)
139
+ bundler (>= 1.15.0)
140
+ railties (= 7.0.4)
141
+ rails-dom-testing (2.0.3)
142
+ activesupport (>= 4.2.0)
143
+ nokogiri (>= 1.6)
144
+ rails-html-sanitizer (1.4.4)
145
+ loofah (~> 2.19, >= 2.19.1)
146
+ railties (7.0.4)
147
+ actionpack (= 7.0.4)
148
+ activesupport (= 7.0.4)
149
+ method_source
150
+ rake (>= 12.2)
151
+ thor (~> 1.0)
152
+ zeitwerk (~> 2.5)
153
+ rainbow (3.1.1)
154
+ rake (13.0.6)
155
+ regexp_parser (2.6.1)
156
+ rexml (3.2.5)
157
+ rubocop (1.43.0)
158
+ json (~> 2.3)
159
+ parallel (~> 1.10)
160
+ parser (>= 3.2.0.0)
161
+ rainbow (>= 2.2.2, < 4.0)
162
+ regexp_parser (>= 1.8, < 3.0)
163
+ rexml (>= 3.2.5, < 4.0)
164
+ rubocop-ast (>= 1.24.1, < 2.0)
165
+ ruby-progressbar (~> 1.7)
166
+ unicode-display_width (>= 2.4.0, < 3.0)
167
+ rubocop-ast (1.24.1)
168
+ parser (>= 3.1.1.0)
169
+ rubocop-rails (2.17.4)
170
+ activesupport (>= 4.2.0)
171
+ rack (>= 1.1)
172
+ rubocop (>= 1.33.0, < 2.0)
173
+ ruby-progressbar (1.11.0)
174
+ sqlite3 (1.6.0-x86_64-linux)
175
+ thor (1.2.1)
176
+ timeout (0.3.1)
177
+ tzinfo (2.0.5)
178
+ concurrent-ruby (~> 1.0)
179
+ unicode-display_width (2.4.2)
180
+ webrick (1.7.0)
181
+ websocket-driver (0.7.5)
182
+ websocket-extensions (>= 0.1.0)
183
+ websocket-extensions (0.1.5)
184
+ yard (0.9.28)
185
+ webrick (~> 1.7.0)
186
+ yard-activesupport-concern (0.0.1)
187
+ yard (>= 0.8)
188
+ zeitwerk (2.6.6)
189
+
190
+ PLATFORMS
191
+ x86_64-linux
192
+
193
+ DEPENDENCIES
194
+ anchormodel!
195
+ minitest (~> 5.17.0)
196
+ minitest-reporters (~> 1.5.0)
197
+ pry (~> 0.14.1)
198
+ rake (~> 13.0.6)
199
+ rubocop (~> 1.43.0)
200
+ rubocop-rails (~> 2.17.4)
201
+ sqlite3 (~> 1.6.0)
202
+ yard (~> 0.9.28)
203
+ yard-activesupport-concern (~> 0.0.1)
204
+
205
+ BUNDLED WITH
206
+ 2.3.26
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <img src="logo.svg" height=250 alt="Anchormodel logo"/>
2
+
1
3
  # Introducing Anchormodel
2
4
 
3
5
  This gem provides a simple but powerful alternative to [Rails
@@ -47,13 +49,16 @@ entries of an Anchormodel.
47
49
  `app/anchormodels/role.rb`:
48
50
 
49
51
  ```ruby
50
- class Anchormodels::Role < Anchormodel
52
+ class Role < Anchormodel
53
+ # Make <, > etc. based on <=> operator whic hwe will define below
54
+ include Comparable
55
+
51
56
  # Expose the attribute privilege_level
52
57
  attr_reader :privilege_level
53
58
 
54
- # Overload <=> to make user roles comparable based on the privilege level
59
+ # Define <=> to make user roles comparable based on the privilege level
55
60
  def <=>(other)
56
- other.privilege_level <=> @privilege_level
61
+ @privilege_level <=> other.privilege_level
57
62
  end
58
63
 
59
64
  # Declare all available roles
@@ -76,10 +81,10 @@ You may now use the following methods:
76
81
 
77
82
  ```ruby
78
83
  # Retrieve all user roles:
79
- Anchormodels::Role.all
84
+ Role.all
80
85
 
81
86
  # Retrieve a specific role from the String and find its privilege level
82
- Anchormodels::Role.find(:guest).privilege_level
87
+ Role.find(:guest).privilege_level
83
88
 
84
89
  # Implement a Rails helper that makes sure users can only edit other users that have a lower privilege level than themselves
85
90
  def user_can_edit?(this_user, other_user)
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require_relative 'lib/anchormodel/version'
3
3
 
4
+ # Create "gemspec" task
4
5
  task :gemspec do
5
6
  specification = Gem::Specification.new do |s|
6
7
  s.name = 'anchormodel'
@@ -11,12 +12,27 @@ task :gemspec do
11
12
  s.executables = []
12
13
  s.require_paths = ['lib']
13
14
  s.required_ruby_version = '>= 3.0.0'
15
+ s.license = 'LGPL-3.0-or-later'
16
+ s.homepage = 'https://github.com/kalsan/anchormodel'
14
17
 
15
18
  # Dependencies
16
- s.add_runtime_dependency 'rails', '>= 7.0'
19
+ s.add_runtime_dependency 'rails', '~> 7.0'
17
20
 
18
- s.add_development_dependency 'yard', '>= 0.9.28'
19
- s.add_development_dependency 'yard-activesupport-concern'
21
+ s.add_development_dependency 'rake', '~> 13.0.6'
22
+ s.add_development_dependency 'pry', '~> 0.14.1'
23
+
24
+ # Linter
25
+ s.add_development_dependency 'rubocop', '~> 1.43.0'
26
+ s.add_development_dependency 'rubocop-rails', '~> 2.17.4'
27
+
28
+ # Doc
29
+ s.add_development_dependency 'yard', '~> 0.9.28'
30
+ s.add_development_dependency 'yard-activesupport-concern', '~> 0.0.1'
31
+
32
+ # Test
33
+ s.add_development_dependency 'minitest', '~> 5.17.0'
34
+ s.add_development_dependency 'minitest-reporters', '~> 1.5.0'
35
+ s.add_development_dependency 'sqlite3', '~> 1.6.0'
20
36
  end
21
37
 
22
38
  File.open('anchormodel.gemspec', 'w') do |f|
@@ -25,3 +41,7 @@ task :gemspec do
25
41
  f.write(specification.to_ruby.strip)
26
42
  end
27
43
  end
44
+
45
+ # Create "test" task
46
+ require 'minitest/test_task'
47
+ Minitest::TestTask.create
data/anchormodel.gemspec CHANGED
@@ -2,17 +2,19 @@
2
2
  # This file is auto-generated via: 'rake gemspec'.
3
3
 
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: anchormodel 0.0.2 ruby lib
5
+ # stub: anchormodel 0.1.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "anchormodel".freeze
9
- s.version = "0.0.2"
9
+ s.version = "0.1.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Sandro Kalbermatter".freeze]
14
- s.date = "2022-12-30"
15
- s.files = [".gitignore".freeze, ".ruby-version".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "anchormodel-0.0.1.gem".freeze, "anchormodel.gemspec".freeze, "doc/Anchormodel.html".freeze, "doc/Anchormodel/ActiveModelTypeValue.html".freeze, "doc/Anchormodel/Attribute.html".freeze, "doc/Anchormodel/ModelMixin.html".freeze, "doc/Anchormodel/Version.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/index.html".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/top-level-namespace.html".freeze, "lib/anchormodel.rb".freeze, "lib/anchormodel/active_model_type_value.rb".freeze, "lib/anchormodel/attribute.rb".freeze, "lib/anchormodel/model_mixin.rb".freeze, "lib/anchormodel/version.rb".freeze]
14
+ s.date = "2023-01-18"
15
+ s.files = [".gitignore".freeze, ".ruby-version".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "Gemfile.lock".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "anchormodel.gemspec".freeze, "doc/Anchormodel.html".freeze, "doc/Anchormodel/ActiveModelTypeValue.html".freeze, "doc/Anchormodel/Attribute.html".freeze, "doc/Anchormodel/ModelMixin.html".freeze, "doc/Anchormodel/Version.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/index.html".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/top-level-namespace.html".freeze, "lib/anchormodel.rb".freeze, "lib/anchormodel/active_model_type_value.rb".freeze, "lib/anchormodel/attribute.rb".freeze, "lib/anchormodel/model_mixin.rb".freeze, "lib/anchormodel/version.rb".freeze, "logo.svg".freeze, "test/active_record_model/user_test.rb".freeze, "test/dummy/.gitignore".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/anchormodels/locale.rb".freeze, "test/dummy/app/anchormodels/role.rb".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/user.rb".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/credentials.yml.enc".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/content_security_policy.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/permissions_policy.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/db/migrate/20230107173151_create_users.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/db/seeds.rb".freeze, "test/dummy/lib/tasks/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/tmp/.keep".freeze, "test/dummy/tmp/pids/.keep".freeze, "test/test_helper.rb".freeze]
16
+ s.homepage = "https://github.com/kalsan/anchormodel".freeze
17
+ s.licenses = ["LGPL-3.0-or-later".freeze]
16
18
  s.required_ruby_version = Gem::Requirement.new(">= 3.0.0".freeze)
17
19
  s.rubygems_version = "3.3.26".freeze
18
20
  s.summary = "Bringing object-oriented programming to Rails enums".freeze
@@ -22,12 +24,26 @@ Gem::Specification.new do |s|
22
24
  end
23
25
 
24
26
  if s.respond_to? :add_runtime_dependency then
25
- s.add_runtime_dependency(%q<rails>.freeze, [">= 7.0"])
26
- s.add_development_dependency(%q<yard>.freeze, [">= 0.9.28"])
27
- s.add_development_dependency(%q<yard-activesupport-concern>.freeze, [">= 0"])
27
+ s.add_runtime_dependency(%q<rails>.freeze, ["~> 7.0"])
28
+ s.add_development_dependency(%q<rake>.freeze, ["~> 13.0.6"])
29
+ s.add_development_dependency(%q<pry>.freeze, ["~> 0.14.1"])
30
+ s.add_development_dependency(%q<rubocop>.freeze, ["~> 1.43.0"])
31
+ s.add_development_dependency(%q<rubocop-rails>.freeze, ["~> 2.17.4"])
32
+ s.add_development_dependency(%q<yard>.freeze, ["~> 0.9.28"])
33
+ s.add_development_dependency(%q<yard-activesupport-concern>.freeze, ["~> 0.0.1"])
34
+ s.add_development_dependency(%q<minitest>.freeze, ["~> 5.17.0"])
35
+ s.add_development_dependency(%q<minitest-reporters>.freeze, ["~> 1.5.0"])
36
+ s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.6.0"])
28
37
  else
29
- s.add_dependency(%q<rails>.freeze, [">= 7.0"])
30
- s.add_dependency(%q<yard>.freeze, [">= 0.9.28"])
31
- s.add_dependency(%q<yard-activesupport-concern>.freeze, [">= 0"])
38
+ s.add_dependency(%q<rails>.freeze, ["~> 7.0"])
39
+ s.add_dependency(%q<rake>.freeze, ["~> 13.0.6"])
40
+ s.add_dependency(%q<pry>.freeze, ["~> 0.14.1"])
41
+ s.add_dependency(%q<rubocop>.freeze, ["~> 1.43.0"])
42
+ s.add_dependency(%q<rubocop-rails>.freeze, ["~> 2.17.4"])
43
+ s.add_dependency(%q<yard>.freeze, ["~> 0.9.28"])
44
+ s.add_dependency(%q<yard-activesupport-concern>.freeze, ["~> 0.0.1"])
45
+ s.add_dependency(%q<minitest>.freeze, ["~> 5.17.0"])
46
+ s.add_dependency(%q<minitest-reporters>.freeze, ["~> 1.5.0"])
47
+ s.add_dependency(%q<sqlite3>.freeze, ["~> 1.6.0"])
32
48
  end
33
49
  end
@@ -217,7 +217,8 @@
217
217
 
218
218
 
219
219
 
220
- <span class="summary_desc"><div class='inline'><p>A new instance of ActiveModelTypeValue.</p>
220
+ <span class="summary_desc"><div class='inline'>
221
+ <p>A new instance of ActiveModelTypeValue.</p>
221
222
  </div></span>
222
223
 
223
224
  </li>
@@ -240,7 +241,8 @@
240
241
 
241
242
 
242
243
 
243
- <span class="summary_desc"><div class='inline'><p>Implementing this instead of cast to force key validation in any case.</p>
244
+ <span class="summary_desc"><div class='inline'>
245
+ <p>Implementing this instead of cast to force key validation in any case.</p>
244
246
  </div></span>
245
247
 
246
248
  </li>
@@ -264,7 +266,8 @@
264
266
 
265
267
  </h3><div class="docstring">
266
268
  <div class="discussion">
267
- <p>Returns a new instance of ActiveModelTypeValue.</p>
269
+
270
+ <p>Returns a new instance of ActiveModelTypeValue.</p>
268
271
 
269
272
 
270
273
  </div>
@@ -445,7 +448,8 @@
445
448
 
446
449
  </h3><div class="docstring">
447
450
  <div class="discussion">
448
- <p>Implementing this instead of cast to force key validation in any case</p>
451
+
452
+ <p>Implementing this instead of cast to force key validation in any case</p>
449
453
 
450
454
 
451
455
  </div>
@@ -503,9 +507,9 @@
503
507
  </div>
504
508
 
505
509
  <div id="footer">
506
- Generated on Sat Dec 17 12:56:00 2022 by
510
+ Generated on Wed Jan 18 11:24:44 2023 by
507
511
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
508
- 0.9.28 (ruby-3.0.4).
512
+ 0.9.28 (ruby-3.1.3).
509
513
  </div>
510
514
 
511
515
  </div>
@@ -101,8 +101,8 @@
101
101
 
102
102
  <h2>Overview</h2><div class="docstring">
103
103
  <div class="discussion">
104
- <p>This class holds all information related to a Rails model pointing to an Anchormodel.
105
- It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
104
+
105
+ <p>This class holds all information related to a Rails model pointing to an Anchormodel. It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
106
106
 
107
107
 
108
108
  </div>
@@ -201,7 +201,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
201
201
 
202
202
 
203
203
 
204
- <span class="summary_desc"><div class='inline'><p>Getter for the Anchormodel class based on the name passed to the initializer.</p>
204
+ <span class="summary_desc"><div class='inline'>
205
+ <p>Getter for the Anchormodel class based on the name passed to the initializer.</p>
205
206
  </div></span>
206
207
 
207
208
  </li>
@@ -226,7 +227,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
226
227
 
227
228
 
228
229
 
229
- <span class="summary_desc"><div class='inline'><p>A new instance of Attribute.</p>
230
+ <span class="summary_desc"><div class='inline'>
231
+ <p>A new instance of Attribute.</p>
230
232
  </div></span>
231
233
 
232
234
  </li>
@@ -249,7 +251,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
249
251
 
250
252
  </h3><div class="docstring">
251
253
  <div class="discussion">
252
- <p>Returns a new instance of Attribute.</p>
254
+
255
+ <p>Returns a new instance of Attribute.</p>
253
256
 
254
257
 
255
258
  </div>
@@ -268,7 +271,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
268
271
 
269
272
 
270
273
  &mdash;
271
- <div class='inline'><p>The Rails model where ModelMixin#belongs_to_anchormodel is used</p>
274
+ <div class='inline'>
275
+ <p>The Rails model where ModelMixin#belongs_to_anchormodel is used</p>
272
276
  </div>
273
277
 
274
278
  </li>
@@ -283,7 +287,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
283
287
 
284
288
 
285
289
  &mdash;
286
- <div class='inline'><p>The name and database column of the attribute</p>
290
+ <div class='inline'>
291
+ <p>The name and database column of the attribute</p>
287
292
  </div>
288
293
 
289
294
  </li>
@@ -300,7 +305,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
300
305
 
301
306
 
302
307
  &mdash;
303
- <div class='inline'><p>Name of the Anchormodel class (omit if attribute <code>:foo_bar</code> holds an <code>Anchormodels::FooBar</code>)</p>
308
+ <div class='inline'>
309
+ <p>Name of the Anchormodel class (omit if attribute <code>:foo_bar</code> holds an <code>FooBar</code>)</p>
304
310
  </div>
305
311
 
306
312
  </li>
@@ -317,7 +323,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
317
323
 
318
324
 
319
325
  &mdash;
320
- <div class='inline'><p>If true, a presence validation is added to the model.</p>
326
+ <div class='inline'>
327
+ <p>If true, a presence validation is added to the model.</p>
321
328
  </div>
322
329
 
323
330
  </li>
@@ -344,7 +351,7 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
344
351
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_model_class'>model_class</span><span class='comma'>,</span> <span class='id identifier rubyid_attribute_name'>attribute_name</span><span class='comma'>,</span> <span class='id identifier rubyid_anchor_class_name'>anchor_class_name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_optional'>optional</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
345
352
  <span class='ivar'>@model_class</span> <span class='op'>=</span> <span class='id identifier rubyid_model_class'>model_class</span>
346
353
  <span class='ivar'>@attribute_name</span> <span class='op'>=</span> <span class='id identifier rubyid_attribute_name'>attribute_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
347
- <span class='ivar'>@anchor_class_name</span> <span class='op'>=</span> <span class='id identifier rubyid_anchor_class_name'>anchor_class_name</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Anchormodels::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_attribute_name'>attribute_name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
354
+ <span class='ivar'>@anchor_class_name</span> <span class='op'>=</span> <span class='id identifier rubyid_anchor_class_name'>anchor_class_name</span> <span class='op'>||</span> <span class='id identifier rubyid_attribute_name'>attribute_name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_classify'>classify</span>
348
355
  <span class='ivar'>@optional</span> <span class='op'>=</span> <span class='id identifier rubyid_optional'>optional</span>
349
356
  <span class='kw'>end</span></pre>
350
357
  </td>
@@ -457,8 +464,8 @@ It is instanciated when ModelMixin#belongs_to_anchormodel is used.</p>
457
464
 
458
465
  </h3><div class="docstring">
459
466
  <div class="discussion">
460
- <p>Getter for the Anchormodel class based on the name passed to the initializer.
461
- We are loading the anchor class lazily, because the model mixin instanciates this statically -&gt; avoid premature anchor class loading</p>
467
+
468
+ <p>Getter for the Anchormodel class based on the name passed to the initializer. We are loading the anchor class lazily, because the model mixin instanciates this statically -&gt; avoid premature anchor class loading</p>
462
469
 
463
470
 
464
471
  </div>
@@ -492,9 +499,9 @@ We are loading the anchor class lazily, because the model mixin instanciates thi
492
499
  </div>
493
500
 
494
501
  <div id="footer">
495
- Generated on Sat Dec 17 12:56:00 2022 by
502
+ Generated on Wed Jan 18 11:24:43 2023 by
496
503
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
497
- 0.9.28 (ruby-3.0.4).
504
+ 0.9.28 (ruby-3.1.3).
498
505
  </div>
499
506
 
500
507
  </div>
@@ -90,7 +90,8 @@
90
90
 
91
91
  <h2>Overview</h2><div class="docstring">
92
92
  <div class="discussion">
93
- <p>All Rails models making use of #belongs_to_anchormodel must include this mixin. Typically, it is included in <code>application_record.rb</code>.</p>
93
+
94
+ <p>All Rails models making use of #belongs_to_anchormodel must include this mixin. Typically, it is included in <code>application_record.rb</code>.</p>
94
95
 
95
96
 
96
97
  </div>
@@ -130,7 +131,8 @@
130
131
 
131
132
 
132
133
 
133
- <span class="summary_desc"><div class='inline'><p>Creates an attribute linking to an Anchormodel.</p>
134
+ <span class="summary_desc"><div class='inline'>
135
+ <p>Creates an attribute linking to an Anchormodel.</p>
134
136
  </div></span>
135
137
 
136
138
  </li>
@@ -157,8 +159,8 @@
157
159
 
158
160
  </h3><div class="docstring">
159
161
  <div class="discussion">
160
- <p>Creates an attribute linking to an Anchormodel. The attribute should be
161
- present in the DB and the column should be named the same as <code>attribute_name.</code></p>
162
+
163
+ <p>Creates an attribute linking to an Anchormodel. The attribute should be present in the DB and the column should be named the same as <code>attribute_name.</code></p>
162
164
 
163
165
 
164
166
  </div>
@@ -177,7 +179,8 @@ present in the DB and the column should be named the same as <code>attribute_nam
177
179
 
178
180
 
179
181
  &mdash;
180
- <div class='inline'><p>The name and database column of the attribute</p>
182
+ <div class='inline'>
183
+ <p>The name and database column of the attribute</p>
181
184
  </div>
182
185
 
183
186
  </li>
@@ -194,7 +197,8 @@ present in the DB and the column should be named the same as <code>attribute_nam
194
197
 
195
198
 
196
199
  &mdash;
197
- <div class='inline'><p>Name of the Anchormodel class (omit if attribute <code>:foo_bar</code> holds an <code>Anchormodels::FooBar</code>)</p>
200
+ <div class='inline'>
201
+ <p>Name of the Anchormodel class (omit if attribute <code>:foo_bar</code> holds a <code>FooBar</code>)</p>
198
202
  </div>
199
203
 
200
204
  </li>
@@ -211,7 +215,8 @@ present in the DB and the column should be named the same as <code>attribute_nam
211
215
 
212
216
 
213
217
  &mdash;
214
- <div class='inline'><p>If true, a presence validation is added to the model.</p>
218
+ <div class='inline'>
219
+ <p>If true, a presence validation is added to the model.</p>
215
220
  </div>
216
221
 
217
222
  </li>
@@ -297,9 +302,9 @@ present in the DB and the column should be named the same as <code>attribute_nam
297
302
  </div>
298
303
 
299
304
  <div id="footer">
300
- Generated on Sat Dec 17 12:56:00 2022 by
305
+ Generated on Wed Jan 18 11:24:43 2023 by
301
306
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
302
- 0.9.28 (ruby-3.0.4).
307
+ 0.9.28 (ruby-3.1.3).
303
308
  </div>
304
309
 
305
310
  </div>
@@ -141,7 +141,7 @@
141
141
 
142
142
  </div>
143
143
  </dt>
144
- <dd><pre class="code"><span class='int'>1</span></pre></dd>
144
+ <dd><pre class="code"><span class='int'>3</span></pre></dd>
145
145
 
146
146
  <dt id="EDGE-constant" class="">EDGE =
147
147
  <div class="docstring">
@@ -185,9 +185,9 @@
185
185
  </div>
186
186
 
187
187
  <div id="footer">
188
- Generated on Sat Dec 17 12:56:00 2022 by
188
+ Generated on Wed Jan 18 11:24:43 2023 by
189
189
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
190
- 0.9.28 (ruby-3.0.4).
190
+ 0.9.28 (ruby-3.1.3).
191
191
  </div>
192
192
 
193
193
  </div>