hyper-model 1.0.alpha1.2 → 1.0.alpha1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.rspec +0 -1
  4. data/Gemfile +6 -5
  5. data/Rakefile +27 -3
  6. data/hyper-model.gemspec +11 -19
  7. data/lib/active_record_base.rb +105 -33
  8. data/lib/enumerable/pluck.rb +3 -2
  9. data/lib/hyper-model.rb +4 -1
  10. data/lib/hyper_model/version.rb +1 -1
  11. data/lib/hyper_react/input_tags.rb +2 -1
  12. data/lib/reactive_record/active_record/associations.rb +130 -34
  13. data/lib/reactive_record/active_record/base.rb +32 -0
  14. data/lib/reactive_record/active_record/class_methods.rb +124 -52
  15. data/lib/reactive_record/active_record/error.rb +2 -0
  16. data/lib/reactive_record/active_record/errors.rb +8 -4
  17. data/lib/reactive_record/active_record/instance_methods.rb +73 -5
  18. data/lib/reactive_record/active_record/public_columns_hash.rb +25 -26
  19. data/lib/reactive_record/active_record/reactive_record/backing_record_inspector.rb +22 -5
  20. data/lib/reactive_record/active_record/reactive_record/base.rb +50 -24
  21. data/lib/reactive_record/active_record/reactive_record/collection.rb +226 -68
  22. data/lib/reactive_record/active_record/reactive_record/dummy_polymorph.rb +22 -0
  23. data/lib/reactive_record/active_record/reactive_record/dummy_value.rb +27 -15
  24. data/lib/reactive_record/active_record/reactive_record/getters.rb +33 -10
  25. data/lib/reactive_record/active_record/reactive_record/isomorphic_base.rb +81 -51
  26. data/lib/reactive_record/active_record/reactive_record/lookup_tables.rb +5 -5
  27. data/lib/reactive_record/active_record/reactive_record/operations.rb +10 -3
  28. data/lib/reactive_record/active_record/reactive_record/scoped_collection.rb +3 -0
  29. data/lib/reactive_record/active_record/reactive_record/setters.rb +105 -68
  30. data/lib/reactive_record/active_record/reactive_record/while_loading.rb +249 -32
  31. data/lib/reactive_record/broadcast.rb +62 -25
  32. data/lib/reactive_record/interval.rb +3 -3
  33. data/lib/reactive_record/permissions.rb +14 -2
  34. data/lib/reactive_record/scope_description.rb +3 -2
  35. data/lib/reactive_record/server_data_cache.rb +99 -49
  36. data/polymorph-notes.md +143 -0
  37. data/spec_fails.txt +3 -0
  38. metadata +54 -153
  39. data/Gemfile.lock +0 -421
