hyper-mesh 0.6.0 → 1.0.0.lap22

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 (722) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -4
  3. data/.travis.yml +25 -2
  4. data/DOCS.md +722 -0
  5. data/Gemfile +2 -8
  6. data/README.md +32 -264
  7. data/Rakefile +7 -5
  8. data/dciy.toml +3 -0
  9. data/hyper-mesh.gemspec +59 -81
  10. data/lib/active_record_base.rb +3 -3
  11. data/lib/hypermesh/version.rb +1 -1
  12. data/lib/opal/parse_patch.rb +1 -1
  13. data/lib/reactive_record/active_record/aggregations.rb +1 -1
  14. data/lib/reactive_record/active_record/associations.rb +1 -5
  15. data/lib/reactive_record/active_record/class_methods.rb +6 -23
  16. data/lib/reactive_record/active_record/instance_methods.rb +30 -10
  17. data/lib/reactive_record/active_record/public_columns_hash.rb +27 -8
  18. data/lib/reactive_record/active_record/reactive_record/collection.rb +1 -1
  19. data/lib/reactive_record/active_record/reactive_record/column_types.rb +7 -1
  20. data/lib/reactive_record/active_record/reactive_record/dummy_value.rb +28 -15
  21. data/lib/reactive_record/active_record/reactive_record/isomorphic_base.rb +23 -12
  22. data/lib/reactive_record/active_record/reactive_record/while_loading.rb +84 -53
  23. data/lib/reactive_record/engine.rb +1 -1
  24. data/lib/reactive_record/server_data_cache.rb +99 -44
  25. metadata +101 -984
  26. data/docs/action_cable_quickstart.md +0 -134
  27. data/docs/activerecord_api.md +0 -275
  28. data/docs/authorization-policies.md +0 -502
  29. data/docs/client_side_scoping.md +0 -103
  30. data/docs/configuration_details.md +0 -33
  31. data/docs/pusher_faker_quickstart.md +0 -56
  32. data/docs/pusher_quickstart.md +0 -44
  33. data/docs/simple_poller_quickstart.md +0 -31
  34. data/docs/todo-example.md +0 -118
  35. data/docs/word_game.md +0 -28
  36. data/docs/words-example.md +0 -67
  37. data/examples/action-cable-production-mode/.gitignore +0 -21
  38. data/examples/action-cable-production-mode/Gemfile +0 -57
  39. data/examples/action-cable-production-mode/Gemfile.lock +0 -231
  40. data/examples/action-cable-production-mode/README.md +0 -24
  41. data/examples/action-cable-production-mode/Rakefile +0 -6
  42. data/examples/action-cable-production-mode/app/assets/config/manifest.js +0 -3
  43. data/examples/action-cable-production-mode/app/assets/images/.keep +0 -0
  44. data/examples/action-cable-production-mode/app/assets/javascripts/application.js +0 -20
  45. data/examples/action-cable-production-mode/app/assets/javascripts/cable.js +0 -13
  46. data/examples/action-cable-production-mode/app/assets/javascripts/channels/.keep +0 -0
  47. data/examples/action-cable-production-mode/app/assets/stylesheets/application.css +0 -15
  48. data/examples/action-cable-production-mode/app/channels/application_cable/channel.rb +0 -4
  49. data/examples/action-cable-production-mode/app/channels/application_cable/connection.rb +0 -4
  50. data/examples/action-cable-production-mode/app/controllers/application_controller.rb +0 -3
  51. data/examples/action-cable-production-mode/app/controllers/test_controller.rb +0 -5
  52. data/examples/action-cable-production-mode/app/models/models.rb +0 -2
  53. data/examples/action-cable-production-mode/app/models/public/application_record.rb +0 -3
  54. data/examples/action-cable-production-mode/app/models/public/word.rb +0 -2
  55. data/examples/action-cable-production-mode/app/policies/application_policy.rb +0 -14
  56. data/examples/action-cable-production-mode/app/views/components.rb +0 -16
  57. data/examples/action-cable-production-mode/app/views/components/app.rb +0 -18
  58. data/examples/action-cable-production-mode/app/views/layouts/application.html.erb +0 -14
  59. data/examples/action-cable-production-mode/bin/bundle +0 -3
  60. data/examples/action-cable-production-mode/bin/rails +0 -9
  61. data/examples/action-cable-production-mode/bin/rake +0 -9
  62. data/examples/action-cable-production-mode/bin/setup +0 -34
  63. data/examples/action-cable-production-mode/bin/spring +0 -16
  64. data/examples/action-cable-production-mode/bin/update +0 -29
  65. data/examples/action-cable-production-mode/config.ru +0 -5
  66. data/examples/action-cable-production-mode/config/application.rb +0 -18
  67. data/examples/action-cable-production-mode/config/boot.rb +0 -3
  68. data/examples/action-cable-production-mode/config/cable.yml +0 -9
  69. data/examples/action-cable-production-mode/config/database.yml +0 -25
  70. data/examples/action-cable-production-mode/config/environment.rb +0 -5
  71. data/examples/action-cable-production-mode/config/environments/development.rb +0 -56
  72. data/examples/action-cable-production-mode/config/environments/production.rb +0 -89
  73. data/examples/action-cable-production-mode/config/environments/test.rb +0 -42
  74. data/examples/action-cable-production-mode/config/initializers/application_controller_renderer.rb +0 -6
  75. data/examples/action-cable-production-mode/config/initializers/assets.rb +0 -11
  76. data/examples/action-cable-production-mode/config/initializers/backtrace_silencers.rb +0 -7
  77. data/examples/action-cable-production-mode/config/initializers/cookies_serializer.rb +0 -5
  78. data/examples/action-cable-production-mode/config/initializers/filter_parameter_logging.rb +0 -4
  79. data/examples/action-cable-production-mode/config/initializers/hyper_mesh.rb +0 -4
  80. data/examples/action-cable-production-mode/config/initializers/inflections.rb +0 -16
  81. data/examples/action-cable-production-mode/config/initializers/mime_types.rb +0 -4
  82. data/examples/action-cable-production-mode/config/initializers/new_framework_defaults.rb +0 -24
  83. data/examples/action-cable-production-mode/config/initializers/session_store.rb +0 -3
  84. data/examples/action-cable-production-mode/config/initializers/wrap_parameters.rb +0 -14
  85. data/examples/action-cable-production-mode/config/locales/en.yml +0 -23
  86. data/examples/action-cable-production-mode/config/puma.rb +0 -47
  87. data/examples/action-cable-production-mode/config/routes.rb +0 -5
  88. data/examples/action-cable-production-mode/config/secrets.yml +0 -22
  89. data/examples/action-cable-production-mode/config/spring.rb +0 -6
  90. data/examples/action-cable-production-mode/db/migrate/20161114213840_create_words.rb +0 -9
  91. data/examples/action-cable-production-mode/db/schema.rb +0 -34
  92. data/examples/action-cable-production-mode/db/seeds.rb +0 -7
  93. data/examples/action-cable-production-mode/lib/assets/.keep +0 -0
  94. data/examples/action-cable-production-mode/lib/tasks/.keep +0 -0
  95. data/examples/action-cable-production-mode/public/404.html +0 -67
  96. data/examples/action-cable-production-mode/public/422.html +0 -67
  97. data/examples/action-cable-production-mode/public/500.html +0 -66
  98. data/examples/action-cable-production-mode/public/apple-touch-icon-precomposed.png +0 -0
  99. data/examples/action-cable-production-mode/public/apple-touch-icon.png +0 -0
  100. data/examples/action-cable-production-mode/public/assets/.sprockets-manifest-3e9abd3ee8ba47c39a55b61ae37ed9e1.json +0 -1
  101. data/examples/action-cable-production-mode/public/favicon.ico +0 -0
  102. data/examples/action-cable-production-mode/public/robots.txt +0 -5
  103. data/examples/action-cable-production-mode/test/controllers/.keep +0 -0
  104. data/examples/action-cable-production-mode/test/fixtures/.keep +0 -0
  105. data/examples/action-cable-production-mode/test/fixtures/files/.keep +0 -0
  106. data/examples/action-cable-production-mode/test/fixtures/words.yml +0 -7
  107. data/examples/action-cable-production-mode/test/helpers/.keep +0 -0
  108. data/examples/action-cable-production-mode/test/integration/.keep +0 -0
  109. data/examples/action-cable-production-mode/test/mailers/.keep +0 -0
  110. data/examples/action-cable-production-mode/test/models/.keep +0 -0
  111. data/examples/action-cable-production-mode/test/models/word_test.rb +0 -7
  112. data/examples/action-cable-production-mode/test/test_helper.rb +0 -10
  113. data/examples/action-cable-production-mode/vendor/assets/javascripts/.keep +0 -0
  114. data/examples/action-cable-production-mode/vendor/assets/stylesheets/.keep +0 -0
  115. data/examples/action-cable/.gitignore +0 -21
  116. data/examples/action-cable/Gemfile +0 -58
  117. data/examples/action-cable/Gemfile.lock +0 -248
  118. data/examples/action-cable/README.md +0 -24
  119. data/examples/action-cable/Rakefile +0 -6
  120. data/examples/action-cable/app/assets/config/manifest.js +0 -3
  121. data/examples/action-cable/app/assets/images/.keep +0 -0
  122. data/examples/action-cable/app/assets/javascripts/application.js +0 -20
  123. data/examples/action-cable/app/assets/javascripts/cable.js +0 -13
  124. data/examples/action-cable/app/assets/javascripts/channels/.keep +0 -0
  125. data/examples/action-cable/app/assets/stylesheets/application.css +0 -15
  126. data/examples/action-cable/app/channels/application_cable/channel.rb +0 -4
  127. data/examples/action-cable/app/channels/application_cable/connection.rb +0 -4
  128. data/examples/action-cable/app/controllers/application_controller.rb +0 -3
  129. data/examples/action-cable/app/controllers/test_controller.rb +0 -5
  130. data/examples/action-cable/app/models/models.rb +0 -2
  131. data/examples/action-cable/app/models/public/.keep +0 -0
  132. data/examples/action-cable/app/models/public/application_record.rb +0 -3
  133. data/examples/action-cable/app/models/public/word.rb +0 -2
  134. data/examples/action-cable/app/policies/application_policy.rb +0 -14
  135. data/examples/action-cable/app/views/components.rb +0 -16
  136. data/examples/action-cable/app/views/components/app.rb +0 -18
  137. data/examples/action-cable/app/views/layouts/application.html.erb +0 -14
  138. data/examples/action-cable/bin/bundle +0 -3
  139. data/examples/action-cable/bin/rails +0 -9
  140. data/examples/action-cable/bin/rake +0 -9
  141. data/examples/action-cable/bin/setup +0 -34
  142. data/examples/action-cable/bin/spring +0 -16
  143. data/examples/action-cable/bin/update +0 -29
  144. data/examples/action-cable/config.ru +0 -5
  145. data/examples/action-cable/config/application.rb +0 -20
  146. data/examples/action-cable/config/boot.rb +0 -3
  147. data/examples/action-cable/config/cable.yml +0 -9
  148. data/examples/action-cable/config/database.yml +0 -25
  149. data/examples/action-cable/config/environment.rb +0 -5
  150. data/examples/action-cable/config/environments/development.rb +0 -56
  151. data/examples/action-cable/config/environments/production.rb +0 -86
  152. data/examples/action-cable/config/environments/test.rb +0 -42
  153. data/examples/action-cable/config/initializers/application_controller_renderer.rb +0 -6
  154. data/examples/action-cable/config/initializers/assets.rb +0 -11
  155. data/examples/action-cable/config/initializers/backtrace_silencers.rb +0 -7
  156. data/examples/action-cable/config/initializers/cookies_serializer.rb +0 -5
  157. data/examples/action-cable/config/initializers/filter_parameter_logging.rb +0 -4
  158. data/examples/action-cable/config/initializers/hyperloop.rb +0 -4
  159. data/examples/action-cable/config/initializers/inflections.rb +0 -16
  160. data/examples/action-cable/config/initializers/mime_types.rb +0 -4
  161. data/examples/action-cable/config/initializers/new_framework_defaults.rb +0 -24
  162. data/examples/action-cable/config/initializers/session_store.rb +0 -3
  163. data/examples/action-cable/config/initializers/wrap_parameters.rb +0 -14
  164. data/examples/action-cable/config/locales/en.yml +0 -23
  165. data/examples/action-cable/config/puma.rb +0 -47
  166. data/examples/action-cable/config/routes.rb +0 -5
  167. data/examples/action-cable/config/secrets.yml +0 -22
  168. data/examples/action-cable/config/spring.rb +0 -6
  169. data/examples/action-cable/db/migrate/20161114213840_create_words.rb +0 -9
  170. data/examples/action-cable/db/schema.rb +0 -34
  171. data/examples/action-cable/db/seeds.rb +0 -7
  172. data/examples/action-cable/lib/assets/.keep +0 -0
  173. data/examples/action-cable/lib/tasks/.keep +0 -0
  174. data/examples/action-cable/public/404.html +0 -67
  175. data/examples/action-cable/public/422.html +0 -67
  176. data/examples/action-cable/public/500.html +0 -66
  177. data/examples/action-cable/public/apple-touch-icon-precomposed.png +0 -0
  178. data/examples/action-cable/public/apple-touch-icon.png +0 -0
  179. data/examples/action-cable/public/favicon.ico +0 -0
  180. data/examples/action-cable/public/robots.txt +0 -5
  181. data/examples/action-cable/test/controllers/.keep +0 -0
  182. data/examples/action-cable/test/fixtures/.keep +0 -0
  183. data/examples/action-cable/test/fixtures/files/.keep +0 -0
  184. data/examples/action-cable/test/fixtures/words.yml +0 -7
  185. data/examples/action-cable/test/helpers/.keep +0 -0
  186. data/examples/action-cable/test/integration/.keep +0 -0
  187. data/examples/action-cable/test/mailers/.keep +0 -0
  188. data/examples/action-cable/test/models/.keep +0 -0
  189. data/examples/action-cable/test/models/word_test.rb +0 -7
  190. data/examples/action-cable/test/test_helper.rb +0 -10
  191. data/examples/action-cable/vendor/assets/javascripts/.keep +0 -0
  192. data/examples/action-cable/vendor/assets/stylesheets/.keep +0 -0
  193. data/examples/pusher-fake/.gitignore +0 -21
  194. data/examples/pusher-fake/Gemfile +0 -59
  195. data/examples/pusher-fake/Gemfile.lock +0 -262
  196. data/examples/pusher-fake/README.md +0 -24
  197. data/examples/pusher-fake/Rakefile +0 -6
  198. data/examples/pusher-fake/app/assets/config/manifest.js +0 -3
  199. data/examples/pusher-fake/app/assets/images/.keep +0 -0
  200. data/examples/pusher-fake/app/assets/javascripts/application.js +0 -21
  201. data/examples/pusher-fake/app/assets/stylesheets/application.css +0 -15
  202. data/examples/pusher-fake/app/controllers/application_controller.rb +0 -3
  203. data/examples/pusher-fake/app/controllers/test_controller.rb +0 -5
  204. data/examples/pusher-fake/app/models/models.rb +0 -2
  205. data/examples/pusher-fake/app/models/public/.keep +0 -0
  206. data/examples/pusher-fake/app/models/public/application_record.rb +0 -3
  207. data/examples/pusher-fake/app/models/public/word.rb +0 -2
  208. data/examples/pusher-fake/app/policies/application_policy.rb +0 -14
  209. data/examples/pusher-fake/app/views/components.rb +0 -16
  210. data/examples/pusher-fake/app/views/components/app.rb +0 -18
  211. data/examples/pusher-fake/app/views/layouts/application.html.erb +0 -14
  212. data/examples/pusher-fake/bin/bundle +0 -3
  213. data/examples/pusher-fake/bin/rails +0 -9
  214. data/examples/pusher-fake/bin/rake +0 -9
  215. data/examples/pusher-fake/bin/setup +0 -34
  216. data/examples/pusher-fake/bin/spring +0 -16
  217. data/examples/pusher-fake/bin/update +0 -29
  218. data/examples/pusher-fake/config.ru +0 -5
  219. data/examples/pusher-fake/config/application.rb +0 -20
  220. data/examples/pusher-fake/config/boot.rb +0 -3
  221. data/examples/pusher-fake/config/database.yml +0 -25
  222. data/examples/pusher-fake/config/environment.rb +0 -5
  223. data/examples/pusher-fake/config/environments/development.rb +0 -56
  224. data/examples/pusher-fake/config/environments/production.rb +0 -86
  225. data/examples/pusher-fake/config/environments/test.rb +0 -42
  226. data/examples/pusher-fake/config/initializers/application_controller_renderer.rb +0 -6
  227. data/examples/pusher-fake/config/initializers/assets.rb +0 -11
  228. data/examples/pusher-fake/config/initializers/backtrace_silencers.rb +0 -7
  229. data/examples/pusher-fake/config/initializers/cookies_serializer.rb +0 -5
  230. data/examples/pusher-fake/config/initializers/filter_parameter_logging.rb +0 -4
  231. data/examples/pusher-fake/config/initializers/hyper_mesh.rb +0 -21
  232. data/examples/pusher-fake/config/initializers/inflections.rb +0 -16
  233. data/examples/pusher-fake/config/initializers/mime_types.rb +0 -4
  234. data/examples/pusher-fake/config/initializers/new_framework_defaults.rb +0 -24
  235. data/examples/pusher-fake/config/initializers/session_store.rb +0 -3
  236. data/examples/pusher-fake/config/initializers/wrap_parameters.rb +0 -14
  237. data/examples/pusher-fake/config/locales/en.yml +0 -23
  238. data/examples/pusher-fake/config/puma.rb +0 -47
  239. data/examples/pusher-fake/config/routes.rb +0 -5
  240. data/examples/pusher-fake/config/secrets.yml +0 -22
  241. data/examples/pusher-fake/config/spring.rb +0 -6
  242. data/examples/pusher-fake/db/migrate/20161114213840_create_words.rb +0 -9
  243. data/examples/pusher-fake/db/schema.rb +0 -34
  244. data/examples/pusher-fake/db/seeds.rb +0 -7
  245. data/examples/pusher-fake/lib/assets/.keep +0 -0
  246. data/examples/pusher-fake/lib/tasks/.keep +0 -0
  247. data/examples/pusher-fake/public/404.html +0 -67
  248. data/examples/pusher-fake/public/422.html +0 -67
  249. data/examples/pusher-fake/public/500.html +0 -66
  250. data/examples/pusher-fake/public/apple-touch-icon-precomposed.png +0 -0
  251. data/examples/pusher-fake/public/apple-touch-icon.png +0 -0
  252. data/examples/pusher-fake/public/favicon.ico +0 -0
  253. data/examples/pusher-fake/public/robots.txt +0 -5
  254. data/examples/pusher-fake/test/controllers/.keep +0 -0
  255. data/examples/pusher-fake/test/fixtures/.keep +0 -0
  256. data/examples/pusher-fake/test/fixtures/files/.keep +0 -0
  257. data/examples/pusher-fake/test/fixtures/words.yml +0 -7
  258. data/examples/pusher-fake/test/helpers/.keep +0 -0
  259. data/examples/pusher-fake/test/integration/.keep +0 -0
  260. data/examples/pusher-fake/test/mailers/.keep +0 -0
  261. data/examples/pusher-fake/test/models/.keep +0 -0
  262. data/examples/pusher-fake/test/models/word_test.rb +0 -7
  263. data/examples/pusher-fake/test/test_helper.rb +0 -10
  264. data/examples/pusher-fake/vendor/assets/javascripts/.keep +0 -0
  265. data/examples/pusher-fake/vendor/assets/stylesheets/.keep +0 -0
  266. data/examples/pusher/.gitignore +0 -21
  267. data/examples/pusher/Gemfile +0 -58
  268. data/examples/pusher/Gemfile.lock +0 -236
  269. data/examples/pusher/README.md +0 -24
  270. data/examples/pusher/Rakefile +0 -6
  271. data/examples/pusher/app/assets/config/manifest.js +0 -3
  272. data/examples/pusher/app/assets/images/.keep +0 -0
  273. data/examples/pusher/app/assets/javascripts/application.js +0 -21
  274. data/examples/pusher/app/assets/stylesheets/application.css +0 -15
  275. data/examples/pusher/app/controllers/application_controller.rb +0 -3
  276. data/examples/pusher/app/controllers/test_controller.rb +0 -5
  277. data/examples/pusher/app/models/models.rb +0 -2
  278. data/examples/pusher/app/models/public/.keep +0 -0
  279. data/examples/pusher/app/models/public/application_record.rb +0 -3
  280. data/examples/pusher/app/models/public/word.rb +0 -2
  281. data/examples/pusher/app/policies/application_policy.rb +0 -14
  282. data/examples/pusher/app/views/components.rb +0 -16
  283. data/examples/pusher/app/views/components/app.rb +0 -18
  284. data/examples/pusher/app/views/layouts/application.html.erb +0 -14
  285. data/examples/pusher/bin/bundle +0 -3
  286. data/examples/pusher/bin/rails +0 -9
  287. data/examples/pusher/bin/rake +0 -9
  288. data/examples/pusher/bin/setup +0 -34
  289. data/examples/pusher/bin/spring +0 -16
  290. data/examples/pusher/bin/update +0 -29
  291. data/examples/pusher/config.ru +0 -5
  292. data/examples/pusher/config/application.rb +0 -20
  293. data/examples/pusher/config/boot.rb +0 -3
  294. data/examples/pusher/config/database.yml +0 -25
  295. data/examples/pusher/config/environment.rb +0 -5
  296. data/examples/pusher/config/environments/development.rb +0 -56
  297. data/examples/pusher/config/environments/production.rb +0 -86
  298. data/examples/pusher/config/environments/test.rb +0 -42
  299. data/examples/pusher/config/initializers/application_controller_renderer.rb +0 -6
  300. data/examples/pusher/config/initializers/assets.rb +0 -11
  301. data/examples/pusher/config/initializers/backtrace_silencers.rb +0 -7
  302. data/examples/pusher/config/initializers/cookies_serializer.rb +0 -5
  303. data/examples/pusher/config/initializers/filter_parameter_logging.rb +0 -4
  304. data/examples/pusher/config/initializers/hyper_mesh.rb +0 -10
  305. data/examples/pusher/config/initializers/inflections.rb +0 -16
  306. data/examples/pusher/config/initializers/mime_types.rb +0 -4
  307. data/examples/pusher/config/initializers/new_framework_defaults.rb +0 -24
  308. data/examples/pusher/config/initializers/session_store.rb +0 -3
  309. data/examples/pusher/config/initializers/wrap_parameters.rb +0 -14
  310. data/examples/pusher/config/locales/en.yml +0 -23
  311. data/examples/pusher/config/puma.rb +0 -47
  312. data/examples/pusher/config/routes.rb +0 -5
  313. data/examples/pusher/config/secrets.yml +0 -22
  314. data/examples/pusher/config/spring.rb +0 -6
  315. data/examples/pusher/db/migrate/20161114213840_create_words.rb +0 -9
  316. data/examples/pusher/db/schema.rb +0 -34
  317. data/examples/pusher/db/seeds.rb +0 -7
  318. data/examples/pusher/lib/assets/.keep +0 -0
  319. data/examples/pusher/lib/tasks/.keep +0 -0
  320. data/examples/pusher/public/404.html +0 -67
  321. data/examples/pusher/public/422.html +0 -67
  322. data/examples/pusher/public/500.html +0 -66
  323. data/examples/pusher/public/apple-touch-icon-precomposed.png +0 -0
  324. data/examples/pusher/public/apple-touch-icon.png +0 -0
  325. data/examples/pusher/public/favicon.ico +0 -0
  326. data/examples/pusher/public/robots.txt +0 -5
  327. data/examples/pusher/test/controllers/.keep +0 -0
  328. data/examples/pusher/test/fixtures/.keep +0 -0
  329. data/examples/pusher/test/fixtures/files/.keep +0 -0
  330. data/examples/pusher/test/fixtures/words.yml +0 -7
  331. data/examples/pusher/test/helpers/.keep +0 -0
  332. data/examples/pusher/test/integration/.keep +0 -0
  333. data/examples/pusher/test/mailers/.keep +0 -0
  334. data/examples/pusher/test/models/.keep +0 -0
  335. data/examples/pusher/test/models/word_test.rb +0 -7
  336. data/examples/pusher/test/test_helper.rb +0 -10
  337. data/examples/pusher/vendor/assets/javascripts/.keep +0 -0
  338. data/examples/pusher/vendor/assets/stylesheets/.keep +0 -0
  339. data/examples/simple-poller/.gitignore +0 -21
  340. data/examples/simple-poller/Gemfile +0 -57
  341. data/examples/simple-poller/Gemfile.lock +0 -229
  342. data/examples/simple-poller/README.md +0 -24
  343. data/examples/simple-poller/Rakefile +0 -6
  344. data/examples/simple-poller/app/assets/config/manifest.js +0 -3
  345. data/examples/simple-poller/app/assets/images/.keep +0 -0
  346. data/examples/simple-poller/app/assets/javascripts/application.js +0 -21
  347. data/examples/simple-poller/app/assets/stylesheets/application.css +0 -15
  348. data/examples/simple-poller/app/controllers/application_controller.rb +0 -3
  349. data/examples/simple-poller/app/controllers/test_controller.rb +0 -5
  350. data/examples/simple-poller/app/models/models.rb +0 -2
  351. data/examples/simple-poller/app/models/public/.keep +0 -0
  352. data/examples/simple-poller/app/models/public/application_record.rb +0 -3
  353. data/examples/simple-poller/app/models/public/word.rb +0 -2
  354. data/examples/simple-poller/app/policies/application_policy.rb +0 -14
  355. data/examples/simple-poller/app/views/components.rb +0 -16
  356. data/examples/simple-poller/app/views/components/app.rb +0 -18
  357. data/examples/simple-poller/app/views/layouts/application.html.erb +0 -14
  358. data/examples/simple-poller/bin/bundle +0 -3
  359. data/examples/simple-poller/bin/rails +0 -9
  360. data/examples/simple-poller/bin/rake +0 -9
  361. data/examples/simple-poller/bin/setup +0 -34
  362. data/examples/simple-poller/bin/spring +0 -16
  363. data/examples/simple-poller/bin/update +0 -29
  364. data/examples/simple-poller/config.ru +0 -5
  365. data/examples/simple-poller/config/application.rb +0 -20
  366. data/examples/simple-poller/config/boot.rb +0 -3
  367. data/examples/simple-poller/config/database.yml +0 -25
  368. data/examples/simple-poller/config/environment.rb +0 -5
  369. data/examples/simple-poller/config/environments/development.rb +0 -56
  370. data/examples/simple-poller/config/environments/production.rb +0 -86
  371. data/examples/simple-poller/config/environments/test.rb +0 -42
  372. data/examples/simple-poller/config/initializers/application_controller_renderer.rb +0 -6
  373. data/examples/simple-poller/config/initializers/assets.rb +0 -11
  374. data/examples/simple-poller/config/initializers/backtrace_silencers.rb +0 -7
  375. data/examples/simple-poller/config/initializers/cookies_serializer.rb +0 -5
  376. data/examples/simple-poller/config/initializers/filter_parameter_logging.rb +0 -4
  377. data/examples/simple-poller/config/initializers/hyper_mesh.rb +0 -9
  378. data/examples/simple-poller/config/initializers/inflections.rb +0 -16
  379. data/examples/simple-poller/config/initializers/mime_types.rb +0 -4
  380. data/examples/simple-poller/config/initializers/new_framework_defaults.rb +0 -24
  381. data/examples/simple-poller/config/initializers/session_store.rb +0 -3
  382. data/examples/simple-poller/config/initializers/wrap_parameters.rb +0 -14
  383. data/examples/simple-poller/config/locales/en.yml +0 -23
  384. data/examples/simple-poller/config/puma.rb +0 -47
  385. data/examples/simple-poller/config/routes.rb +0 -5
  386. data/examples/simple-poller/config/secrets.yml +0 -22
  387. data/examples/simple-poller/config/spring.rb +0 -6
  388. data/examples/simple-poller/db/migrate/20161114213840_create_words.rb +0 -9
  389. data/examples/simple-poller/db/schema.rb +0 -34
  390. data/examples/simple-poller/db/seeds.rb +0 -7
  391. data/examples/simple-poller/lib/assets/.keep +0 -0
  392. data/examples/simple-poller/lib/tasks/.keep +0 -0
  393. data/examples/simple-poller/public/404.html +0 -67
  394. data/examples/simple-poller/public/422.html +0 -67
  395. data/examples/simple-poller/public/500.html +0 -66
  396. data/examples/simple-poller/public/apple-touch-icon-precomposed.png +0 -0
  397. data/examples/simple-poller/public/apple-touch-icon.png +0 -0
  398. data/examples/simple-poller/public/favicon.ico +0 -0
  399. data/examples/simple-poller/public/robots.txt +0 -5
  400. data/examples/simple-poller/test/controllers/.keep +0 -0
  401. data/examples/simple-poller/test/fixtures/.keep +0 -0
  402. data/examples/simple-poller/test/fixtures/files/.keep +0 -0
  403. data/examples/simple-poller/test/fixtures/words.yml +0 -7
  404. data/examples/simple-poller/test/helpers/.keep +0 -0
  405. data/examples/simple-poller/test/integration/.keep +0 -0
  406. data/examples/simple-poller/test/mailers/.keep +0 -0
  407. data/examples/simple-poller/test/models/.keep +0 -0
  408. data/examples/simple-poller/test/models/word_test.rb +0 -7
  409. data/examples/simple-poller/test/test_helper.rb +0 -10
  410. data/examples/simple-poller/vendor/assets/javascripts/.keep +0 -0
  411. data/examples/simple-poller/vendor/assets/stylesheets/.keep +0 -0
  412. data/examples/word-game/.gitignore +0 -21
  413. data/examples/word-game/Gemfile +0 -57
  414. data/examples/word-game/Gemfile.lock +0 -241
  415. data/examples/word-game/README.md +0 -24
  416. data/examples/word-game/Rakefile +0 -6
  417. data/examples/word-game/app/assets/config/manifest.js +0 -3
  418. data/examples/word-game/app/assets/images/.keep +0 -0
  419. data/examples/word-game/app/assets/javascripts/application.js +0 -20
  420. data/examples/word-game/app/assets/javascripts/cable.js +0 -13
  421. data/examples/word-game/app/assets/javascripts/channels/.keep +0 -0
  422. data/examples/word-game/app/assets/stylesheets/application.css +0 -15
  423. data/examples/word-game/app/channels/application_cable/channel.rb +0 -4
  424. data/examples/word-game/app/channels/application_cable/connection.rb +0 -4
  425. data/examples/word-game/app/controllers/application_controller.rb +0 -3
  426. data/examples/word-game/app/controllers/concerns/.keep +0 -0
  427. data/examples/word-game/app/helpers/application_helper.rb +0 -2
  428. data/examples/word-game/app/jobs/application_job.rb +0 -2
  429. data/examples/word-game/app/mailers/application_mailer.rb +0 -4
  430. data/examples/word-game/app/models/application_record.rb +0 -3
  431. data/examples/word-game/app/models/concerns/.keep +0 -0
  432. data/examples/word-game/app/models/models.rb +0 -2
  433. data/examples/word-game/app/models/public/.keep +0 -0
  434. data/examples/word-game/app/policies/application_policy.rb +0 -14
  435. data/examples/word-game/app/views/components.rb +0 -16
  436. data/examples/word-game/app/views/components/.keep +0 -0
  437. data/examples/word-game/app/views/layouts/application.html.erb +0 -14
  438. data/examples/word-game/app/views/layouts/mailer.html.erb +0 -13
  439. data/examples/word-game/app/views/layouts/mailer.text.erb +0 -1
  440. data/examples/word-game/bin/bundle +0 -3
  441. data/examples/word-game/bin/rails +0 -9
  442. data/examples/word-game/bin/rake +0 -9
  443. data/examples/word-game/bin/setup +0 -34
  444. data/examples/word-game/bin/spring +0 -16
  445. data/examples/word-game/bin/update +0 -29
  446. data/examples/word-game/config.ru +0 -5
  447. data/examples/word-game/config/application.rb +0 -20
  448. data/examples/word-game/config/boot.rb +0 -3
  449. data/examples/word-game/config/cable.yml +0 -9
  450. data/examples/word-game/config/database.yml +0 -25
  451. data/examples/word-game/config/environment.rb +0 -5
  452. data/examples/word-game/config/environments/development.rb +0 -56
  453. data/examples/word-game/config/environments/production.rb +0 -86
  454. data/examples/word-game/config/environments/test.rb +0 -42
  455. data/examples/word-game/config/initializers/application_controller_renderer.rb +0 -6
  456. data/examples/word-game/config/initializers/assets.rb +0 -11
  457. data/examples/word-game/config/initializers/backtrace_silencers.rb +0 -7
  458. data/examples/word-game/config/initializers/cookies_serializer.rb +0 -5
  459. data/examples/word-game/config/initializers/filter_parameter_logging.rb +0 -4
  460. data/examples/word-game/config/initializers/hyper_mesh.rb +0 -4
  461. data/examples/word-game/config/initializers/inflections.rb +0 -16
  462. data/examples/word-game/config/initializers/mime_types.rb +0 -4
  463. data/examples/word-game/config/initializers/new_framework_defaults.rb +0 -24
  464. data/examples/word-game/config/initializers/session_store.rb +0 -3
  465. data/examples/word-game/config/initializers/wrap_parameters.rb +0 -14
  466. data/examples/word-game/config/locales/en.yml +0 -23
  467. data/examples/word-game/config/puma.rb +0 -47
  468. data/examples/word-game/config/routes.rb +0 -4
  469. data/examples/word-game/config/secrets.yml +0 -22
  470. data/examples/word-game/config/spring.rb +0 -6
  471. data/examples/word-game/db/seeds.rb +0 -7
  472. data/examples/word-game/lib/assets/.keep +0 -0
  473. data/examples/word-game/lib/tasks/.keep +0 -0
  474. data/examples/word-game/public/404.html +0 -67
  475. data/examples/word-game/public/422.html +0 -67
  476. data/examples/word-game/public/500.html +0 -66
  477. data/examples/word-game/public/apple-touch-icon-precomposed.png +0 -0
  478. data/examples/word-game/public/apple-touch-icon.png +0 -0
  479. data/examples/word-game/public/favicon.ico +0 -0
  480. data/examples/word-game/public/robots.txt +0 -5
  481. data/examples/word-game/test/controllers/.keep +0 -0
  482. data/examples/word-game/test/fixtures/.keep +0 -0
  483. data/examples/word-game/test/fixtures/files/.keep +0 -0
  484. data/examples/word-game/test/helpers/.keep +0 -0
  485. data/examples/word-game/test/integration/.keep +0 -0
  486. data/examples/word-game/test/mailers/.keep +0 -0
  487. data/examples/word-game/test/models/.keep +0 -0
  488. data/examples/word-game/test/test_helper.rb +0 -10
  489. data/examples/word-game/vendor/assets/javascripts/.keep +0 -0
  490. data/examples/word-game/vendor/assets/stylesheets/.keep +0 -0
  491. data/examples/words/.gitignore +0 -21
  492. data/examples/words/Gemfile +0 -59
  493. data/examples/words/Gemfile.lock +0 -248
  494. data/examples/words/README.md +0 -24
  495. data/examples/words/Rakefile +0 -6
  496. data/examples/words/app/assets/config/manifest.js +0 -3
  497. data/examples/words/app/assets/javascripts/application.js +0 -18
  498. data/examples/words/app/assets/stylesheets/application.css +0 -15
  499. data/examples/words/app/controllers/application_controller.rb +0 -3
  500. data/examples/words/app/controllers/test_controller.rb +0 -6
  501. data/examples/words/app/models/models.rb +0 -2
  502. data/examples/words/app/models/public/application_record.rb +0 -3
  503. data/examples/words/app/models/public/word.rb +0 -10
  504. data/examples/words/app/policies/application_policy.rb +0 -6
  505. data/examples/words/app/views/components.rb +0 -18
  506. data/examples/words/app/views/components/app.rb +0 -31
  507. data/examples/words/app/views/layouts/application.html.erb +0 -14
  508. data/examples/words/app/views/layouts/mailer.html.erb +0 -13
  509. data/examples/words/app/views/layouts/mailer.text.erb +0 -1
  510. data/examples/words/bin/bundle +0 -3
  511. data/examples/words/bin/rails +0 -9
  512. data/examples/words/bin/rake +0 -9
  513. data/examples/words/bin/setup +0 -34
  514. data/examples/words/bin/spring +0 -15
  515. data/examples/words/bin/update +0 -29
  516. data/examples/words/config.ru +0 -5
  517. data/examples/words/config/application.rb +0 -30
  518. data/examples/words/config/boot.rb +0 -3
  519. data/examples/words/config/cable.yml +0 -9
  520. data/examples/words/config/database.yml +0 -25
  521. data/examples/words/config/environment.rb +0 -5
  522. data/examples/words/config/environments/development.rb +0 -45
  523. data/examples/words/config/environments/production.rb +0 -86
  524. data/examples/words/config/environments/test.rb +0 -42
  525. data/examples/words/config/initializers/application_controller_renderer.rb +0 -6
  526. data/examples/words/config/initializers/assets.rb +0 -11
  527. data/examples/words/config/initializers/backtrace_silencers.rb +0 -7
  528. data/examples/words/config/initializers/cookies_serializer.rb +0 -5
  529. data/examples/words/config/initializers/filter_parameter_logging.rb +0 -4
  530. data/examples/words/config/initializers/hyper_mesh.rb +0 -14
  531. data/examples/words/config/initializers/inflections.rb +0 -16
  532. data/examples/words/config/initializers/mime_types.rb +0 -4
  533. data/examples/words/config/initializers/new_framework_defaults.rb +0 -24
  534. data/examples/words/config/initializers/session_store.rb +0 -3
  535. data/examples/words/config/initializers/wrap_parameters.rb +0 -14
  536. data/examples/words/config/locales/en.yml +0 -23
  537. data/examples/words/config/puma.rb +0 -47
  538. data/examples/words/config/routes.rb +0 -5
  539. data/examples/words/config/secrets.yml +0 -22
  540. data/examples/words/config/spring.rb +0 -6
  541. data/examples/words/db/migrate/20160921223808_create_words.rb +0 -9
  542. data/examples/words/db/schema.rb +0 -28
  543. data/examples/words/public/404.html +0 -67
  544. data/examples/words/public/422.html +0 -67
  545. data/examples/words/public/500.html +0 -66
  546. data/examples/words/public/apple-touch-icon-precomposed.png +0 -0
  547. data/examples/words/public/apple-touch-icon.png +0 -0
  548. data/examples/words/public/favicon.ico +0 -0
  549. data/examples/words/public/robots.txt +0 -5
  550. data/examples/words/vendor/assets/javascripts/.keep +0 -0
  551. data/examples/words/vendor/assets/stylesheets/.keep +0 -0
  552. data/reactive_record_test_app/Gemfile +0 -20
  553. data/reactive_record_test_app/Gemfile.lock +0 -269
  554. data/reactive_record_test_app/Rakefile +0 -7
  555. data/reactive_record_test_app/app/assets/javascripts/application.rb +0 -3
  556. data/reactive_record_test_app/app/assets/javascripts/bigdecimal.rb +0 -1
  557. data/reactive_record_test_app/app/assets/javascripts/reactive_record_config.js +0 -2
  558. data/reactive_record_test_app/app/assets/stylesheets/application.css +0 -13
  559. data/reactive_record_test_app/app/controllers/application_controller.rb +0 -8
  560. data/reactive_record_test_app/app/controllers/home_controller.rb +0 -7
  561. data/reactive_record_test_app/app/helpers/application_helper.rb +0 -2
  562. data/reactive_record_test_app/app/models/models.rb.erb +0 -6
  563. data/reactive_record_test_app/app/models/public/address.rb +0 -13
  564. data/reactive_record_test_app/app/models/public/comment.rb +0 -19
  565. data/reactive_record_test_app/app/models/public/todo_item.rb +0 -36
  566. data/reactive_record_test_app/app/models/public/user.rb +0 -78
  567. data/reactive_record_test_app/config.ru +0 -33
  568. data/reactive_record_test_app/config/application.rb +0 -75
  569. data/reactive_record_test_app/config/boot.rb +0 -10
  570. data/reactive_record_test_app/config/database.yml +0 -25
  571. data/reactive_record_test_app/config/environment.rb +0 -5
  572. data/reactive_record_test_app/config/environments/development.rb +0 -43
  573. data/reactive_record_test_app/config/initializers/backtrace_silencers.rb +0 -7
  574. data/reactive_record_test_app/config/initializers/hyper_mesh_legacy_behavior.rb +0 -5
  575. data/reactive_record_test_app/config/initializers/inflections.rb +0 -15
  576. data/reactive_record_test_app/config/initializers/mime_types.rb +0 -5
  577. data/reactive_record_test_app/config/initializers/secret_token.rb +0 -7
  578. data/reactive_record_test_app/config/initializers/session_store.rb +0 -8
  579. data/reactive_record_test_app/config/initializers/wrap_parameters.rb +0 -14
  580. data/reactive_record_test_app/config/locales/en.yml +0 -5
  581. data/reactive_record_test_app/config/routes.rb +0 -6
  582. data/reactive_record_test_app/db/migrate/20150617002932_create_todo_items.rb +0 -11
  583. data/reactive_record_test_app/db/migrate/20150617134028_create_users.rb +0 -14
  584. data/reactive_record_test_app/db/migrate/20150729195556_add_address_to_user.rb +0 -20
  585. data/reactive_record_test_app/db/migrate/20150826142045_create_comments.rb +0 -10
  586. data/reactive_record_test_app/db/migrate/20150828172008_add_single_comment_to_todo_item.rb +0 -5
  587. data/reactive_record_test_app/db/migrate/20150908184118_add_address_id_to_user.rb +0 -5
  588. data/reactive_record_test_app/db/migrate/20150917220236_add_second_address_to_user.rb +0 -10
  589. data/reactive_record_test_app/db/migrate/20151009000111_add_test_data_attributes_to_user.rb +0 -6
  590. data/reactive_record_test_app/db/migrate/20160129182544_add_test_enum_to_user.rb +0 -5
  591. data/reactive_record_test_app/db/schema.rb +0 -63
  592. data/reactive_record_test_app/db/seeds.rb +0 -66
  593. data/reactive_record_test_app/public/404.html +0 -26
  594. data/reactive_record_test_app/public/422.html +0 -26
  595. data/reactive_record_test_app/public/500.html +0 -25
  596. data/reactive_record_test_app/public/favicon.ico +0 -0
  597. data/reactive_record_test_app/script/rails +0 -6
  598. data/reactive_record_test_app/spec-opal/active-record/aggregations_spec.rb +0 -41
  599. data/reactive_record_test_app/spec-opal/active-record/associations_spec.rb +0 -75
  600. data/reactive_record_test_app/spec-opal/active-record/base_spec.rb +0 -126
  601. data/reactive_record_test_app/spec-opal/active-record/dummy_value_spec.rb +0 -27
  602. data/reactive_record_test_app/spec-opal/active-record/edge_cases_spec.rb +0 -116
  603. data/reactive_record_test_app/spec-opal/active-record/enum_spec.rb +0 -43
  604. data/reactive_record_test_app/spec-opal/active-record/instance_methods_spec.rb +0 -53
  605. data/reactive_record_test_app/spec-opal/active-record/non_ar_aggregations_spec.rb +0 -74
  606. data/reactive_record_test_app/spec-opal/active-record/reactive_record_load_spec.rb +0 -23
  607. data/reactive_record_test_app/spec-opal/active-record/rendering_spec.rb +0 -230
  608. data/reactive_record_test_app/spec-opal/active-record/save_spec.rb +0 -124
  609. data/reactive_record_test_app/spec-opal/active-record/scope_spec.rb +0 -85
  610. data/reactive_record_test_app/spec-opal/active-record/update_aggregations_spec.rb +0 -76
  611. data/reactive_record_test_app/spec-opal/active-record/update_attributes_spec.rb +0 -186
  612. data/reactive_record_test_app/spec-opal/active-record/virtual_methods_spec.rb +0 -71
  613. data/reactive_record_test_app/spec-opal/index.html.erb +0 -11
  614. data/reactive_record_test_app/spec-opal/spec_helper.js.rb +0 -268
  615. data/reactive_record_test_app/spec-opal/test_spec.rb +0 -7
  616. data/reactive_record_test_app/spec-opal/vendor/es5-shim.min.js +0 -6
  617. data/reactive_record_test_app/spec_dont_run/README.md +0 -33
  618. data/reactive_record_test_app/spec_dont_run/active_record_broken/permissions_spec.rb +0 -170
  619. data/reactive_record_test_app/spec_dont_run/active_record_broken/prerendering_spec.rb +0 -50
  620. data/reactive_record_test_app/spec_dont_run/moved_to_main_spec_dir/zzzmany_to_many_spec_moved_to_main_suite.rb +0 -30
  621. data/reactive_record_test_app/spec_dont_run/moved_to_main_spec_dir/zzzrevert_record_spec_moved.rb +0 -78
  622. data/reactive_record_test_app/spec_dont_run/moved_to_main_spec_dir/zzzupdate_associations_spec_moved.rb +0 -142
  623. data/reactive_record_test_app/spec_dont_run/moved_to_main_spec_dir/zzzupdate_scopes_movedspec.rb +0 -48
  624. data/spec/batch1/aaa-unit_tests/connection_movedspec.rb +0 -144
  625. data/spec/batch1/aaa-unit_tests/dummy_value_spec.rb +0 -26
  626. data/spec/batch1/column_types/column_type_spec.rb +0 -318
  627. data/spec/batch1/crud_access_regulation/broadcast_controls_access_spec.rb +0 -99
  628. data/spec/batch1/crud_access_regulation/model_policies_spec.rb +0 -133
  629. data/spec/batch1/misc/access_like_hash_spec.rb +0 -43
  630. data/spec/batch1/misc/while_loading_spec.rb +0 -196
  631. data/spec/batch1/policies/regulate_all_broadcasts_spec.rb +0 -315
  632. data/spec/batch1/policies/regulate_broadcast_spec.rb +0 -370
  633. data/spec/batch2/authorization_spec.rb +0 -112
  634. data/spec/batch2/default_scope_spec.rb +0 -121
  635. data/spec/batch2/has_many_through_spec.rb +0 -169
  636. data/spec/batch2/relationships_spec.rb +0 -263
  637. data/spec/batch3/auto_load_itself_spec.rb +0 -24
  638. data/spec/batch3/edge_cases_spec.rb +0 -31
  639. data/spec/batch3/finder_method_spec.rb +0 -67
  640. data/spec/batch3/many_to_many_spec.rb +0 -50
  641. data/spec/batch3/pry_rescue_xspec.rb +0 -48
  642. data/spec/batch3/readme.txt +0 -0
  643. data/spec/batch3/revert_spec.rb +0 -113
  644. data/spec/batch3/save_while_loading_spec.rb +0 -44
  645. data/spec/batch3/update_associations_spec.rb +0 -189
  646. data/spec/batch3/update_scopes_spec.rb +0 -54
  647. data/spec/batch4/saving_during_commit_spec.rb +0 -64
  648. data/spec/batch4/scope_spec.rb +0 -581
  649. data/spec/batch4/scoped_todos_spec.rb +0 -167
  650. data/spec/batch4/synchromesh_spec.rb +0 -80
  651. data/spec/bin/firebug-2.0.13-fx.xpi +0 -0
  652. data/spec/component_helpers_xspec.rb +0 -49
  653. data/spec/examples/dictionary.rb +0 -239
  654. data/spec/examples/dictionary_with_client_scopes.rb +0 -196
  655. data/spec/examples/random_examples.rb +0 -133
  656. data/spec/factories/child_model.rb +0 -5
  657. data/spec/factories/comment.rb +0 -5
  658. data/spec/factories/test_models.rb +0 -5
  659. data/spec/factories/todo.rb +0 -5
  660. data/spec/factories/user.rb +0 -5
  661. data/spec/play_ground.rb +0 -64
  662. data/spec/reactive_record_factory.rb +0 -62
  663. data/spec/spec_helper.rb +0 -372
  664. data/spec/support/component_helpers.rb +0 -351
  665. data/spec/test_app/Gemfile +0 -66
  666. data/spec/test_app/Gemfile.lock +0 -303
  667. data/spec/test_app/Rakefile +0 -6
  668. data/spec/test_app/app/assets/javascripts/application.js +0 -6
  669. data/spec/test_app/app/assets/stylesheets/application.css +0 -15
  670. data/spec/test_app/app/controllers/application_controller.rb +0 -13
  671. data/spec/test_app/app/controllers/test_controller.rb +0 -5
  672. data/spec/test_app/app/models/_react_public_models.rb +0 -2
  673. data/spec/test_app/app/models/public/address.rb +0 -13
  674. data/spec/test_app/app/models/public/child_model.rb +0 -3
  675. data/spec/test_app/app/models/public/comment.rb +0 -25
  676. data/spec/test_app/app/models/public/test_model.rb +0 -5
  677. data/spec/test_app/app/models/public/todo.rb +0 -6
  678. data/spec/test_app/app/models/public/todo_item.rb +0 -36
  679. data/spec/test_app/app/models/public/user.rb +0 -88
  680. data/spec/test_app/app/policies/auto_loader_test_classa_policy.rb +0 -3
  681. data/spec/test_app/app/policies/auto_loader_test_classb_policy.rb +0 -3
  682. data/spec/test_app/app/policies/auto_loader_test_classc_policy.rb +0 -3
  683. data/spec/test_app/app/policies/auto_loader_test_classd_policy.rb +0 -3
  684. data/spec/test_app/app/views/components.rb +0 -13
  685. data/spec/test_app/app/views/components/show.rb +0 -5
  686. data/spec/test_app/app/views/layouts/application.html.erb +0 -14
  687. data/spec/test_app/bin/bundle +0 -3
  688. data/spec/test_app/bin/rails +0 -4
  689. data/spec/test_app/bin/rake +0 -4
  690. data/spec/test_app/bin/setup +0 -29
  691. data/spec/test_app/config.ru +0 -4
  692. data/spec/test_app/config/application.rb +0 -44
  693. data/spec/test_app/config/boot.rb +0 -6
  694. data/spec/test_app/config/cable.yml +0 -10
  695. data/spec/test_app/config/database.yml +0 -47
  696. data/spec/test_app/config/environment.rb +0 -5
  697. data/spec/test_app/config/environments/development.rb +0 -41
  698. data/spec/test_app/config/environments/production.rb +0 -79
  699. data/spec/test_app/config/environments/test.rb +0 -42
  700. data/spec/test_app/config/initializers/assets.rb +0 -11
  701. data/spec/test_app/config/initializers/backtrace_silencers.rb +0 -7
  702. data/spec/test_app/config/initializers/cookies_serializer.rb +0 -3
  703. data/spec/test_app/config/initializers/filter_parameter_logging.rb +0 -4
  704. data/spec/test_app/config/initializers/inflections.rb +0 -16
  705. data/spec/test_app/config/initializers/mime_types.rb +0 -4
  706. data/spec/test_app/config/initializers/session_store.rb +0 -3
  707. data/spec/test_app/config/initializers/synchromesh.rb +0 -11
  708. data/spec/test_app/config/initializers/wrap_parameters.rb +0 -14
  709. data/spec/test_app/config/locales/en.yml +0 -23
  710. data/spec/test_app/config/routes.rb +0 -61
  711. data/spec/test_app/config/secrets.yml +0 -22
  712. data/spec/test_app/db/development.sqlite3 +0 -0
  713. data/spec/test_app/db/migrate/20160731182106_create_test_models.rb +0 -75
  714. data/spec/test_app/db/schema.rb +0 -88
  715. data/spec/test_app/db/seeds.rb +0 -7
  716. data/spec/test_app/lib/assets/.keep +0 -0
  717. data/spec/test_app/public/404.html +0 -67
  718. data/spec/test_app/public/422.html +0 -67
  719. data/spec/test_app/public/500.html +0 -66
  720. data/spec/test_app/public/favicon.ico +0 -0
  721. data/spec/test_components.rb +0 -18
  722. data/spec/vendor/es5-shim.min.js +0 -6
