all_futures 1.0.3 → 2.0.1

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +272 -61
  4. data/LICENSE.txt +1 -1
  5. data/README.md +59 -79
  6. data/Rakefile +13 -1
  7. data/SUMMARY.md +22 -2
  8. data/bin/console +8 -0
  9. data/bin/loc +0 -0
  10. data/bin/setup +0 -0
  11. data/bin/standardize +0 -0
  12. data/lib/all_futures/association.rb +42 -0
  13. data/lib/all_futures/association_index.rb +69 -0
  14. data/lib/all_futures/attributes.rb +28 -0
  15. data/lib/all_futures/base.rb +66 -0
  16. data/lib/all_futures/callbacks.rb +71 -0
  17. data/lib/all_futures/configuration.rb +9 -0
  18. data/lib/all_futures/dirty.rb +116 -0
  19. data/lib/all_futures/embeds.rb +40 -0
  20. data/lib/all_futures/errors.rb +37 -0
  21. data/lib/all_futures/finder.rb +214 -0
  22. data/lib/all_futures/locale/en.yml +49 -0
  23. data/lib/all_futures/persistence.rb +595 -0
  24. data/lib/all_futures/presenter.rb +35 -0
  25. data/lib/all_futures/railtie.rb +26 -0
  26. data/lib/all_futures/translation.rb +22 -0
  27. data/lib/all_futures/validations.rb +10 -0
  28. data/lib/all_futures/version.rb +3 -1
  29. data/lib/all_futures/versions.rb +80 -0
  30. data/lib/all_futures.rb +24 -1
  31. data/lib/vendor/ACTIVE_ENTITY_MIT-LICENSE +42 -0
  32. data/lib/vendor/README.md +8 -0
  33. data/lib/vendor/active_entity/aggregations.rb +277 -0
  34. data/lib/vendor/active_entity/associations/embeds/association.rb +134 -0
  35. data/lib/vendor/active_entity/associations/embeds/builder/association.rb +105 -0
  36. data/lib/vendor/active_entity/associations/embeds/builder/collection_association.rb +71 -0
  37. data/lib/vendor/active_entity/associations/embeds/builder/embedded_in.rb +38 -0
  38. data/lib/vendor/active_entity/associations/embeds/builder/embeds_many.rb +13 -0
  39. data/lib/vendor/active_entity/associations/embeds/builder/embeds_one.rb +16 -0
  40. data/lib/vendor/active_entity/associations/embeds/builder/singular_association.rb +28 -0
  41. data/lib/vendor/active_entity/associations/embeds/collection_association.rb +209 -0
  42. data/lib/vendor/active_entity/associations/embeds/collection_proxy.rb +310 -0
  43. data/lib/vendor/active_entity/associations/embeds/embedded_in_association.rb +31 -0
  44. data/lib/vendor/active_entity/associations/embeds/embeds_many_association.rb +15 -0
  45. data/lib/vendor/active_entity/associations/embeds/embeds_one_association.rb +26 -0
  46. data/lib/vendor/active_entity/associations/embeds/singular_association.rb +35 -0
  47. data/lib/vendor/active_entity/associations.rb +168 -0
  48. data/lib/vendor/active_entity/attribute_assignment.rb +87 -0
  49. data/lib/vendor/active_entity/attribute_decorators.rb +90 -0
  50. data/lib/vendor/active_entity/attribute_methods/before_type_cast.rb +78 -0
  51. data/lib/vendor/active_entity/attribute_methods/dirty.rb +180 -0
  52. data/lib/vendor/active_entity/attribute_methods/primary_key.rb +96 -0
  53. data/lib/vendor/active_entity/attribute_methods/query.rb +38 -0
  54. data/lib/vendor/active_entity/attribute_methods/read.rb +44 -0
  55. data/lib/vendor/active_entity/attribute_methods/serialization.rb +90 -0
  56. data/lib/vendor/active_entity/attribute_methods/time_zone_conversion.rb +93 -0
  57. data/lib/vendor/active_entity/attribute_methods/write.rb +54 -0
  58. data/lib/vendor/active_entity/attribute_methods.rb +833 -0
  59. data/lib/vendor/active_entity/attributes.rb +240 -0
  60. data/lib/vendor/active_entity/base.rb +293 -0
  61. data/lib/vendor/active_entity/callbacks.rb +21 -0
  62. data/lib/vendor/active_entity/coders/json.rb +15 -0
  63. data/lib/vendor/active_entity/coders/yaml_column.rb +50 -0
  64. data/lib/vendor/active_entity/core.rb +348 -0
  65. data/lib/vendor/active_entity/enum.rb +260 -0
  66. data/lib/vendor/active_entity/errors.rb +69 -0
  67. data/lib/vendor/active_entity/gem_version.rb +17 -0
  68. data/lib/vendor/active_entity/inheritance.rb +176 -0
  69. data/lib/vendor/active_entity/integration.rb +78 -0
  70. data/lib/vendor/active_entity/locale/en.yml +45 -0
  71. data/lib/vendor/active_entity/model_schema.rb +118 -0
  72. data/lib/vendor/active_entity/nested_attributes.rb +554 -0
  73. data/lib/vendor/active_entity/persistence.rb +20 -0
  74. data/lib/vendor/active_entity/railtie.rb +76 -0
  75. data/lib/vendor/active_entity/readonly_attributes.rb +55 -0
  76. data/lib/vendor/active_entity/reflection.rb +447 -0
  77. data/lib/vendor/active_entity/serialization.rb +28 -0
  78. data/lib/vendor/active_entity/store.rb +291 -0
  79. data/lib/vendor/active_entity/translation.rb +24 -0
  80. data/lib/vendor/active_entity/type/date.rb +9 -0
  81. data/lib/vendor/active_entity/type/date_time.rb +9 -0
  82. data/lib/vendor/active_entity/type/internal/timezone.rb +17 -0
  83. data/lib/vendor/active_entity/type/json.rb +30 -0
  84. data/lib/vendor/active_entity/type/modifiers/array.rb +72 -0
  85. data/lib/vendor/active_entity/type/modifiers/array_without_blank.rb +19 -0
  86. data/lib/vendor/active_entity/type/registry.rb +112 -0
  87. data/lib/vendor/active_entity/type/serialized.rb +71 -0
  88. data/lib/vendor/active_entity/type/text.rb +11 -0
  89. data/lib/vendor/active_entity/type/time.rb +21 -0
  90. data/lib/vendor/active_entity/type/unsigned_integer.rb +17 -0
  91. data/lib/vendor/active_entity/type.rb +75 -0
  92. data/lib/vendor/active_entity/validate_embeds_association.rb +300 -0
  93. data/lib/vendor/active_entity/validations/absence.rb +25 -0
  94. data/lib/vendor/active_entity/validations/associated.rb +60 -0
  95. data/lib/vendor/active_entity/validations/length.rb +26 -0
  96. data/lib/vendor/active_entity/validations/presence.rb +68 -0
  97. data/lib/vendor/active_entity/validations/subset.rb +76 -0
  98. data/lib/vendor/active_entity/validations/uniqueness_in_embeds.rb +91 -0
  99. data/lib/vendor/active_entity/validations/uniqueness_on_active_record.rb +234 -0
  100. data/lib/vendor/active_entity/validations.rb +47 -0
  101. data/lib/vendor/active_entity/version.rb +10 -0
  102. data/lib/vendor/active_entity.rb +99 -0
  103. data/lib/vendor/core_ext/array_without_blank.rb +48 -0
  104. metadata +175 -17
  105. data/lib/all_futures/all_futures.rb +0 -28
  106. data/lib/all_futures/config.rb +0 -14
