anchormodel 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +12 -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 +27 -11
  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 +14 -1
  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 +150 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc6cfead46a797c2039091347636575edf3b46be9172aa0b5e859d64c8dec816
4
- data.tar.gz: c195d9fbb46ea16961977818d30628c8223926708bde1385aa7ca50307820f43
3
+ metadata.gz: d456af4c2d49001651318271fd70c8e008894cf7b2a0a1beeb0bc28e3f8aa227
4
+ data.tar.gz: 4801071bbe71a06f16717b25ff657a90989bdd801624eecc6388bdea5cbb216e
5
5
  SHA512:
6
- metadata.gz: 91f34a409344033c7e04ac4eef8a5af81b0997c4c092c2a0baba3df1fcd3c00980a9e11aadee18ef410609bd2aff77476d0524384cad4a3e5d797e0e0e1fb7c2
7
- data.tar.gz: e689dd2d03bc6932b6c7ebf444e3fd8db72136f430b2863c05c9d9f7d3b65dae91f320cadb94b0eb119326244263d34540ac59cccc19310dd2d33ff3bbea3f36
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 ADDED
@@ -0,0 +1,12 @@
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
+
6
+ # 0.0.2 (30.12.2022)
7
+
8
+ - Fix a bug where `.all` loaded entries from all classes.
9
+
10
+ # 0.0.1 (17.12.2022)
11
+
12
+ - Initial release, MVP, early stage. Do not use.
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,19 +2,21 @@
2
2
  # This file is auto-generated via: 'rake gemspec'.
3
3
 
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: anchormodel 0.0.1 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.1"
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-17"
15
- s.files = [".gitignore".freeze, ".ruby-version".freeze, ".yardopts".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]
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
- s.rubygems_version = "3.2.33".freeze
19
+ s.rubygems_version = "3.3.26".freeze
18
20
  s.summary = "Bringing object-oriented programming to Rails enums".freeze
19
21
 
20
22
  if s.respond_to? :specification_version then
@@ -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>