@@ -1,167 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_components'
3
-
4
- describe "example scopes", js: true do
5
-
6
- before(:all) do
7
- require 'pusher'
8
- require 'pusher-fake'
9
- Pusher.app_id = "MY_TEST_ID"
10
- Pusher.key = "MY_TEST_KEY"
11
- Pusher.secret = "MY_TEST_SECRET"
12
- require "pusher-fake/support/base"
13
-
14
- Hyperloop.configuration do |config|
15
- config.transport = :pusher
16
- config.channel_prefix = "synchromesh"
17
- config.opts = {app_id: Pusher.app_id, key: Pusher.key, secret: Pusher.secret}.merge(PusherFake.configuration.web_options)
18
- end
19
- end
20
-
21
- before(:each) do
22
- # spec_helper resets the policy system after each test so we have to setup
23
- # before each test
24
- stub_const 'TestApplicationPolicy', Class.new
25
- TestApplicationPolicy.class_eval do
26
- always_allow_connection
27
- regulate_all_broadcasts { |policy| policy.send_all }
28
- allow_change(to: :all, on: [:create, :update, :destroy]) { true }
29
- end
30
- isomorphic do
31
- Todo.class_eval do
32
- scope :with_managers_comments,
33
- -> { joins(owner: :manager, comments: :author).where('managers_users.id = authors_comments.id').distinct },
34
- joins: ['comments.author', 'owner'],
35
- client: -> { comments.detect { |comment| comment.author == owner.manager } }
36
- end
37
- Comment.class_eval do
38
- scope :by_manager,
39
- -> { joins(todoz: { owner: :manager }).where('managers_users.id = author_id').distinct},
40
- joins: ['todoz.owner.manager', 'author'],
41
- client: -> { todoz.owner.manager == author }
42
- end
43
- end
44
- size_window(:small, :portrait)
45
- end
46
-
47
- it "runs the server side scopes okay" do
48
- expect(Todo.with_managers_comments).to be_empty
49
- expect(Comment.by_manager).to be_empty
50
- boss = FactoryGirl.create(:user, first_name: :boss)
51
- employee = FactoryGirl.create(:user, first_name: :fred, manager: boss)
52
- todo = FactoryGirl.create(:todo, owner: employee)
53
- comment = FactoryGirl.create(:comment, author: boss, todoz: todo)
54
- FactoryGirl.create(:comment, author: employee, todoz: todo)
55
- FactoryGirl.create(:comment, author: employee, todoz: FactoryGirl.create(:todo, owner: employee))
56
- expect(Todo.with_managers_comments).to match_array [todo]
57
- expect(Comment.by_manager).to match_array [comment]
58
- end
59
-
60
- it "a complex client side scope" do
61
-
62
- mount "TestComponent3" do
63
- class UserTodos < React::Component::Base
64
- render(DIV) do
65
- div { "todos by user with comments" }
66
- User.each do |user|
67
- DIV do
68
- DIV { "#{user.first_name}'s Todos'" }
69
- UL do
70
- user.assigned_todos.each do |todo|
71
- LI do
72
- todo.title.span
73
- UL do
74
- todo.comments.by_manager.each do |comment|
75
- LI { "MANAGER SAYS: #{comment.comment}" }
76
- end
77
- end unless todo.comments.by_manager.empty?
78
- end; end; end; end; end; end; end
79
- class ManagerComments < React::Component::Base
80
- render(DIV) do
81
- puts "managers have made comments: #{!!Todo.with_managers_comments.any?}"
82
- if Todo.with_managers_comments.any?
83
- DIV { "managers comments" }
84
- UL do
85
- Todo.with_managers_comments.each do |todo|
86
- DIV do
87
- "#{todo.owner.first_name} - #{todo.title}".span
88
- UL do
89
- todo.comments.each do |comment|
90
- LI { "BOSS SAYS: #{comment.comment}" } if comment.author == todo.owner.manager
91
- end; end; end; end; end
92
- else
93
- DIV { "no manager comments" }
94
- end; end; end
95
- class TestComponent3 < React::Component::Base
96
- def render
97
- puts "RENDERING TESTCOMPONENT3"
98
- div do
99
- UserTodos {}
100
- ManagerComments {}
101
- end; end; end; end
102
- # evaluate_ruby do
103
- # ReactiveRecord::Collection.hypertrace instrument: :all
104
- # UserTodos.hypertrace instrument: :all
105
- # end
106
- starting_fetch_time = evaluate_ruby("ReactiveRecord::Base.last_fetch_at")
107
- #pause "about to add the boss"
108
- boss = FactoryGirl.create(:user, first_name: :boss)
109
- #pause "about to add the employee"
110
- employee = FactoryGirl.create(:user, first_name: :joe, manager: boss)
111
- #pause "about to add the todo"
112
- todo = FactoryGirl.create(:todo, title: "joe's todo", owner: employee)
113
- wait_for_ajax
114
- evaluate_ruby("ReactiveRecord::Base.last_fetch_at").should eq(starting_fetch_time)
115
- #pause "adding a comment from the boss"
116
- comment = FactoryGirl.create(:comment, comment: "The Boss Speaks", author: boss, todoz: todo)
117
- page.should have_content('The Boss Speaks')
118
- #pause "added the boss speaks"
119
- fred = FactoryGirl.create(:user, role: :employee, first_name: :fred)
120
- #pause "fred added"
121
- fred.assigned_todos << FactoryGirl.create(:todo, title: 'fred todo')
122
- #pause "added another todo to fred" # HAPPENS AFTER HERE.....
123
- evaluate_ruby do
124
- # ReactiveRecord::Collection.hypertrace instrument: :all
125
- # UserTodos.hypertrace instrument: :all
126
-
127
- mitch = User.new(first_name: :mitch)
128
- mitch.assigned_todos << Todo.new(title: 'mitch todo')
129
- mitch.save
130
- end
131
- wait_for_ajax
132
- #pause "mitch added"
133
- user1 = FactoryGirl.create(:user, role: :employee, first_name: :frank)
134
- user2 = FactoryGirl.create(:user, role: :employee, first_name: :bob)
135
- mgr = FactoryGirl.create(:user, role: :manager, first_name: :sally)
136
- #pause "frank, bob, and sally added"
137
- user1.assigned_todos << FactoryGirl.create(:todo, title: 'frank todo 1')
138
- user1.assigned_todos << FactoryGirl.create(:todo, title: 'frank todo 2')
139
- user2.assigned_todos << FactoryGirl.create(:todo, title: 'bob todo 1')
140
- user2.assigned_todos << FactoryGirl.create(:todo, title: 'bob todo 2')
141
- user1.commentz << FactoryGirl.create(:comment, comment: "frank made this comment", todoz: user2.assigned_todos.first)
142
- user2.commentz << FactoryGirl.create(:comment, comment: "bob made this comment", todoz: user1.assigned_todos.first)
143
- # evaluate_ruby do
144
- # Hyperloop::IncomingBroadcast.hypertrace do
145
- # break_on_exit?(:merge_current_values) { Todo.find(5).comments.last.todo.nil? rescue nil }
146
- # end
147
- # ReactiveRecord::ScopeDescription.hypertrace do
148
- # break_on_enter?(:filter_records) { Todo.find(5).comments.last.todo.nil? rescue nil }
149
- # end
150
- # ReactiveRecord::Collection.hypertrace do
151
- # break_on_enter?(:all) { Todo.find(5).comments.last.todo.nil? rescue nil }
152
- # break_on_exit?(:all) { Todo.find(5).comments.last.todo.nil? rescue nil }
153
- # end
154
- # end
155
-
156
- mgr.commentz << FactoryGirl.create(:comment, comment: "Me BOSS", todoz: user1.assigned_todos.last)
157
- page.should have_content('MANAGER SAYS: The Boss Speaks')
158
- page.should have_content('BOSS SAYS: The Boss Speaks')
159
- wait_for_ajax
160
- page.should_not have_content('MANAGER SAYS: Me BOSS', wait: 0)
161
- page.should_not have_content('BOSS SAYS: Me BOSS', wait: 0)
162
- user1.update_attribute(:manager, mgr)
163
- page.should have_content('MANAGER SAYS: Me BOSS')
164
- page.should have_content('BOSS SAYS: Me BOSS')
165
- evaluate_ruby("ReactiveRecord::Base.last_fetch_at").should eq(starting_fetch_time)
166
- end
167
- end
@@ -1,80 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_components'
3
-
4
- describe "HyperMesh", js: true do
5
-
6
- before(:all) do
7
- require 'pusher'
8
- require 'pusher-fake'
9
- Pusher.app_id = "MY_TEST_ID"
10
- Pusher.key = "MY_TEST_KEY"
11
- Pusher.secret = "MY_TEST_SECRET"
12
- require "pusher-fake/support/base"
13
-
14
- Hyperloop.configuration do |config|
15
- config.transport = :pusher
16
- config.channel_prefix = "synchromesh"
17
- config.opts = {app_id: Pusher.app_id, key: Pusher.key, secret: Pusher.secret}.merge(PusherFake.configuration.web_options)
18
- end
19
- end
20
-
21
- before(:each) do
22
- # spec_helper resets the policy system after each test so we have to setup
23
- # before each test
24
- stub_const 'TestApplicationPolicy', Class.new
25
- TestApplicationPolicy.class_eval do
26
- always_allow_connection
27
- regulate_all_broadcasts { |policy| policy.send_all }
28
- end
29
- size_window(:small, :portrait)
30
- end
31
-
32
- it "will synchronize on an attribute update" do
33
- mount "TestComponent"
34
- FactoryGirl.create(:test_model, test_attribute: "hello")
35
- page.should have_content("hello")
36
- TestModel.first.update_attribute(:test_attribute, 'goodby')
37
- page.should have_content("goodby")
38
- end
39
-
40
- describe "the .all method" do
41
- before(:each) do
42
- mount "TestComponent"
43
- 5.times { |i| FactoryGirl.create(:test_model, test_attribute: "I am item #{i}") }
44
- page.should have_content("5 items")
45
- end
46
-
47
- it "will synchronize on create" do
48
- TestModel.new(test_attribute: "I'm new here!").save
49
- page.should have_content("6 items")
50
- end
51
-
52
- it "will synchronize on destroy" do
53
- TestModel.first.destroy
54
- page.should have_content("4 items")
55
- end
56
- end
57
-
58
- describe "scopes" do
59
- before(:each) do
60
- mount "TestComponent", scope: :active
61
- 5.times { |i| FactoryGirl.create(:test_model, test_attribute: "I am item #{i}", completed: false) }
62
- page.should have_content("5 items")
63
- end
64
-
65
- it "will synchronize on create" do
66
- TestModel.new(test_attribute: "I'm new here!", completed: false).save
67
- page.should have_content("6 items")
68
- end
69
-
70
- it "will synchronize on destroy" do
71
- TestModel.first.destroy
72
- page.should have_content("4 items")
73
- end
74
-
75
- it "will syncronize on an update" do
76
- TestModel.first.update_attribute(:completed, true)
77
- page.should have_content("4 items")
78
- end
79
- end
80
- end
@@ -1,49 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'component helpers', js: true do
4
-
5
- it "can mount" do
6
-
7
- mount "MyComponent" do
8
- class MyComponent < React::Component::Base
9
- class << self
10
- attr_accessor :foo
11
- end
12
- after_mount do
13
- self.class.foo = 12
14
- end
15
- render do
16
- "hello"
17
- end
18
- end
19
- end
20
- page.evaluate_ruby("MyComponent.foo").should eq(12)
21
- page.evaluate_ruby("TestModel").should eq("TestModel")
22
- end
23
-
24
- it "can instrument some methods" do
25
- mount "MyComponent" do
26
- class MyComponent < React::Component::Base
27
- def some_method
28
- "fact(5) = #{SomeClass.new.fact(5)}"
29
- end
30
- def render
31
- some_method
32
- end
33
- end
34
- class SomeClass
35
- def fact(n)
36
- n == 1 ? n : fact(n-1) * n
37
- end
38
- end
39
- SomeClass.hypertrace do
40
- instrument :all
41
- break_on_exit? :fact do |_r, n|
42
- puts "self = #{self}"; n == 1
43
- end
44
- end
45
- MyComponent.hypertrace instrument: :all, break_on_exit: [:some_method, :render]
46
- end
47
- pause
48
- end
49
- end
@@ -1,239 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_components'
3
-
4
- describe "dictionary examples", js: true do
5
-
6
-
7
- Hyperloop.configuration do |config|
8
- config.transport = :action_cable
9
- config.channel_prefix = "synchromesh"
10
- end
11
-
12
- before(:all) do
13
- class DictionaryEntry < ActiveRecord::Base
14
- def self.build_tables
15
- connection.create_table(:dictionary_entries, force: true) do |t|
16
- t.string :word
17
- t.string :pronunciation
18
- end
19
- end
20
- end
21
-
22
- class Definition < ActiveRecord::Base
23
- def self.build_tables
24
- connection.create_table(:definitions, force: true) do |t|
25
- t.integer :dictionary_entry_id
26
- t.text :definition
27
- t.integer :votes
28
- end
29
- end
30
- end
31
-
32
- end
33
-
34
- before(:each) do
35
-
36
-
37
- stub_const 'ApplicationPolicy', Class.new
38
- ApplicationPolicy.class_eval do
39
- always_allow_connection
40
- regulate_all_broadcasts { |policy| policy.send_all }
41
- allow_change(to: :all, on: [:create, :update, :destroy]) { true }
42
- end
43
-
44
- size_window(:small, :portrait)
45
-
46
- isomorphic do
47
- class DictionaryEntry < ActiveRecord::Base
48
- has_many :definitions
49
- scope :defined, ->() {joins(:definitions).where('definitions.dictionary_entry_id IS NOT NULL')}
50
- end
51
- class Definition < ActiveRecord::Base
52
- belongs_to :dictionary_entry
53
- scope :order_by_votes, ->() { order('votes DESC') }
54
- end
55
- end
56
-
57
- DictionaryEntry.build_tables
58
- Definition.build_tables
59
-
60
- foo = DictionaryEntry.create(word: 'foo', pronunciation: 'foo')
61
- Definition.create(
62
- definition: 'every programmers favorite symbol',
63
- votes: 3, dictionary_entry: foo
64
- )
65
-
66
- DictionaryEntry.create(word: 'meaningless')
67
-
68
- bar = DictionaryEntry.create(word: 'bar', pronunciation: 'bahr')
69
- Definition.create(
70
- definition: 'every programmers 2nd favorite symbol',
71
- votes: 2, dictionary_entry: bar
72
- )
73
- Definition.create(
74
- definition: 'every programmers favorite place',
75
- votes: 4, dictionary_entry: bar
76
- )
77
-
78
- ruby = DictionaryEntry.create(word: 'ruby', pronunciation: 'roo-bee')
79
- Definition.create(
80
- definition: 'every programmers favorite language',
81
- votes: 30, dictionary_entry: ruby
82
- )
83
- Definition.create(
84
- definition: 'a red gem stone',
85
- votes: 4, dictionary_entry: ruby
86
- )
87
-
88
- hyperloop = DictionaryEntry.create(word: 'hyperloop', pronunciation: 'hahy-per-loop')
89
- Definition.create(
90
- definition: 'every programmers favorite UI framework',
91
- votes: 25, dictionary_entry: hyperloop
92
- )
93
- Definition.create(
94
- definition: 'high speed rail for the 21st century',
95
- votes: 24, dictionary_entry: hyperloop
96
- )
97
-
98
- end
99
-
100
- it "displays a word" do
101
- mount "WordOfTheDay" do
102
-
103
- class WordOfTheDay < React::Component::Base
104
-
105
- # The current word displayed is stored in the
106
- # entry state variable. We use a state
107
- # variable so that the display will refresh
108
- # when the user chooses a new word
109
-
110
- define_state :entry
111
-
112
- def pick_entry!
113
- # pick a random word and assign the selected record to entry
114
- # the ! will notify react that the state is changing.
115
- state.entry! DictionaryEntry.all[rand(DictionaryEntry.count)]
116
- end
117
-
118
- # before we mount our component pick the first entry to display
119
-
120
- before_mount :pick_entry!
121
-
122
- render(DIV) do
123
- DIV { "Total definitions: #{DictionaryEntry.count}" }
124
- DIV do
125
- DIV { "word: #{state.entry.word}" }
126
- DIV { "pronunciation: #{state.entry.pronunciation}" }
127
- definitions
128
- AddDefinition(entry: state.entry)
129
- end
130
- BUTTON { 'pick another' }.on(:click) { pick_entry! }
131
- end
132
-
133
- def definitions
134
- # Display the ordered list of definitions
135
- # note the use of relationships as scopes
136
- # To keep things tidy we break out ShowDefinition
137
- # as a separate component.
138
- OL do
139
- state.entry.definitions.order_by_votes.each do |definition|
140
- LI { ShowDefinition definition: definition }
141
- end
142
- end
143
- end
144
- end
145
-
146
- class ShowDefinition < React::Component::Base
147
-
148
- # The ShowDefinition component has one param
149
- # of type as "Definition". Typing is not
150
- # necessary but will raise a warning if the
151
- # type is wrong, so its helpful in debug.
152
-
153
- param :definition, type: Definition
154
-
155
- # display the number of votes and let the user
156
- # up or down vote the definition
157
-
158
- render(DIV) do
159
- DIV do
160
- SPAN { "votes: #{params.definition.votes}" }
161
- BUTTON { '+' }.on(:click) { inc_vote(1) }
162
- BUTTON { '-' }.on(:click) { inc_vote(-1) }
163
- end
164
- DIV { params.definition.definition }
165
- end
166
-
167
- def inc_vote(amt)
168
- # update the votes attribute on the definition
169
- # record. If votes goes to zero destroy the
170
- # record, otherwise just save it.
171
- params.definition.votes += amt
172
- if params.definition.votes.zero?
173
- params.definition.destroy
174
- else
175
- params.definition.save
176
- end
177
- end
178
- end
179
-
180
- class AddDefinition < React::Component::Base
181
-
182
- # The AddDefinition component takes a
183
- # DictionaryEntry, and will allow the user
184
- # add a new definition.
185
-
186
- param :entry, type: DictionaryEntry
187
-
188
- # The definition state just holds the current
189
- # text that the user has typed.
190
-
191
- # More interesting is adding_definition which
192
- # controls whether we diplay a editable text area,
193
- # or the 'add new definition' button.
194
-
195
- define_state definition: ''
196
- define_state :adding_definition
197
-
198
- def text_area
199
- # display the text area and provide add& cancel buttons
200
- DIV do
201
- TEXTAREA(rows: 4, cols: 30, value: state.definition)
202
- .on(:change) { |e| state.definition! e.target.value }
203
-
204
- BUTTON { 'add' }
205
- .on(:click) { add_definition }
206
-
207
- BUTTON { 'cancel' }.on(:click) { state.adding_definition! false }
208
- end
209
- end
210
-
211
- def add_definition
212
- # Use ActiveRecord create to add a new
213
- # record. Using the promise returned by
214
- # create we will wait until the operation is
215
- # finished to update the UI.
216
- Definition.create(
217
- definition: state.definition,
218
- votes: 1, dictionary_entry: params.entry
219
- ).then do
220
- state.adding_definition! false
221
- state.definition! ''
222
- end
223
- end
224
-
225
- render do
226
- if state.adding_definition
227
- text_area
228
- else
229
- BUTTON { 'add new definition' }
230
- .on(:click) { state.adding_definition! true }
231
- end
232
- end
233
- end
234
- end
235
- #binding.pry
236
- pause
237
- end
238
-
239
- end