metadata CHANGED
@@ -1,43 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: all_futures
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - leastbad
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-19 00:00:00.000000000 Z
11
+ date: 2026-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '7.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '7.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '7.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '7.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '7.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '7.1'
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: kredis
15
57
  requirement: !ruby/object:Gem::Requirement
16
58
  requirements:
17
59
  - - "~>"
18
60
  - !ruby/object:Gem::Version
19
- version: '0.4'
61
+ version: '1.8'
20
62
  type: :runtime
21
63
  prerelease: false
22
64
  version_requirements: !ruby/object:Gem::Requirement
23
65
  requirements:
24
66
  - - "~>"
25
67
  - !ruby/object:Gem::Version
26
- version: '0.4'
68
+ version: '1.8'
27
69
  - !ruby/object:Gem::Dependency
28
- name: activeentity
70
+ name: ulid
29
71
  requirement: !ruby/object:Gem::Requirement
30
72
  requirements:
31
73
  - - "~>"
32
74
  - !ruby/object:Gem::Version
33
- version: '6.1'
75
+ version: '1.3'
34
76
  type: :runtime
35
77
  prerelease: false
36
78
  version_requirements: !ruby/object:Gem::Requirement
37
79
  requirements:
38
80
  - - "~>"
39
81
  - !ruby/object:Gem::Version
40
- version: '6.1'
82
+ version: '1.3'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: magic_frozen_string_literal
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +95,19 @@ dependencies:
53
95
  - !ruby/object:Gem::Version
