all_futures 1.0.2 → 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 +297 -0
  4. data/LICENSE.txt +1 -1
  5. data/README.md +59 -77
  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 +172 -31
  105. data/lib/all_futures/all_futures.rb +0 -28
  106. data/lib/all_futures/config.rb +0 -14
metadata CHANGED
@@ -1,85 +1,112 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: all_futures
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
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-04-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: kredis
13
+ name: activemodel
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '0.2'
18
+ version: '7.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
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
+ - - ">="
25
38
  - !ruby/object:Gem::Version
26
- version: '0.2'
39
+ version: '7.1'
27
40
  - !ruby/object:Gem::Dependency
28
- name: activeentity
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'
54
+ - !ruby/object:Gem::Dependency
55
+ name: kredis
29
56
  requirement: !ruby/object:Gem::Requirement
30
57
  requirements:
31
58
  - - "~>"
32
59
  - !ruby/object:Gem::Version
33
- version: '6.1'
60
+ version: '1.8'
34
61
  type: :runtime
35
62
  prerelease: false
36
63
  version_requirements: !ruby/object:Gem::Requirement
37
64
  requirements:
38
65
  - - "~>"
39
66
  - !ruby/object:Gem::Version
40
- version: '6.1'
67
+ version: '1.8'
41
68
  - !ruby/object:Gem::Dependency
42
- name: magic_frozen_string_literal
69
+ name: ulid
43
70
  requirement: !ruby/object:Gem::Requirement
44
71
  requirements:
45
72
  - - "~>"
46
73
  - !ruby/object:Gem::Version
47
- version: 1.2.0
48
- type: :development
74
+ version: '1.3'
75
+ type: :runtime
49
76
  prerelease: false
50
77
  version_requirements: !ruby/object:Gem::Requirement
51
78
  requirements:
52
79
  - - "~>"
53
80
  - !ruby/object:Gem::Version
54
- version: 1.2.0
81
+ version: '1.3'
55
82
  - !ruby/object:Gem::Dependency
56
- name: pry
83
+ name: magic_frozen_string_literal
57
84
  requirement: !ruby/object:Gem::Requirement
58
85
  requirements:
59
86
  - - "~>"
60
87
  - !ruby/object:Gem::Version
61
- version: '0.12'
88
+ version: 1.2.0
62
89
  type: :development
63
90
  prerelease: false
64
91
  version_requirements: !ruby/object:Gem::Requirement
65
92
  requirements:
66
93
  - - "~>"
67
94
  - !ruby/object:Gem::Version
68
- version: '0.12'
95
+ version: 1.2.0
69
96
  - !ruby/object:Gem::Dependency
70
- name: pry-nav
97
+ name: railties
71
98
  requirement: !ruby/object:Gem::Requirement
72
99
  requirements:
73
- - - "~>"
100
+ - - ">="
74
101
  - !ruby/object:Gem::Version
75
- version: '0.3'
102
+ version: '7.1'
76
103
  type: :development
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
80
- - - "~>"
107
+ - - ">="
81
108
  - !ruby/object:Gem::Version
82
- version: '0.3'
109
+ version: '7.1'
83
110
  - !ruby/object:Gem::Dependency
84
111
  name: rake
85
112
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +128,21 @@ dependencies:
101
128
  - !ruby/object:Gem::Version
102
129
  version: 13.0.3
103
130
  - !ruby/object:Gem::Dependency
104
- 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
105
146
  requirement: !ruby/object:Gem::Requirement
106
147
  requirements:
107
148
  - - "~>"
@@ -114,7 +155,20 @@ dependencies:
114
155
  - - "~>"
115
156
  - !ruby/object:Gem::Version
116
157
  version: '1.0'
117
- 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'
118
172
  email:
119
173
  - hello@leastbad.com
120
174
  executables: []
@@ -122,6 +176,7 @@ extensions: []
122
176
  extra_rdoc_files: []
123
177
  files:
124
178
  - Gemfile
179
+ - Gemfile.lock
125
180
  - LICENSE.txt
126
181
  - README.md
127
182
  - Rakefile
@@ -131,16 +186,103 @@ files:
131
186
  - bin/setup
132
187
  - bin/standardize
133
188
  - lib/all_futures.rb
134
- - lib/all_futures/all_futures.rb
135
- - 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
136
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
137
280
  homepage: https://allfutures.leastbad.com/
138
281
  licenses:
139
282
  - MIT
140
283
  metadata:
141
284
  source_code_uri: https://github.com/leastbad/all_futures
142
285
  documentation_uri: https://allfutures.leastbad.com/
143
- post_install_message:
144
286
  rdoc_options: []
145
287
  require_paths:
146
288
  - lib
@@ -148,15 +290,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
148
290
  requirements:
149
291
  - - ">="
150
292
  - !ruby/object:Gem::Version
151
- version: '0'
293
+ version: '3.1'
152
294
  required_rubygems_version: !ruby/object:Gem::Requirement
153
295
  requirements:
154
296
  - - ">="
155
297
  - !ruby/object:Gem::Version
156
298
  version: '0'
157
299
  requirements: []
158
- rubygems_version: 3.1.6
159
- signing_key:
300
+ rubygems_version: 3.6.9
160
301
  specification_version: 4
161
302
  summary: A Redis-backed virtual ActiveModel, full of possibilities.
162
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.to_json
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