hyper-operation 0.5.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 (291) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +49 -0
  3. data/CODE_OF_CONDUCT.md +49 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +324 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +708 -0
  8. data/Rakefile +4 -0
  9. data/examples/chat-app/.gitignore +21 -0
  10. data/examples/chat-app/Gemfile +57 -0
  11. data/examples/chat-app/Gemfile.lock +282 -0
  12. data/examples/chat-app/README.md +3 -0
  13. data/examples/chat-app/Rakefile +6 -0
  14. data/examples/chat-app/app/assets/config/manifest.js +3 -0
  15. data/examples/chat-app/app/assets/images/.keep +0 -0
  16. data/examples/chat-app/app/assets/javascripts/application.js +3 -0
  17. data/examples/chat-app/app/assets/javascripts/cable.js +13 -0
  18. data/examples/chat-app/app/assets/javascripts/channels/.keep +0 -0
  19. data/examples/chat-app/app/assets/stylesheets/application.css +15 -0
  20. data/examples/chat-app/app/channels/application_cable/channel.rb +4 -0
  21. data/examples/chat-app/app/channels/application_cable/connection.rb +4 -0
  22. data/examples/chat-app/app/controllers/application_controller.rb +3 -0
  23. data/examples/chat-app/app/controllers/concerns/.keep +0 -0
  24. data/examples/chat-app/app/controllers/home_controller.rb +5 -0
  25. data/examples/chat-app/app/helpers/application_helper.rb +2 -0
  26. data/examples/chat-app/app/hyperloop/components/app.rb +11 -0
  27. data/examples/chat-app/app/hyperloop/components/formatted_div.rb +13 -0
  28. data/examples/chat-app/app/hyperloop/components/input_box.rb +29 -0
  29. data/examples/chat-app/app/hyperloop/components/message.rb +29 -0
  30. data/examples/chat-app/app/hyperloop/components/messages.rb +9 -0
  31. data/examples/chat-app/app/hyperloop/components/nav.rb +30 -0
  32. data/examples/chat-app/app/hyperloop/operations/operations.rb +56 -0
  33. data/examples/chat-app/app/hyperloop/stores/message_store.rb +23 -0
  34. data/examples/chat-app/app/models/application_record.rb +3 -0
  35. data/examples/chat-app/app/models/concerns/.keep +0 -0
  36. data/examples/chat-app/app/models/models.rb +2 -0
  37. data/examples/chat-app/app/models/public/.keep +0 -0
  38. data/examples/chat-app/app/models/public/announcement.rb +8 -0
  39. data/examples/chat-app/app/policies/application_policy.rb +5 -0
  40. data/examples/chat-app/app/views/layouts/application.html.erb +51 -0
  41. data/examples/chat-app/bin/bundle +3 -0
  42. data/examples/chat-app/bin/rails +9 -0
  43. data/examples/chat-app/bin/rake +9 -0
  44. data/examples/chat-app/bin/setup +34 -0
  45. data/examples/chat-app/bin/spring +17 -0
  46. data/examples/chat-app/bin/update +29 -0
  47. data/examples/chat-app/config.ru +5 -0
  48. data/examples/chat-app/config/application.rb +13 -0
  49. data/examples/chat-app/config/boot.rb +3 -0
  50. data/examples/chat-app/config/cable.yml +9 -0
  51. data/examples/chat-app/config/database.yml +25 -0
  52. data/examples/chat-app/config/environment.rb +5 -0
  53. data/examples/chat-app/config/environments/development.rb +56 -0
  54. data/examples/chat-app/config/environments/production.rb +86 -0
  55. data/examples/chat-app/config/environments/test.rb +42 -0
  56. data/examples/chat-app/config/initializers/application_controller_renderer.rb +6 -0
  57. data/examples/chat-app/config/initializers/assets.rb +11 -0
  58. data/examples/chat-app/config/initializers/backtrace_silencers.rb +7 -0
  59. data/examples/chat-app/config/initializers/cookies_serializer.rb +5 -0
  60. data/examples/chat-app/config/initializers/filter_parameter_logging.rb +4 -0
  61. data/examples/chat-app/config/initializers/hyperloop.rb +4 -0
  62. data/examples/chat-app/config/initializers/inflections.rb +16 -0
  63. data/examples/chat-app/config/initializers/mime_types.rb +4 -0
  64. data/examples/chat-app/config/initializers/new_framework_defaults.rb +24 -0
  65. data/examples/chat-app/config/initializers/session_store.rb +3 -0
  66. data/examples/chat-app/config/initializers/wrap_parameters.rb +14 -0
  67. data/examples/chat-app/config/locales/en.yml +23 -0
  68. data/examples/chat-app/config/puma.rb +47 -0
  69. data/examples/chat-app/config/routes.rb +5 -0
  70. data/examples/chat-app/config/secrets.yml +22 -0
  71. data/examples/chat-app/config/spring.rb +6 -0
  72. data/examples/chat-app/db/seeds.rb +7 -0
  73. data/examples/chat-app/lib/assets/.keep +0 -0
  74. data/examples/chat-app/lib/tasks/.keep +0 -0
  75. data/examples/chat-app/log/.keep +0 -0
  76. data/examples/chat-app/public/404.html +67 -0
  77. data/examples/chat-app/public/422.html +67 -0
  78. data/examples/chat-app/public/500.html +66 -0
  79. data/examples/chat-app/public/apple-touch-icon-precomposed.png +0 -0
  80. data/examples/chat-app/public/apple-touch-icon.png +0 -0
  81. data/examples/chat-app/public/favicon.ico +0 -0
  82. data/examples/chat-app/public/robots.txt +5 -0
  83. data/examples/chat-app/test/controllers/.keep +0 -0
  84. data/examples/chat-app/test/fixtures/.keep +0 -0
  85. data/examples/chat-app/test/fixtures/files/.keep +0 -0
  86. data/examples/chat-app/test/helpers/.keep +0 -0
  87. data/examples/chat-app/test/integration/.keep +0 -0
  88. data/examples/chat-app/test/mailers/.keep +0 -0
  89. data/examples/chat-app/test/models/.keep +0 -0
  90. data/examples/chat-app/test/test_helper.rb +10 -0
  91. data/examples/chat-app/tmp/.keep +0 -0
  92. data/examples/chat-app/vendor/assets/javascripts/.keep +0 -0
  93. data/examples/chat-app/vendor/assets/stylesheets/.keep +0 -0
  94. data/examples/five-letter-word-game/.gitignore +21 -0
  95. data/examples/five-letter-word-game/Gemfile +57 -0
  96. data/examples/five-letter-word-game/Gemfile.lock +282 -0
  97. data/examples/five-letter-word-game/README.md +24 -0
  98. data/examples/five-letter-word-game/Rakefile +6 -0
  99. data/examples/five-letter-word-game/app/assets/config/manifest.js +3 -0
  100. data/examples/five-letter-word-game/app/assets/images/.keep +0 -0
  101. data/examples/five-letter-word-game/app/assets/javascripts/application.js +3 -0
  102. data/examples/five-letter-word-game/app/assets/javascripts/cable.js +13 -0
  103. data/examples/five-letter-word-game/app/assets/javascripts/channels/.keep +0 -0
  104. data/examples/five-letter-word-game/app/assets/stylesheets/application.css +15 -0
  105. data/examples/five-letter-word-game/app/channels/application_cable/channel.rb +4 -0
  106. data/examples/five-letter-word-game/app/channels/application_cable/connection.rb +4 -0
  107. data/examples/five-letter-word-game/app/controllers/application_controller.rb +14 -0
  108. data/examples/five-letter-word-game/app/controllers/concerns/.keep +0 -0
  109. data/examples/five-letter-word-game/app/controllers/home_controller.rb +5 -0
  110. data/examples/five-letter-word-game/app/helpers/application_helper.rb +2 -0
  111. data/examples/five-letter-word-game/app/hyperloop/components/app.rb +65 -0
  112. data/examples/five-letter-word-game/app/hyperloop/components/guesses.rb +8 -0
  113. data/examples/five-letter-word-game/app/hyperloop/components/input_word.rb +13 -0
  114. data/examples/five-letter-word-game/app/hyperloop/models/user.rb +27 -0
  115. data/examples/five-letter-word-game/app/hyperloop/operations/ops.rb +115 -0
  116. data/examples/five-letter-word-game/app/hyperloop/stores/store.rb +120 -0
  117. data/examples/five-letter-word-game/app/jobs/application_job.rb +2 -0
  118. data/examples/five-letter-word-game/app/mailers/application_mailer.rb +4 -0
  119. data/examples/five-letter-word-game/app/models/application_record.rb +3 -0
  120. data/examples/five-letter-word-game/app/models/concerns/.keep +0 -0
  121. data/examples/five-letter-word-game/app/policies/user_policy.rb +4 -0
  122. data/examples/five-letter-word-game/app/views/layouts/application.html.erb +14 -0
  123. data/examples/five-letter-word-game/app/views/layouts/mailer.html.erb +13 -0
  124. data/examples/five-letter-word-game/app/views/layouts/mailer.text.erb +1 -0
  125. data/examples/five-letter-word-game/bin/bundle +3 -0
  126. data/examples/five-letter-word-game/bin/rails +9 -0
  127. data/examples/five-letter-word-game/bin/rake +9 -0
  128. data/examples/five-letter-word-game/bin/setup +34 -0
  129. data/examples/five-letter-word-game/bin/spring +17 -0
  130. data/examples/five-letter-word-game/bin/update +29 -0
  131. data/examples/five-letter-word-game/config.ru +5 -0
  132. data/examples/five-letter-word-game/config/application.rb +12 -0
  133. data/examples/five-letter-word-game/config/boot.rb +3 -0
  134. data/examples/five-letter-word-game/config/cable.yml +9 -0
  135. data/examples/five-letter-word-game/config/database.yml +25 -0
  136. data/examples/five-letter-word-game/config/environment.rb +5 -0
  137. data/examples/five-letter-word-game/config/environments/development.rb +56 -0
  138. data/examples/five-letter-word-game/config/environments/production.rb +86 -0
  139. data/examples/five-letter-word-game/config/environments/test.rb +42 -0
  140. data/examples/five-letter-word-game/config/initializers/application_controller_renderer.rb +6 -0
  141. data/examples/five-letter-word-game/config/initializers/assets.rb +11 -0
  142. data/examples/five-letter-word-game/config/initializers/backtrace_silencers.rb +7 -0
  143. data/examples/five-letter-word-game/config/initializers/cookies_serializer.rb +5 -0
  144. data/examples/five-letter-word-game/config/initializers/filter_parameter_logging.rb +4 -0
  145. data/examples/five-letter-word-game/config/initializers/hyperloop.rb +3 -0
  146. data/examples/five-letter-word-game/config/initializers/inflections.rb +16 -0
  147. data/examples/five-letter-word-game/config/initializers/mime_types.rb +4 -0
  148. data/examples/five-letter-word-game/config/initializers/new_framework_defaults.rb +24 -0
  149. data/examples/five-letter-word-game/config/initializers/session_store.rb +3 -0
  150. data/examples/five-letter-word-game/config/initializers/wrap_parameters.rb +14 -0
  151. data/examples/five-letter-word-game/config/locales/en.yml +23 -0
  152. data/examples/five-letter-word-game/config/puma.rb +47 -0
  153. data/examples/five-letter-word-game/config/routes.rb +5 -0
  154. data/examples/five-letter-word-game/config/secrets.yml +22 -0
  155. data/examples/five-letter-word-game/config/spring.rb +6 -0
  156. data/examples/five-letter-word-game/db/schema.rb +28 -0
  157. data/examples/five-letter-word-game/db/seeds.rb +7 -0
  158. data/examples/five-letter-word-game/lib/assets/.keep +0 -0
  159. data/examples/five-letter-word-game/lib/tasks/.keep +0 -0
  160. data/examples/five-letter-word-game/log/.keep +0 -0
  161. data/examples/five-letter-word-game/public/404.html +67 -0
  162. data/examples/five-letter-word-game/public/422.html +67 -0
  163. data/examples/five-letter-word-game/public/500.html +66 -0
  164. data/examples/five-letter-word-game/public/apple-touch-icon-precomposed.png +0 -0
  165. data/examples/five-letter-word-game/public/apple-touch-icon.png +0 -0
  166. data/examples/five-letter-word-game/public/favicon.ico +0 -0
  167. data/examples/five-letter-word-game/public/robots.txt +5 -0
  168. data/examples/five-letter-word-game/test/controllers/.keep +0 -0
  169. data/examples/five-letter-word-game/test/fixtures/.keep +0 -0
  170. data/examples/five-letter-word-game/test/fixtures/files/.keep +0 -0
  171. data/examples/five-letter-word-game/test/helpers/.keep +0 -0
  172. data/examples/five-letter-word-game/test/integration/.keep +0 -0
  173. data/examples/five-letter-word-game/test/mailers/.keep +0 -0
  174. data/examples/five-letter-word-game/test/models/.keep +0 -0
  175. data/examples/five-letter-word-game/test/test_helper.rb +10 -0
  176. data/examples/five-letter-word-game/tmp/.keep +0 -0
  177. data/examples/five-letter-word-game/vendor/assets/javascripts/.keep +0 -0
  178. data/examples/five-letter-word-game/vendor/assets/stylesheets/.keep +0 -0
  179. data/examples/smoke_test/.gitignore +21 -0
  180. data/examples/smoke_test/Gemfile +59 -0
  181. data/examples/smoke_test/Gemfile.lock +289 -0
  182. data/examples/smoke_test/README.md +24 -0
  183. data/examples/smoke_test/Rakefile +6 -0
  184. data/examples/smoke_test/app/assets/config/manifest.js +3 -0
  185. data/examples/smoke_test/app/assets/images/.keep +0 -0
  186. data/examples/smoke_test/app/assets/javascripts/application.js +15 -0
  187. data/examples/smoke_test/app/assets/javascripts/cable.js +13 -0
  188. data/examples/smoke_test/app/assets/javascripts/channels/.keep +0 -0
  189. data/examples/smoke_test/app/assets/stylesheets/application.css +15 -0
  190. data/examples/smoke_test/app/channels/application_cable/channel.rb +4 -0
  191. data/examples/smoke_test/app/channels/application_cable/connection.rb +4 -0
  192. data/examples/smoke_test/app/controllers/app_controller.rb +5 -0
  193. data/examples/smoke_test/app/controllers/application_controller.rb +3 -0
  194. data/examples/smoke_test/app/helpers/application_helper.rb +2 -0
  195. data/examples/smoke_test/app/hyperloop/components/hello.rb +25 -0
  196. data/examples/smoke_test/app/hyperloop/operations/operations/nested_send_to_all.rb +7 -0
  197. data/examples/smoke_test/app/hyperloop/operations/send_to_all.rb +6 -0
  198. data/examples/smoke_test/app/hyperloop/stores/messages.rb +4 -0
  199. data/examples/smoke_test/app/jobs/application_job.rb +2 -0
  200. data/examples/smoke_test/app/mailers/application_mailer.rb +4 -0
  201. data/examples/smoke_test/app/models/application_record.rb +3 -0
  202. data/examples/smoke_test/app/models/concerns/.keep +0 -0
  203. data/examples/smoke_test/app/policies/application_policy.rb +8 -0
  204. data/examples/smoke_test/app/views/layouts/application.html.erb +14 -0
  205. data/examples/smoke_test/app/views/layouts/mailer.html.erb +13 -0
  206. data/examples/smoke_test/app/views/layouts/mailer.text.erb +1 -0
  207. data/examples/smoke_test/bin/bundle +3 -0
  208. data/examples/smoke_test/bin/rails +9 -0
  209. data/examples/smoke_test/bin/rake +9 -0
  210. data/examples/smoke_test/bin/setup +34 -0
  211. data/examples/smoke_test/bin/spring +17 -0
  212. data/examples/smoke_test/bin/update +29 -0
  213. data/examples/smoke_test/config.ru +5 -0
  214. data/examples/smoke_test/config/application.rb +15 -0
  215. data/examples/smoke_test/config/boot.rb +3 -0
  216. data/examples/smoke_test/config/cable.yml +9 -0
  217. data/examples/smoke_test/config/database.yml +25 -0
  218. data/examples/smoke_test/config/environment.rb +5 -0
  219. data/examples/smoke_test/config/environments/development.rb +54 -0
  220. data/examples/smoke_test/config/environments/production.rb +86 -0
  221. data/examples/smoke_test/config/environments/test.rb +42 -0
  222. data/examples/smoke_test/config/initializers/application_controller_renderer.rb +6 -0
  223. data/examples/smoke_test/config/initializers/assets.rb +11 -0
  224. data/examples/smoke_test/config/initializers/backtrace_silencers.rb +7 -0
  225. data/examples/smoke_test/config/initializers/cookies_serializer.rb +5 -0
  226. data/examples/smoke_test/config/initializers/filter_parameter_logging.rb +4 -0
  227. data/examples/smoke_test/config/initializers/hyperloop.rb +32 -0
  228. data/examples/smoke_test/config/initializers/inflections.rb +16 -0
  229. data/examples/smoke_test/config/initializers/mime_types.rb +4 -0
  230. data/examples/smoke_test/config/initializers/new_framework_defaults.rb +24 -0
  231. data/examples/smoke_test/config/initializers/session_store.rb +3 -0
  232. data/examples/smoke_test/config/initializers/wrap_parameters.rb +14 -0
  233. data/examples/smoke_test/config/locales/en.yml +23 -0
  234. data/examples/smoke_test/config/puma.rb +47 -0
  235. data/examples/smoke_test/config/routes.rb +5 -0
  236. data/examples/smoke_test/config/secrets.yml +22 -0
  237. data/examples/smoke_test/config/spring.rb +6 -0
  238. data/examples/smoke_test/db/seeds.rb +7 -0
  239. data/examples/smoke_test/lib/assets/.keep +0 -0
  240. data/examples/smoke_test/lib/tasks/.keep +0 -0
  241. data/examples/smoke_test/log/.keep +0 -0
  242. data/examples/smoke_test/public/404.html +67 -0
  243. data/examples/smoke_test/public/422.html +67 -0
  244. data/examples/smoke_test/public/500.html +66 -0
  245. data/examples/smoke_test/public/apple-touch-icon-precomposed.png +0 -0
  246. data/examples/smoke_test/public/apple-touch-icon.png +0 -0
  247. data/examples/smoke_test/public/favicon.ico +0 -0
  248. data/examples/smoke_test/public/robots.txt +5 -0
  249. data/examples/smoke_test/test/controllers/.keep +0 -0
  250. data/examples/smoke_test/test/fixtures/.keep +0 -0
  251. data/examples/smoke_test/test/fixtures/files/.keep +0 -0
  252. data/examples/smoke_test/test/helpers/.keep +0 -0
  253. data/examples/smoke_test/test/integration/.keep +0 -0
  254. data/examples/smoke_test/test/mailers/.keep +0 -0
  255. data/examples/smoke_test/test/models/.keep +0 -0
  256. data/examples/smoke_test/test/test_helper.rb +10 -0
  257. data/examples/smoke_test/tmp/.keep +0 -0
  258. data/examples/smoke_test/vendor/assets/javascripts/.keep +0 -0
  259. data/examples/smoke_test/vendor/assets/stylesheets/.keep +0 -0
  260. data/hyper-operation.gemspec +44 -0
  261. data/lib/hyper-operation.rb +59 -0
  262. data/lib/hyper-operation/api.rb +154 -0
  263. data/lib/hyper-operation/boot.rb +24 -0
  264. data/lib/hyper-operation/call_by_class_name.rb +60 -0
  265. data/lib/hyper-operation/delay_and_interval.rb +9 -0
  266. data/lib/hyper-operation/engine.rb +11 -0
  267. data/lib/hyper-operation/exception.rb +13 -0
  268. data/lib/hyper-operation/filters/acting_user.rb +19 -0
  269. data/lib/hyper-operation/filters/outbound_filter.rb +9 -0
  270. data/lib/hyper-operation/filters/simple_hash.rb +22 -0
  271. data/lib/hyper-operation/opal_patches.rb +39 -0
  272. data/lib/hyper-operation/promise.rb +347 -0
  273. data/lib/hyper-operation/railway.rb +5 -0
  274. data/lib/hyper-operation/railway/dispatcher.rb +31 -0
  275. data/lib/hyper-operation/railway/operation_wrapper.rb +106 -0
  276. data/lib/hyper-operation/railway/params_wrapper.rb +124 -0
  277. data/lib/hyper-operation/railway/run.rb +140 -0
  278. data/lib/hyper-operation/railway/validations.rb +63 -0
  279. data/lib/hyper-operation/server_op.rb +98 -0
  280. data/lib/hyper-operation/transport/acting_user.rb +6 -0
  281. data/lib/hyper-operation/transport/action_cable.rb +39 -0
  282. data/lib/hyper-operation/transport/active_record.rb +15 -0
  283. data/lib/hyper-operation/transport/client_drivers.rb +210 -0
  284. data/lib/hyper-operation/transport/connection.rb +170 -0
  285. data/lib/hyper-operation/transport/hyperloop.rb +165 -0
  286. data/lib/hyper-operation/transport/hyperloop_controller.rb +184 -0
  287. data/lib/hyper-operation/transport/pluck.rb +6 -0
  288. data/lib/hyper-operation/transport/policy.rb +535 -0
  289. data/lib/hyper-operation/version.rb +5 -0
  290. data/lib/sources/hyperloop/pusher.js +98 -0
  291. metadata +628 -0