54
96
  version: 1.2.0
55
97
  - !ruby/object:Gem::Dependency
56
- name: ruby_jard
98
+ name: railties
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
- - - "~>"
101
+ - - ">="
60
102
  - !ruby/object:Gem::Version
61
- version: '0.3'
103
+ version: '7.1'
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
- - - "~>"
108
+ - - ">="
67
109
  - !ruby/object:Gem::Version
68
- version: '0.3'
110
+ version: '7.1'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: rake
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +129,21 @@ dependencies:
87
129
  - !ruby/object:Gem::Version
88
130
  version: 13.0.3
89
131
  - !ruby/object:Gem::Dependency
90
- name: standardrb
132
+ name: standard
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.56'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1.56'
145
+ - !ruby/object:Gem::Dependency
146
+ name: warning
91
147
  requirement: !ruby/object:Gem::Requirement
92
148
  requirements:
93
149
  - - "~>"
@@ -100,6 +156,20 @@ dependencies:
100
156
  - - "~>"
101
157
  - !ruby/object:Gem::Version
102
158
  version: '1.0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: faker
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.20'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '2.20'
103
173
  description:
104
174
  email:
105
175
  - hello@leastbad.com
@@ -118,9 +188,97 @@ files:
118
188
  - bin/setup
119
189
  - bin/standardize
120
190
  - lib/all_futures.rb
121
- - lib/all_futures/all_futures.rb
122
- - lib/all_futures/config.rb
191
+ - lib/all_futures/association.rb
192
+ - lib/all_futures/association_index.rb
193
+ - lib/all_futures/attributes.rb
194
+ - lib/all_futures/base.rb
195
+ - lib/all_futures/callbacks.rb
196
+ - lib/all_futures/configuration.rb
197
+ - lib/all_futures/dirty.rb
198
+ - lib/all_futures/embeds.rb
199
+ - lib/all_futures/errors.rb
200
+ - lib/all_futures/finder.rb
201
+ - lib/all_futures/locale/en.yml
202
+ - lib/all_futures/persistence.rb
203
+ - lib/all_futures/presenter.rb
204
+ - lib/all_futures/railtie.rb
205
+ - lib/all_futures/translation.rb
206
+ - lib/all_futures/validations.rb
123
207
  - lib/all_futures/version.rb
