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