data/Gemfile.lock DELETED
@@ -1,421 +0,0 @@
1
- PATH
2
- remote: ../hyper-component
3
- specs:
4
- hyper-component (1.0.alpha1.1)
5
- hyper-state (= 1.0.alpha1.1)
6
- hyperstack-config (= 1.0.alpha1.1)
7
- libv8 (~> 6.3.0)
8
- mini_racer (~> 0.1.15)
9
- opal (>= 0.11.0, < 0.12.0)
10
- opal-activesupport (~> 0.3.1)
11
- react-rails (>= 2.4.0, < 2.5.0)
12
-
13
- PATH
14
- remote: ../hyper-operation
15
- specs:
16
- hyper-operation (1.0.alpha1.1)
17
- activerecord (>= 4.0.0)
18
- hyper-component (= 1.0.alpha1.1)
19
- mutations
20
- opal-activesupport (~> 0.3.1)
21
-
22
- PATH
23
- remote: ../hyper-state
24
- specs:
25
- hyper-state (1.0.alpha1.1)
26
- hyperstack-config (= 1.0.alpha1.1)
27
- opal (>= 0.11.0, < 0.12.0)
28
-
29
- PATH
30
- remote: ../hyperstack-config
31
- specs:
32
- hyperstack-config (1.0.alpha1.1)
33
- libv8 (~> 6.3.0)
34
- listen (~> 3.0)
35
- mini_racer (~> 0.1.15)
36
- opal (>= 0.11.0, < 0.12.0)
37
- opal-browser (~> 0.2.0)
38
- uglifier
39
- websocket
40
-
41
- PATH
42
- remote: .
43
- specs:
44
- hyper-model (1.0.alpha1.1)
45
- activemodel
46
- activerecord (>= 4.0.0)
47
- hyper-component (= 1.0.alpha1.1)
48
- hyper-operation (= 1.0.alpha1.1)
49
-
50
- GEM
51
- remote: https://rubygems.org/
52
- specs:
53
- abstract_type (0.0.7)
54
- actioncable (5.2.1)
55
- actionpack (= 5.2.1)
56
- nio4r (~> 2.0)
57
- websocket-driver (>= 0.6.1)
58
- actionmailer (5.2.1)
59
- actionpack (= 5.2.1)
60
- actionview (= 5.2.1)
61
- activejob (= 5.2.1)
62
- mail (~> 2.5, >= 2.5.4)
63
- rails-dom-testing (~> 2.0)
64
- actionpack (5.2.1)
65
- actionview (= 5.2.1)
66
- activesupport (= 5.2.1)
67
- rack (~> 2.0)
68
- rack-test (>= 0.6.3)
69
- rails-dom-testing (~> 2.0)
70
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
71
- actionview (5.2.1)
72
- activesupport (= 5.2.1)
73
- builder (~> 3.1)
74
- erubi (~> 1.4)
75
- rails-dom-testing (~> 2.0)
76
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
77
- activejob (5.2.1)
78
- activesupport (= 5.2.1)
79
- globalid (>= 0.3.6)
80
- activemodel (5.2.1)
81
- activesupport (= 5.2.1)
82
- activerecord (5.2.1)
83
- activemodel (= 5.2.1)
84
- activesupport (= 5.2.1)
85
- arel (>= 9.0)
86
- activestorage (5.2.1)
87
- actionpack (= 5.2.1)
88
- activerecord (= 5.2.1)
89
- marcel (~> 0.3.1)
90
- activesupport (5.2.1)
91
- concurrent-ruby (~> 1.0, >= 1.0.2)
92
- i18n (>= 0.7, < 2)
93
- minitest (~> 5.1)
94
- tzinfo (~> 1.1)
95
- adamantium (0.2.0)
96
- ice_nine (~> 0.11.0)
97
- memoizable (~> 0.4.0)
98
- addressable (2.5.2)
99
- public_suffix (>= 2.0.2, < 4.0)
100
- archive-zip (0.11.0)
101
- io-like (~> 0.3.0)
102
- arel (9.0.0)
103
- ast (2.4.0)
104
- babel-source (5.8.35)
105
- babel-transpiler (0.7.0)
106
- babel-source (>= 4.0, < 6)
107
- execjs (~> 2.0)
108
- builder (3.2.3)
109
- capybara (3.7.2)
110
- addressable
111
- mini_mime (>= 0.1.3)
112
- nokogiri (~> 1.8)
113
- rack (>= 1.6.0)
114
- rack-test (>= 0.6.3)
115
- xpath (~> 3.1)
116
- childprocess (0.9.0)
117
- ffi (~> 1.0, >= 1.0.11)
118
- chromedriver-helper (1.2.0)
119
- archive-zip (~> 0.10)
120
- nokogiri (~> 1.8)
121
- coderay (1.1.2)
122
- concord (0.1.5)
123
- adamantium (~> 0.2.0)
124
- equalizer (~> 0.0.9)
125
- concurrent-ruby (1.0.5)
126
- connection_pool (2.2.2)
127
- cookiejar (0.3.3)
128
- crass (1.0.4)
129
- daemons (1.2.6)
130
- database_cleaner (1.7.0)
131
- diff-lcs (1.3)
132
- em-http-request (1.1.5)
133
- addressable (>= 2.3.4)
134
- cookiejar (!= 0.3.1)
135
- em-socksify (>= 0.3)
136
- eventmachine (>= 1.0.3)
137
- http_parser.rb (>= 0.6.0)
138
- em-socksify (0.3.2)
139
- eventmachine (>= 1.0.0.beta.4)
140
- em-websocket (0.5.1)
141
- eventmachine (>= 0.12.9)
142
- http_parser.rb (~> 0.6.0)
143
- equalizer (0.0.11)
144
- erubi (1.7.1)
145
- eventmachine (1.2.7)
146
- execjs (2.7.0)
147
- factory_bot (4.11.1)
148
- activesupport (>= 3.0.0)
149
- factory_bot_rails (4.11.1)
150
- factory_bot (~> 4.11.1)
151
- railties (>= 3.0.0)
152
- ffi (1.9.25)
153
- globalid (0.4.1)
154
- activesupport (>= 4.2.0)
155
- hike (1.2.3)
156
- http_parser.rb (0.6.0)
157
- httpclient (2.8.3)
158
- i18n (1.1.0)
159
- concurrent-ruby (~> 1.0)
160
- ice_nine (0.11.2)
161
- interception (0.5)
162
- io-like (0.3.0)
163
- jquery-rails (4.3.3)
164
- rails-dom-testing (>= 1, < 3)
165
- railties (>= 4.2.0)
166
- thor (>= 0.14, < 2.0)
167
- libv8 (6.3.292.48.1)
168
- listen (3.1.5)
169
- rb-fsevent (~> 0.9, >= 0.9.4)
170
- rb-inotify (~> 0.9, >= 0.9.7)
171
- ruby_dep (~> 1.2)
172
- loofah (2.2.2)
173
- crass (~> 1.0.2)
174
- nokogiri (>= 1.5.9)
175
- mail (2.7.0)
176
- mini_mime (>= 0.1.1)
177
- marcel (0.3.2)
178
- mimemagic (~> 0.3.2)
179
- memoizable (0.4.2)
180
- thread_safe (~> 0.3, >= 0.3.1)
181
- method_source (0.9.0)
182
- mimemagic (0.3.2)
183
- mini_mime (1.0.1)
184
- mini_portile2 (2.3.0)
185
- mini_racer (0.1.15)
186
- libv8 (~> 6.3)
187
- minitest (5.11.3)
188
- multi_json (1.13.1)
189
- mutations (0.8.3)
190
- activesupport
191
- mysql2 (0.5.2)
192
- nio4r (2.3.1)
193
- nokogiri (1.8.4)
194
- mini_portile2 (~> 2.3.0)
195
- opal (0.11.3)
196
- ast (>= 2.3.0)
197
- hike (~> 1.2)
198
- parser (= 2.3.3.1)
199
- sourcemap (~> 0.1.0)
200
- opal-activesupport (0.3.1)
201
- opal (>= 0.5.0, < 1.0.0)
202
- opal-browser (0.2.0)
203
- opal
204
- paggio
205
- opal-jquery (0.4.3)
206
- opal (>= 0.10.0, < 0.12.0)
207
- opal-rails (0.9.5)
208
- jquery-rails
209
- opal (>= 0.11.0, < 0.12)
210
- opal-activesupport (>= 0.0.5)
211
- opal-jquery (~> 0.4.0)
212
- opal-sprockets (~> 0.4.2)
213
- rails (>= 4.1, < 6.0)
214
- sprockets-rails (>= 2.3.3, < 4.0)
215
- opal-sprockets (0.4.2.0.11.0.3.1)
216
- opal (~> 0.11.0)
217
- sprockets (~> 3.1)
218
- tilt (>= 1.4)
219
- paggio (0.2.6)
220
- parallel (1.12.1)
221
- parser (2.3.3.1)
222
- ast (~> 2.2)
223
- powerpack (0.1.2)
224
- procto (0.0.3)
225
- pry (0.11.3)
226
- coderay (~> 1.1.0)
227
- method_source (~> 0.9.0)
228
- pry-rescue (1.4.5)
229
- interception (>= 0.5)
230
- pry
231
- public_suffix (3.0.3)
232
- puma (3.12.0)
233
- pusher (1.3.1)
234
- httpclient (~> 2.7)
235
- multi_json (~> 1.0)
236
- pusher-signature (~> 0.1.8)
237
- pusher-fake (1.10.0)
238
- em-http-request (~> 1.1)
239
- em-websocket (~> 0.5)
240
- multi_json (~> 1.6)
241
- thin (~> 1.5)
242
- pusher-signature (0.1.8)
243
- rack (2.0.5)
244
- rack-test (1.1.0)
245
- rack (>= 1.0, < 3)
246
- rails (5.2.1)
247
- actioncable (= 5.2.1)
248
- actionmailer (= 5.2.1)
249
- actionpack (= 5.2.1)
250
- actionview (= 5.2.1)
251
- activejob (= 5.2.1)
252
- activemodel (= 5.2.1)
253
- activerecord (= 5.2.1)
254
- activestorage (= 5.2.1)
255
- activesupport (= 5.2.1)
256
- bundler (>= 1.3.0)
257
- railties (= 5.2.1)
258
- sprockets-rails (>= 2.0.0)
259
- rails-dom-testing (2.0.3)
260
- activesupport (>= 4.2.0)
261
- nokogiri (>= 1.6)
262
- rails-html-sanitizer (1.0.4)
263
- loofah (~> 2.2, >= 2.2.2)
264
- railties (5.2.1)
265
- actionpack (= 5.2.1)
266
- activesupport (= 5.2.1)
267
- method_source
268
- rake (>= 0.8.7)
269
- thor (>= 0.19.0, < 2.0)
270
- rainbow (2.2.2)
271
- rake
272
- rake (12.3.1)
273
- rb-fsevent (0.10.3)
274
- rb-inotify (0.9.10)
275
- ffi (>= 0.5.0, < 2)
276
- react-rails (2.4.7)
277
- babel-transpiler (>= 0.7.0)
278
- connection_pool
279
- execjs
280
- railties (>= 3.2)
281
- tilt
282
- reactrb-rails-generator (0.2.0)
283
- rails (>= 4.0.0)
284
- rspec (3.8.0)
285
- rspec-core (~> 3.8.0)
286
- rspec-expectations (~> 3.8.0)
287
- rspec-mocks (~> 3.8.0)
288
- rspec-collection_matchers (1.1.3)
289
- rspec-expectations (>= 2.99.0.beta1)
290
- rspec-core (3.8.0)
291
- rspec-support (~> 3.8.0)
292
- rspec-expectations (3.8.1)
293
- diff-lcs (>= 1.2.0, < 2.0)
294
- rspec-support (~> 3.8.0)
295
- rspec-its (1.2.0)
296
- rspec-core (>= 3.0.0)
297
- rspec-expectations (>= 3.0.0)
298
- rspec-mocks (3.8.0)
299
- diff-lcs (>= 1.2.0, < 2.0)
300
- rspec-support (~> 3.8.0)
301
- rspec-rails (3.8.0)
302
- actionpack (>= 3.0)
303
- activesupport (>= 3.0)
304
- railties (>= 3.0)
305
- rspec-core (~> 3.8.0)
306
- rspec-expectations (~> 3.8.0)
307
- rspec-mocks (~> 3.8.0)
308
- rspec-support (~> 3.8.0)
309
- rspec-steps (2.1.1)
310
- rspec (>= 3.0, < 3.99)
311
- rspec-support (3.8.0)
312
- rspec-wait (0.0.9)
313
- rspec (>= 3, < 4)
314
- rubocop (0.51.0)
315
- parallel (~> 1.10)
316
- parser (>= 2.3.3.1, < 3.0)
317
- powerpack (~> 0.1)
318
- rainbow (>= 2.2.2, < 3.0)
319
- ruby-progressbar (~> 1.7)
320
- unicode-display_width (~> 1.0, >= 1.0.1)
321
- ruby-progressbar (1.10.0)
322
- ruby_dep (1.5.0)
323
- rubyzip (1.2.2)
324
- selenium-webdriver (3.14.0)
325
- childprocess (~> 0.5)
326
- rubyzip (~> 1.2)
327
- shoulda (3.6.0)
328
- shoulda-context (~> 1.0, >= 1.0.1)
329
- shoulda-matchers (~> 3.0)
330
- shoulda-context (1.2.2)
331
- shoulda-matchers (3.1.2)
332
- activesupport (>= 4.0.0)
333
- sourcemap (0.1.1)
334
- spring (2.0.2)
335
- activesupport (>= 4.2)
336
- spring-commands-rspec (1.0.4)
337
- spring (>= 0.9.1)
338
- sprockets (3.7.2)
339
- concurrent-ruby (~> 1.0)
340
- rack (> 1, < 3)
341
- sprockets-rails (3.2.1)
342
- actionpack (>= 4.0)
343
- activesupport (>= 4.0)
344
- sprockets (>= 3.0.0)
345
- sqlite3 (1.3.13)
346
- thin (1.7.2)
347
- daemons (~> 1.0, >= 1.0.9)
348
- eventmachine (~> 1.0, >= 1.0.4)
349
- rack (>= 1, < 3)
350
- thor (0.20.0)
351
- thread_safe (0.3.6)
352
- tilt (2.0.8)
353
- timecop (0.8.1)
354
- tzinfo (1.2.5)
355
- thread_safe (~> 0.1)
356
- uglifier (4.1.19)
357
- execjs (>= 0.3.0, < 3)
358
- unicode-display_width (1.4.0)
359
- unparser (0.2.8)
360
- abstract_type (~> 0.0.7)
361
- adamantium (~> 0.2.0)
362
- concord (~> 0.1.5)
363
- diff-lcs (~> 1.3)
364
- equalizer (~> 0.0.9)
365
- parser (>= 2.3.1.2, < 2.6)
366
- procto (~> 0.0.2)
367
- websocket (1.2.8)
368
- websocket-driver (0.7.0)
369
- websocket-extensions (>= 0.1.0)
370
- websocket-extensions (0.1.3)
371
- xpath (3.1.0)
372
- nokogiri (~> 1.8)
373
-
374
- PLATFORMS
375
- ruby
376
-
377
- DEPENDENCIES
378
- bundler
379
- capybara
380
- chromedriver-helper (= 1.2.0)
381
- database_cleaner
382
- factory_bot_rails
383
- hyper-component!
384
- hyper-model!
385
- hyper-operation!
386
- hyper-state!
387
- hyperstack-config!
388
- libv8 (~> 6.3.0)
389
- mini_racer (~> 0.1.15)
390
- mysql2
391
- opal-activesupport (~> 0.3.1)
392
- opal-browser (~> 0.2.0)
393
- opal-rails (~> 0.9.4)
394
- parser
395
- pry
396
- pry-rescue
397
- puma
398
- pusher
399
- pusher-fake
400
- rails (>= 4.0.0)
401
- rake
402
- react-rails (>= 2.4.0, < 2.5.0)
403
- reactrb-rails-generator
404
- rspec-collection_matchers
405
- rspec-expectations
406
- rspec-its
407
- rspec-mocks
408
- rspec-rails
409
- rspec-steps (~> 2.1.1)
410
- rspec-wait
411
- rubocop (~> 0.51.0)
412
- selenium-webdriver
413
- shoulda
414
- shoulda-matchers
415
- spring-commands-rspec
416
- sqlite3
417
- timecop (~> 0.8.1)
418
- unparser
419
-
420
- BUNDLED WITH
421
- 1.16.1