208
+ - lib/all_futures/versions.rb
209
+ - lib/vendor/ACTIVE_ENTITY_MIT-LICENSE
210
+ - lib/vendor/README.md
211
+ - lib/vendor/active_entity.rb
212
+ - lib/vendor/active_entity/aggregations.rb
213
+ - lib/vendor/active_entity/associations.rb
214
+ - lib/vendor/active_entity/associations/embeds/association.rb
215
+ - lib/vendor/active_entity/associations/embeds/builder/association.rb
216
+ - lib/vendor/active_entity/associations/embeds/builder/collection_association.rb
217
+ - lib/vendor/active_entity/associations/embeds/builder/embedded_in.rb
218
+ - lib/vendor/active_entity/associations/embeds/builder/embeds_many.rb
219
+ - lib/vendor/active_entity/associations/embeds/builder/embeds_one.rb
220
+ - lib/vendor/active_entity/associations/embeds/builder/singular_association.rb
221
+ - lib/vendor/active_entity/associations/embeds/collection_association.rb
222
+ - lib/vendor/active_entity/associations/embeds/collection_proxy.rb
223
+ - lib/vendor/active_entity/associations/embeds/embedded_in_association.rb
224
+ - lib/vendor/active_entity/associations/embeds/embeds_many_association.rb
225
+ - lib/vendor/active_entity/associations/embeds/embeds_one_association.rb
226
+ - lib/vendor/active_entity/associations/embeds/singular_association.rb
227
+ - lib/vendor/active_entity/attribute_assignment.rb
228
+ - lib/vendor/active_entity/attribute_decorators.rb
229
+ - lib/vendor/active_entity/attribute_methods.rb
230
+ - lib/vendor/active_entity/attribute_methods/before_type_cast.rb
231
+ - lib/vendor/active_entity/attribute_methods/dirty.rb
232
+ - lib/vendor/active_entity/attribute_methods/primary_key.rb
233
+ - lib/vendor/active_entity/attribute_methods/query.rb
234
+ - lib/vendor/active_entity/attribute_methods/read.rb
235
+ - lib/vendor/active_entity/attribute_methods/serialization.rb
236
+ - lib/vendor/active_entity/attribute_methods/time_zone_conversion.rb
237
+ - lib/vendor/active_entity/attribute_methods/write.rb
238
+ - lib/vendor/active_entity/attributes.rb
239
+ - lib/vendor/active_entity/base.rb
240
+ - lib/vendor/active_entity/callbacks.rb
241
+ - lib/vendor/active_entity/coders/json.rb
242
+ - lib/vendor/active_entity/coders/yaml_column.rb
243
+ - lib/vendor/active_entity/core.rb
244
+ - lib/vendor/active_entity/enum.rb
245
+ - lib/vendor/active_entity/errors.rb
246
+ - lib/vendor/active_entity/gem_version.rb
247
+ - lib/vendor/active_entity/inheritance.rb
248
+ - lib/vendor/active_entity/integration.rb
249
+ - lib/vendor/active_entity/locale/en.yml
250
+ - lib/vendor/active_entity/model_schema.rb
251
+ - lib/vendor/active_entity/nested_attributes.rb
252
+ - lib/vendor/active_entity/persistence.rb
253
+ - lib/vendor/active_entity/railtie.rb
254
+ - lib/vendor/active_entity/readonly_attributes.rb
255
+ - lib/vendor/active_entity/reflection.rb
256
+ - lib/vendor/active_entity/serialization.rb
257
+ - lib/vendor/active_entity/store.rb
258
+ - lib/vendor/active_entity/translation.rb
259
+ - lib/vendor/active_entity/type.rb
260
+ - lib/vendor/active_entity/type/date.rb
261
+ - lib/vendor/active_entity/type/date_time.rb
262
+ - lib/vendor/active_entity/type/internal/timezone.rb
263
+ - lib/vendor/active_entity/type/json.rb
264
+ - lib/vendor/active_entity/type/modifiers/array.rb
265
+ - lib/vendor/active_entity/type/modifiers/array_without_blank.rb
266
+ - lib/vendor/active_entity/type/registry.rb
267
+ - lib/vendor/active_entity/type/serialized.rb
268
+ - lib/vendor/active_entity/type/text.rb
269
+ - lib/vendor/active_entity/type/time.rb
270
+ - lib/vendor/active_entity/type/unsigned_integer.rb
271
+ - lib/vendor/active_entity/validate_embeds_association.rb
272
+ - lib/vendor/active_entity/validations.rb
273
+ - lib/vendor/active_entity/validations/absence.rb
274
+ - lib/vendor/active_entity/validations/associated.rb
275
+ - lib/vendor/active_entity/validations/length.rb
276
+ - lib/vendor/active_entity/validations/presence.rb
277
+ - lib/vendor/active_entity/validations/subset.rb
278
+ - lib/vendor/active_entity/validations/uniqueness_in_embeds.rb
279
+ - lib/vendor/active_entity/validations/uniqueness_on_active_record.rb
280
+ - lib/vendor/active_entity/version.rb
281
+ - lib/vendor/core_ext/array_without_blank.rb
124
282
  homepage: https://allfutures.leastbad.com/
125
283
  licenses:
126
284
  - MIT
@@ -135,14 +293,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
293
  requirements:
136
294
  - - ">="
137
295
  - !ruby/object:Gem::Version
138
- version: '0'
296
+ version: 3.3.13
139
297
  required_rubygems_version: !ruby/object:Gem::Requirement
140
298
  requirements:
141
299
  - - ">="
142
300
  - !ruby/object:Gem::Version
143
301
  version: '0'
144
302
  requirements: []
145
- rubygems_version: 3.1.6
303
+ rubygems_version: 3.5.4
146
304
  signing_key:
147
305
  specification_version: 4
148
306
  summary: A Redis-backed virtual ActiveModel, full of possibilities.
@@ -1,28 +0,0 @@
1
- class AllFutures < ActiveEntity::Base
2
- attr_accessor :id
3
-
4
- def initialize(attributes={})
5
- super
6
- unless @id
7
- @id = SecureRandom.uuid
8
- save
9
- end
10
- end
11
-
12
- def []=(attr_name, value)
13
- super
14
- save
15
- end
16
-
17
- def save
18
- Kredis.json("#{self.class.name}:#{@id}").value = self.attributes
19
- changes_applied
20
- end
21
-
22
- def self.find(id)
23
- raise ArgumentError unless id
24
- json = Kredis.json("#{name}:#{id}").value
25
- raise ActiveRecord::RecordNotFound unless json
26
- new json.merge(id: id)
27
- end
28
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module AllFutures
4
- class Config
5
- # Not implemented yet due to there being no configuration
6
-
7
- # include Singleton
8
- # attr_accessor :tomorrow
9
-
10
- # def initialize
11
- # @tomorrow = Infinity
12
- # end
13
- end
14
- end