data/Rakefile ADDED
@@ -0,0 +1,4 @@
1
+ require "bundler/gem_tasks"
2
+ task :default do
3
+ sh "DRIVER=ff bundle exec rspec"
4
+ end
@@ -0,0 +1,21 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*
16
+ /tmp/*
17
+ !/log/.keep
18
+ !/tmp/.keep
19
+
20
+ # Ignore Byebug command history file.
21
+ .byebug_history
@@ -0,0 +1,57 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) do |repo_name|
4
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
+ "https://github.com/#{repo_name}.git"
6
+ end
7
+
8
+
9
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
10
+ gem 'rails', '~> 5.0.1'
11
+ # Use sqlite3 as the database for Active Record
12
+ gem 'sqlite3'
13
+ # Use Puma as the app server
14
+ gem 'puma', '~> 3.0'
15
+ # Use SCSS for stylesheets
16
+ gem 'sass-rails', '~> 5.0'
17
+ # Use Uglifier as compressor for JavaScript assets
18
+ gem 'uglifier', '>= 1.3.0'
19
+ # Use CoffeeScript for .coffee assets and views
20
+ gem 'coffee-rails', '~> 4.2'
21
+ # See https://github.com/rails/execjs#readme for more supported runtimes
22
+ # gem 'therubyracer', platforms: :ruby
23
+
24
+ # Use jquery as the JavaScript library
25
+ gem 'jquery-rails'
26
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
27
+ gem 'turbolinks', '~> 5'
28
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
29
+ gem 'jbuilder', '~> 2.5'
30
+ # Use Redis adapter to run Action Cable in production
31
+ # gem 'redis', '~> 3.0'
32
+ # Use ActiveModel has_secure_password
33
+ # gem 'bcrypt', '~> 3.1.7'
34
+
35
+ # Use Capistrano for deployment
36
+ # gem 'capistrano-rails', group: :development
37
+
38
+ group :development, :test do
39
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
40
+ gem 'byebug', platform: :mri
41
+ end
42
+
43
+ group :development do
44
+ # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
45
+ gem 'web-console', '>= 3.3.0'
46
+ gem 'listen', '~> 3.0.5'
47
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
48
+ gem 'spring'
49
+ gem 'spring-watcher-listen', '~> 2.0.0'
50
+ end
51
+
52
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
53
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
54
+
55
+ gem 'hyper-operation', path: '../..'
56
+ gem 'opal-browser'
57
+ gem 'therubyracer', platforms: :ruby
@@ -0,0 +1,282 @@
1
+ PATH
2
+ remote: ../..
3
+ specs:
4
+ hyper-operation (0.1.0)
5
+ activerecord (>= 0.3.0)
6
+ hyper-component (>= 0.12.2)
7
+ hyperloop-config (>= 0.9.2)
8
+ mutations
9
+ opal-activesupport
10
+ pusher
11
+ pusher-fake
12
+
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ actioncable (5.0.1)
17
+ actionpack (= 5.0.1)
18
+ nio4r (~> 1.2)
19
+ websocket-driver (~> 0.6.1)
20
+ actionmailer (5.0.1)
21
+ actionpack (= 5.0.1)
22
+ actionview (= 5.0.1)
23
+ activejob (= 5.0.1)
24
+ mail (~> 2.5, >= 2.5.4)
25
+ rails-dom-testing (~> 2.0)
26
+ actionpack (5.0.1)
27
+ actionview (= 5.0.1)
28
+ activesupport (= 5.0.1)
29
+ rack (~> 2.0)
30
+ rack-test (~> 0.6.3)
31
+ rails-dom-testing (~> 2.0)
32
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
33
+ actionview (5.0.1)
34
+ activesupport (= 5.0.1)
35
+ builder (~> 3.1)
36
+ erubis (~> 2.7.0)
37
+ rails-dom-testing (~> 2.0)
38
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
39
+ activejob (5.0.1)
40
+ activesupport (= 5.0.1)
41
+ globalid (>= 0.3.6)
42
+ activemodel (5.0.1)
43
+ activesupport (= 5.0.1)
44
+ activerecord (5.0.1)
45
+ activemodel (= 5.0.1)
46
+ activesupport (= 5.0.1)
47
+ arel (~> 7.0)
48
+ activesupport (5.0.1)
49
+ concurrent-ruby (~> 1.0, >= 1.0.2)
50
+ i18n (~> 0.7)
51
+ minitest (~> 5.1)
52
+ tzinfo (~> 1.1)
53
+ addressable (2.5.0)
54
+ public_suffix (~> 2.0, >= 2.0.2)
55
+ arel (7.1.4)
56
+ babel-source (5.8.35)
57
+ babel-transpiler (0.7.0)
58
+ babel-source (>= 4.0, < 6)
59
+ execjs (~> 2.0)
60
+ builder (3.2.3)
61
+ byebug (9.0.6)
62
+ coffee-rails (4.2.1)
63
+ coffee-script (>= 2.2.0)
64
+ railties (>= 4.0.0, < 5.2.x)
65
+ coffee-script (2.4.1)
66
+ coffee-script-source
67
+ execjs
68
+ coffee-script-source (1.12.2)
69
+ concurrent-ruby (1.0.4)
70
+ connection_pool (2.2.1)
71
+ cookiejar (0.3.3)
72
+ daemons (1.2.4)
73
+ debug_inspector (0.0.2)
74
+ em-http-request (1.1.5)
75
+ addressable (>= 2.3.4)
76
+ cookiejar (!= 0.3.1)
77
+ em-socksify (>= 0.3)
78
+ eventmachine (>= 1.0.3)
79
+ http_parser.rb (>= 0.6.0)
80
+ em-socksify (0.3.1)
81
+ eventmachine (>= 1.0.0.beta.4)
82
+ em-websocket (0.5.1)
83
+ eventmachine (>= 0.12.9)
84
+ http_parser.rb (~> 0.6.0)
85
+ erubis (2.7.0)
86
+ eventmachine (1.2.3)
87
+ execjs (2.7.0)
88
+ ffi (1.9.17)
89
+ globalid (0.3.7)
90
+ activesupport (>= 4.1.0)
91
+ hike (1.2.3)
92
+ http_parser.rb (0.6.0)
93
+ httpclient (2.8.3)
94
+ hyper-component (0.12.2)
95
+ hyper-react (>= 0.12.0)
96
+ hyperloop-config (>= 0.9.2)
97
+ opal-rails (~> 0.9.0)
98
+ react-rails (< 1.10.0)
99
+ hyper-react (0.12.2)
100
+ hyper-store (>= 0.2.1)
101
+ hyperloop-config (>= 0.9.2)
102
+ opal (>= 0.8.0)
103
+ opal-activesupport (>= 0.2.0)
104
+ hyper-store (0.2.1)
105
+ hyperloop-config (>= 0.9.2)
106
+ hyperloop-config (0.9.2)
107
+ opal
108
+ i18n (0.8.1)
109
+ jbuilder (2.6.3)
110
+ activesupport (>= 3.0.0, < 5.2)
111
+ multi_json (~> 1.2)
112
+ jquery-rails (4.2.2)
113
+ rails-dom-testing (>= 1, < 3)
114
+ railties (>= 4.2.0)
115
+ thor (>= 0.14, < 2.0)
116
+ libv8 (3.16.14.17)
117
+ listen (3.0.8)
118
+ rb-fsevent (~> 0.9, >= 0.9.4)
119
+ rb-inotify (~> 0.9, >= 0.9.7)
120
+ loofah (2.0.3)
121
+ nokogiri (>= 1.5.9)
122
+ mail (2.6.4)
123
+ mime-types (>= 1.16, < 4)
124
+ method_source (0.8.2)
125
+ mime-types (3.1)
126
+ mime-types-data (~> 3.2015)
127
+ mime-types-data (3.2016.0521)
128
+ mini_portile2 (2.1.0)
129
+ minitest (5.10.1)
130
+ multi_json (1.12.1)
131
+ mutations (0.8.1)
132
+ activesupport
133
+ nio4r (1.2.1)
134
+ nokogiri (1.7.0.1)
135
+ mini_portile2 (~> 2.1.0)
136
+ opal (0.10.3)
137
+ hike (~> 1.2)
138
+ sourcemap (~> 0.1.0)
139
+ sprockets (~> 3.1)
140
+ tilt (>= 1.4)
141
+ opal-activesupport (0.3.0)
142
+ opal (>= 0.5.0, < 1.0.0)
143
+ opal-browser (0.2.0)
144
+ opal
145
+ paggio
146
+ opal-jquery (0.4.2)
147
+ opal (>= 0.7.0, < 0.11.0)
148
+ opal-rails (0.9.1)
149
+ jquery-rails
150
+ opal (>= 0.8.0, < 0.11)
151
+ opal-activesupport (>= 0.0.5)
152
+ opal-jquery (~> 0.4.0)
153
+ opal-sprockets (~> 0.4.0)
154
+ rails (>= 4.0, < 6.0)
155
+ sprockets-rails (< 3.0)
156
+ opal-sprockets (0.4.0.0.10.0.3.0.0)
157
+ opal (~> 0.10.0)
158
+ sprockets (~> 3.0)
159
+ tilt (>= 1.4)
160
+ paggio (0.2.6)
161
+ public_suffix (2.0.5)
162
+ puma (3.7.1)
163
+ pusher (1.3.1)
164
+ httpclient (~> 2.7)
165
+ multi_json (~> 1.0)
166
+ pusher-signature (~> 0.1.8)
167
+ pusher-fake (1.8.0)
168
+ em-http-request (~> 1.1)
169
+ em-websocket (~> 0.5)
170
+ multi_json (~> 1.6)
171
+ thin (~> 1.5)
172
+ pusher-signature (0.1.8)
173
+ rack (2.0.1)
174
+ rack-test (0.6.3)
175
+ rack (>= 1.0)
176
+ rails (5.0.1)
177
+ actioncable (= 5.0.1)
178
+ actionmailer (= 5.0.1)
179
+ actionpack (= 5.0.1)
180
+ actionview (= 5.0.1)
181
+ activejob (= 5.0.1)
182
+ activemodel (= 5.0.1)
183
+ activerecord (= 5.0.1)
184
+ activesupport (= 5.0.1)
185
+ bundler (>= 1.3.0, < 2.0)
186
+ railties (= 5.0.1)
187
+ sprockets-rails (>= 2.0.0)
188
+ rails-dom-testing (2.0.2)
189
+ activesupport (>= 4.2.0, < 6.0)
190
+ nokogiri (~> 1.6)
191
+ rails-html-sanitizer (1.0.3)
192
+ loofah (~> 2.0)
193
+ railties (5.0.1)
194
+ actionpack (= 5.0.1)
195
+ activesupport (= 5.0.1)
196
+ method_source
197
+ rake (>= 0.8.7)
198
+ thor (>= 0.18.1, < 2.0)
199
+ rake (12.0.0)
200
+ rb-fsevent (0.9.8)
201
+ rb-inotify (0.9.8)
202
+ ffi (>= 0.5.0)
203
+ react-rails (1.9.0)
204
+ babel-transpiler (>= 0.7.0)
205
+ coffee-script-source (~> 1.8)
206
+ connection_pool
207
+ execjs
208
+ railties (>= 3.2)
209
+ tilt
210
+ ref (2.0.0)
211
+ sass (3.4.23)
212
+ sass-rails (5.0.6)
213
+ railties (>= 4.0.0, < 6)
214
+ sass (~> 3.1)
215
+ sprockets (>= 2.8, < 4.0)
216
+ sprockets-rails (>= 2.0, < 4.0)
217
+ tilt (>= 1.1, < 3)
218
+ sourcemap (0.1.1)
219
+ spring (2.0.1)
220
+ activesupport (>= 4.2)
221
+ spring-watcher-listen (2.0.1)
222
+ listen (>= 2.7, < 4.0)
223
+ spring (>= 1.2, < 3.0)
224
+ sprockets (3.7.1)
225
+ concurrent-ruby (~> 1.0)
226
+ rack (> 1, < 3)
227
+ sprockets-rails (2.3.3)
228
+ actionpack (>= 3.0)
229
+ activesupport (>= 3.0)
230
+ sprockets (>= 2.8, < 4.0)
231
+ sqlite3 (1.3.13)
232
+ therubyracer (0.12.3)
233
+ libv8 (~> 3.16.14.15)
234
+ ref
235
+ thin (1.7.0)
236
+ daemons (~> 1.0, >= 1.0.9)
237
+ eventmachine (~> 1.0, >= 1.0.4)
238
+ rack (>= 1, < 3)
239
+ thor (0.19.4)
240
+ thread_safe (0.3.6)
241
+ tilt (2.0.6)
242
+ turbolinks (5.0.1)
243
+ turbolinks-source (~> 5)
244
+ turbolinks-source (5.0.0)
245
+ tzinfo (1.2.2)
246
+ thread_safe (~> 0.1)
247
+ uglifier (3.0.4)
248
+ execjs (>= 0.3.0, < 3)
249
+ web-console (3.4.0)
250
+ actionview (>= 5.0)
251
+ activemodel (>= 5.0)
252
+ debug_inspector
253
+ railties (>= 5.0)
254
+ websocket-driver (0.6.5)
255
+ websocket-extensions (>= 0.1.0)
256
+ websocket-extensions (0.1.2)
257
+
258
+ PLATFORMS
259
+ ruby
260
+
261
+ DEPENDENCIES
262
+ byebug
263
+ coffee-rails (~> 4.2)
264
+ hyper-operation!
265
+ jbuilder (~> 2.5)
266
+ jquery-rails
267
+ listen (~> 3.0.5)
268
+ opal-browser
269
+ puma (~> 3.0)
270
+ rails (~> 5.0.1)
271
+ sass-rails (~> 5.0)
272
+ spring
273
+ spring-watcher-listen (~> 2.0.0)
274
+ sqlite3
275
+ therubyracer
276
+ turbolinks (~> 5)
277
+ tzinfo-data
278
+ uglifier (>= 1.3.0)
279
+ web-console (>= 3.3.0)
280
+
281
+ BUNDLED WITH
282
+ 1.12.5
@@ -0,0 +1,3 @@
1
+ # README
2
+
3
+ cd to this directory, bundle install and then visit the home page
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../javascripts .js
3
+ //= link_directory ../stylesheets .css
File without changes
@@ -0,0 +1,3 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require hyperloop-loader
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the rails generate channel command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery with: :exception
3
+ end