hyper-mesh 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -0
- data/README.md +10 -11
- data/docs/activerecord_api.md +55 -39
- data/docs/authorization-policies.md +62 -19
- data/docs/client_side_scoping.md +1 -1
- data/docs/word_game.md +26 -0
- data/examples/action-cable-production-mode/.gitignore +21 -0
- data/examples/action-cable-production-mode/Gemfile +57 -0
- data/examples/action-cable-production-mode/Gemfile.lock +231 -0
- data/examples/action-cable-production-mode/README.md +24 -0
- data/examples/action-cable-production-mode/Rakefile +6 -0
- data/examples/action-cable-production-mode/app/assets/config/manifest.js +3 -0
- data/examples/action-cable-production-mode/app/assets/images/.keep +0 -0
- data/examples/action-cable-production-mode/app/assets/javascripts/application.js +20 -0
- data/examples/action-cable-production-mode/app/assets/javascripts/cable.js +13 -0
- data/examples/action-cable-production-mode/app/assets/javascripts/channels/.keep +0 -0
- data/examples/action-cable-production-mode/app/assets/stylesheets/application.css +15 -0
- data/examples/action-cable-production-mode/app/channels/application_cable/channel.rb +4 -0
- data/examples/action-cable-production-mode/app/channels/application_cable/connection.rb +4 -0
- data/examples/action-cable-production-mode/app/controllers/application_controller.rb +3 -0
- data/examples/action-cable-production-mode/app/controllers/test_controller.rb +5 -0
- data/examples/action-cable-production-mode/app/models/models.rb +2 -0
- data/examples/action-cable-production-mode/app/models/public/application_record.rb +3 -0
- data/examples/action-cable-production-mode/app/models/public/word.rb +2 -0
- data/examples/action-cable-production-mode/app/policies/application_policy.rb +14 -0
- data/examples/action-cable-production-mode/app/views/components.rb +16 -0
- data/examples/action-cable-production-mode/app/views/components/app.rb +18 -0
- data/examples/action-cable-production-mode/app/views/layouts/application.html.erb +14 -0
- data/examples/action-cable-production-mode/bin/bundle +3 -0
- data/examples/action-cable-production-mode/bin/rails +9 -0
- data/examples/action-cable-production-mode/bin/rake +9 -0
- data/examples/action-cable-production-mode/bin/setup +34 -0
- data/examples/action-cable-production-mode/bin/spring +16 -0
- data/examples/action-cable-production-mode/bin/update +29 -0
- data/examples/action-cable-production-mode/config.ru +5 -0
- data/examples/action-cable-production-mode/config/application.rb +18 -0
- data/examples/action-cable-production-mode/config/boot.rb +3 -0
- data/examples/action-cable-production-mode/config/cable.yml +9 -0
- data/examples/action-cable-production-mode/config/database.yml +25 -0
- data/examples/action-cable-production-mode/config/environment.rb +5 -0
- data/examples/action-cable-production-mode/config/environments/development.rb +56 -0
- data/examples/action-cable-production-mode/config/environments/production.rb +89 -0
- data/examples/action-cable-production-mode/config/environments/test.rb +42 -0
- data/examples/action-cable-production-mode/config/initializers/application_controller_renderer.rb +6 -0
- data/examples/action-cable-production-mode/config/initializers/assets.rb +11 -0
- data/examples/action-cable-production-mode/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/action-cable-production-mode/config/initializers/cookies_serializer.rb +5 -0
- data/examples/action-cable-production-mode/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/action-cable-production-mode/config/initializers/hyper_mesh.rb +4 -0
- data/examples/action-cable-production-mode/config/initializers/inflections.rb +16 -0
- data/examples/action-cable-production-mode/config/initializers/mime_types.rb +4 -0
- data/examples/action-cable-production-mode/config/initializers/new_framework_defaults.rb +24 -0
- data/examples/action-cable-production-mode/config/initializers/session_store.rb +3 -0
- data/examples/action-cable-production-mode/config/initializers/wrap_parameters.rb +14 -0
- data/examples/action-cable-production-mode/config/locales/en.yml +23 -0
- data/examples/action-cable-production-mode/config/puma.rb +47 -0
- data/examples/action-cable-production-mode/config/routes.rb +5 -0
- data/examples/action-cable-production-mode/config/secrets.yml +22 -0
- data/examples/action-cable-production-mode/config/spring.rb +6 -0
- data/examples/action-cable-production-mode/db/migrate/20161114213840_create_words.rb +9 -0
- data/examples/action-cable-production-mode/db/schema.rb +34 -0
- data/examples/action-cable-production-mode/db/seeds.rb +7 -0
- data/examples/action-cable-production-mode/lib/assets/.keep +0 -0
- data/examples/action-cable-production-mode/lib/tasks/.keep +0 -0
- data/examples/action-cable-production-mode/log/.keep +0 -0
- data/examples/action-cable-production-mode/public/404.html +67 -0
- data/examples/action-cable-production-mode/public/422.html +67 -0
- data/examples/action-cable-production-mode/public/500.html +66 -0
- data/examples/action-cable-production-mode/public/apple-touch-icon-precomposed.png +0 -0
- data/examples/action-cable-production-mode/public/apple-touch-icon.png +0 -0
- data/examples/action-cable-production-mode/public/assets/.sprockets-manifest-3e9abd3ee8ba47c39a55b61ae37ed9e1.json +1 -0
- data/examples/action-cable-production-mode/public/assets/application-90043e04e9e784054fd08159fa7aafe5e23d3ffb31584b1bea1e47043c9cfb5a.js +50 -0
- data/examples/action-cable-production-mode/public/assets/application-90043e04e9e784054fd08159fa7aafe5e23d3ffb31584b1bea1e47043c9cfb5a.js.gz +0 -0
- data/examples/action-cable-production-mode/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css +0 -0
- data/examples/action-cable-production-mode/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css.gz +0 -0
- data/examples/action-cable-production-mode/public/favicon.ico +0 -0
- data/examples/action-cable-production-mode/public/robots.txt +5 -0
- data/examples/action-cable-production-mode/test/controllers/.keep +0 -0
- data/examples/action-cable-production-mode/test/fixtures/.keep +0 -0
- data/examples/action-cable-production-mode/test/fixtures/files/.keep +0 -0
- data/examples/action-cable-production-mode/test/fixtures/words.yml +7 -0
- data/examples/action-cable-production-mode/test/helpers/.keep +0 -0
- data/examples/action-cable-production-mode/test/integration/.keep +0 -0
- data/examples/action-cable-production-mode/test/mailers/.keep +0 -0
- data/examples/action-cable-production-mode/test/models/.keep +0 -0
- data/examples/action-cable-production-mode/test/models/word_test.rb +7 -0
- data/examples/action-cable-production-mode/test/test_helper.rb +10 -0
- data/examples/action-cable-production-mode/tmp/.keep +0 -0
- data/examples/action-cable-production-mode/vendor/assets/javascripts/.keep +0 -0
- data/examples/action-cable-production-mode/vendor/assets/stylesheets/.keep +0 -0
- data/examples/action-cable/app/views/layouts/application.html.erb +1 -1
- data/examples/pusher-fake/app/views/layouts/application.html.erb +1 -1
- data/examples/pusher/app/views/layouts/application.html.erb +1 -1
- data/examples/simple-poller/app/views/layouts/application.html.erb +1 -1
- data/examples/word-game/.gitignore +21 -0
- data/examples/word-game/Gemfile +57 -0
- data/examples/word-game/Gemfile.lock +241 -0
- data/examples/word-game/README.md +24 -0
- data/examples/word-game/Rakefile +6 -0
- data/examples/word-game/app/assets/config/manifest.js +3 -0
- data/examples/word-game/app/assets/images/.keep +0 -0
- data/examples/word-game/app/assets/javascripts/application.js +20 -0
- data/examples/word-game/app/assets/javascripts/cable.js +13 -0
- data/examples/word-game/app/assets/javascripts/channels/.keep +0 -0
- data/examples/word-game/app/assets/stylesheets/application.css +15 -0
- data/examples/word-game/app/channels/application_cable/channel.rb +4 -0
- data/examples/word-game/app/channels/application_cable/connection.rb +4 -0
- data/examples/word-game/app/controllers/application_controller.rb +3 -0
- data/examples/word-game/app/controllers/concerns/.keep +0 -0
- data/examples/word-game/app/helpers/application_helper.rb +2 -0
- data/examples/word-game/app/jobs/application_job.rb +2 -0
- data/examples/word-game/app/mailers/application_mailer.rb +4 -0
- data/examples/word-game/app/models/application_record.rb +3 -0
- data/examples/word-game/app/models/concerns/.keep +0 -0
- data/examples/word-game/app/models/models.rb +2 -0
- data/examples/word-game/app/models/public/.keep +0 -0
- data/examples/word-game/app/policies/application_policy.rb +14 -0
- data/examples/word-game/app/views/components.rb +16 -0
- data/examples/word-game/app/views/components/.keep +0 -0
- data/examples/word-game/app/views/layouts/application.html.erb +14 -0
- data/examples/{action-cable → word-game}/app/views/layouts/mailer.html.erb +0 -0
- data/examples/{action-cable → word-game}/app/views/layouts/mailer.text.erb +0 -0
- data/examples/word-game/bin/bundle +3 -0
- data/examples/word-game/bin/rails +9 -0
- data/examples/word-game/bin/rake +9 -0
- data/examples/word-game/bin/setup +34 -0
- data/examples/word-game/bin/spring +16 -0
- data/examples/word-game/bin/update +29 -0
- data/examples/word-game/config.ru +5 -0
- data/examples/word-game/config/application.rb +20 -0
- data/examples/word-game/config/boot.rb +3 -0
- data/examples/word-game/config/cable.yml +9 -0
- data/examples/word-game/config/database.yml +25 -0
- data/examples/word-game/config/environment.rb +5 -0
- data/examples/word-game/config/environments/development.rb +56 -0
- data/examples/word-game/config/environments/production.rb +86 -0
- data/examples/word-game/config/environments/test.rb +42 -0
- data/examples/word-game/config/initializers/application_controller_renderer.rb +6 -0
- data/examples/word-game/config/initializers/assets.rb +11 -0
- data/examples/word-game/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/word-game/config/initializers/cookies_serializer.rb +5 -0
- data/examples/word-game/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/word-game/config/initializers/hyper_mesh.rb +4 -0
- data/examples/word-game/config/initializers/inflections.rb +16 -0
- data/examples/word-game/config/initializers/mime_types.rb +4 -0
- data/examples/word-game/config/initializers/new_framework_defaults.rb +24 -0
- data/examples/word-game/config/initializers/session_store.rb +3 -0
- data/examples/word-game/config/initializers/wrap_parameters.rb +14 -0
- data/examples/word-game/config/locales/en.yml +23 -0
- data/examples/word-game/config/puma.rb +47 -0
- data/examples/word-game/config/routes.rb +4 -0
- data/examples/word-game/config/secrets.yml +22 -0
- data/examples/word-game/config/spring.rb +6 -0
- data/examples/word-game/db/seeds.rb +7 -0
- data/examples/word-game/lib/assets/.keep +0 -0
- data/examples/word-game/lib/tasks/.keep +0 -0
- data/examples/word-game/log/.keep +0 -0
- data/examples/word-game/public/404.html +67 -0
- data/examples/word-game/public/422.html +67 -0
- data/examples/word-game/public/500.html +66 -0
- data/examples/word-game/public/apple-touch-icon-precomposed.png +0 -0
- data/examples/word-game/public/apple-touch-icon.png +0 -0
- data/examples/word-game/public/favicon.ico +0 -0
- data/examples/word-game/public/robots.txt +5 -0
- data/examples/word-game/test/controllers/.keep +0 -0
- data/examples/word-game/test/fixtures/.keep +0 -0
- data/examples/word-game/test/fixtures/files/.keep +0 -0
- data/examples/word-game/test/helpers/.keep +0 -0
- data/examples/word-game/test/integration/.keep +0 -0
- data/examples/word-game/test/mailers/.keep +0 -0
- data/examples/word-game/test/models/.keep +0 -0
- data/examples/word-game/test/test_helper.rb +10 -0
- data/examples/word-game/tmp/.keep +0 -0
- data/examples/word-game/vendor/assets/javascripts/.keep +0 -0
- data/examples/word-game/vendor/assets/stylesheets/.keep +0 -0
- data/lib/active_record_base.rb +20 -1
- data/lib/hyper-mesh.rb +1 -0
- data/lib/hypermesh/version.rb +1 -1
- data/lib/kernel/itself.rb +5 -0
- data/lib/reactive_record/active_record/class_methods.rb +87 -11
- data/lib/reactive_record/active_record/instance_methods.rb +4 -2
- data/lib/reactive_record/active_record/reactive_record/collection.rb +9 -12
- data/lib/reactive_record/active_record/reactive_record/isomorphic_base.rb +52 -52
- data/lib/reactive_record/active_record/reactive_record/while_loading.rb +2 -3
- data/lib/reactive_record/scope_description.rb +8 -3
- data/lib/synchromesh/client_drivers.rb +1 -9
- data/lib/synchromesh/connection.rb +2 -2
- data/lib/synchromesh/synchromesh.rb +4 -4
- data/spec/reactive_record/auto_load_itself_spec.rb +24 -0
- data/spec/reactive_record/finder_method_spec.rb +67 -0
- data/spec/reactive_record/save_while_loading_spec.rb +44 -0
- data/spec/reactive_record/update_associations_spec.rb +0 -1
- data/spec/reactive_record/update_scopes_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -0
- data/spec/synchromesh/examples/random_examples.rb +33 -0
- metadata +176 -10
- data/examples/pusher-fake/app/views/layouts/mailer.html.erb +0 -13
- data/examples/pusher-fake/app/views/layouts/mailer.text.erb +0 -1
- data/examples/pusher/app/views/layouts/mailer.html.erb +0 -13
- data/examples/pusher/app/views/layouts/mailer.text.erb +0 -1
- data/examples/simple-poller/app/views/layouts/mailer.html.erb +0 -13
- data/examples/simple-poller/app/views/layouts/mailer.text.erb +0 -1
data/docs/client_side_scoping.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
When the client receives notification that a record has changed HyperMesh finds the set of currently rendered scopes that might be effected, and requests them to be updated from the server.
|
4
4
|
|
5
|
-
On the server scopes are a useful way to structure code. **On the client** scopes are vital as they limit the amount of data loaded, viewed, and updated
|
5
|
+
On the server scopes are a useful way to structure code. **On the client** scopes are vital as they limit the amount of data loaded, viewed, and updated in the browser. Consider a factory floor management system that shows *job* state as work flows through the factory. There may be millions of jobs that a production floor browser is authorized to view, but at any time there are probably only 50 being shown. Using ActiveRecord scopes is the way HyperMesh keeps the data requested by the browser limited to a reasonable amount.
|
6
6
|
|
7
7
|
To make scopes work efficiently on the client HyperMesh adds some features to the ActiveRecord `scope` and `default_scope` macros. Note you must use the `scope` macro (and not class methods) for things to work with HyperMesh.
|
8
8
|
|
data/docs/word_game.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
## The 5 Letter Word Game in HyperMesh
|
2
|
+
|
3
|
+
We are going to implement a simple game (that is actually quite fun to play) using HyperMesh.
|
4
|
+
|
5
|
+
In the 5 letter word game two players each secretly pick a 5 letter word that have 5 different letters. *truck* and *knife* for example.
|
6
|
+
|
7
|
+
Each player guesses a word, and the other player responds with the number of correct letters.
|
8
|
+
|
9
|
+
Players continue to take turns until a player guesses the other players word.
|
10
|
+
|
11
|
+
Because we are playing on a computer we are going to add some additional rules.
|
12
|
+
|
13
|
+
Instead of playing until one of the players correctly guesses a word, we will play until both players correctly guess a word, or one of the players concedes.
|
14
|
+
|
15
|
+
Players win by having the *fewest* points.
|
16
|
+
|
17
|
+
Points are calculated as follows:
|
18
|
+
|
19
|
+
+ 2 points for each guess
|
20
|
+
+ 2 points for conceding
|
21
|
+
+ 1 point if a player miscalculates the number of correct letters in the other players guess. The app will give the other player the true answer anyway.
|
22
|
+
+ 3 points if a player asks the app to guess a word. The app will always guess an optimal word (i.e. given all the previous guesses, the app will calculate a word that could be correct.)
|
23
|
+
|
24
|
+
In addition the players agree on a time per turn. If time runs out then the app will guess, and the player will get 3 points instead of 2 (i.e. the last rule above will apply.)
|
25
|
+
|
26
|
+
Each
|
@@ -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
|
+
|
4
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
5
|
+
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
|
6
|
+
# Use sqlite3 as the database for Active Record
|
7
|
+
gem 'sqlite3'
|
8
|
+
# Use Puma as the app server
|
9
|
+
gem 'puma', '~> 3.0'
|
10
|
+
# Use SCSS for stylesheets
|
11
|
+
gem 'sass-rails', '~> 5.0'
|
12
|
+
# Use Uglifier as compressor for JavaScript assets
|
13
|
+
gem 'uglifier', '>= 1.3.0'
|
14
|
+
# Use CoffeeScript for .coffee assets and views
|
15
|
+
gem 'coffee-rails', '~> 4.2'
|
16
|
+
# See https://github.com/rails/execjs#readme for more supported runtimes
|
17
|
+
# gem 'therubyracer', platforms: :ruby
|
18
|
+
|
19
|
+
# Use jquery as the JavaScript library
|
20
|
+
gem 'jquery-rails'
|
21
|
+
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
22
|
+
gem 'turbolinks', '~> 5'
|
23
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
24
|
+
gem 'jbuilder', '~> 2.5'
|
25
|
+
# Use Redis adapter to run Action Cable in production
|
26
|
+
gem 'redis', '~> 3.0'
|
27
|
+
# Use ActiveModel has_secure_password
|
28
|
+
# gem 'bcrypt', '~> 3.1.7'
|
29
|
+
|
30
|
+
# Use Capistrano for deployment
|
31
|
+
# gem 'capistrano-rails', group: :development
|
32
|
+
|
33
|
+
group :development, :test do
|
34
|
+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
35
|
+
gem 'byebug', platform: :mri
|
36
|
+
end
|
37
|
+
|
38
|
+
group :development do
|
39
|
+
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
|
40
|
+
gem 'web-console'
|
41
|
+
gem 'listen', '~> 3.0.5'
|
42
|
+
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
43
|
+
#gem 'spring'
|
44
|
+
#gem 'spring-watcher-listen', '~> 2.0.0'
|
45
|
+
gem 'hyper-rails'
|
46
|
+
end
|
47
|
+
|
48
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
49
|
+
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
50
|
+
|
51
|
+
gem 'opal-rails'
|
52
|
+
gem 'opal-browser'
|
53
|
+
gem 'hyper-react'
|
54
|
+
gem 'therubyracer', platforms: :ruby
|
55
|
+
gem 'react-router-rails', '~> 0.13.3'
|
56
|
+
gem 'hyper-router'
|
57
|
+
gem 'hyper-mesh'
|
@@ -0,0 +1,231 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
actioncable (5.0.0.1)
|
5
|
+
actionpack (= 5.0.0.1)
|
6
|
+
nio4r (~> 1.2)
|
7
|
+
websocket-driver (~> 0.6.1)
|
8
|
+
actionmailer (5.0.0.1)
|
9
|
+
actionpack (= 5.0.0.1)
|
10
|
+
actionview (= 5.0.0.1)
|
11
|
+
activejob (= 5.0.0.1)
|
12
|
+
mail (~> 2.5, >= 2.5.4)
|
13
|
+
rails-dom-testing (~> 2.0)
|
14
|
+
actionpack (5.0.0.1)
|
15
|
+
actionview (= 5.0.0.1)
|
16
|
+
activesupport (= 5.0.0.1)
|
17
|
+
rack (~> 2.0)
|
18
|
+
rack-test (~> 0.6.3)
|
19
|
+
rails-dom-testing (~> 2.0)
|
20
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
21
|
+
actionview (5.0.0.1)
|
22
|
+
activesupport (= 5.0.0.1)
|
23
|
+
builder (~> 3.1)
|
24
|
+
erubis (~> 2.7.0)
|
25
|
+
rails-dom-testing (~> 2.0)
|
26
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
27
|
+
activejob (5.0.0.1)
|
28
|
+
activesupport (= 5.0.0.1)
|
29
|
+
globalid (>= 0.3.6)
|
30
|
+
activemodel (5.0.0.1)
|
31
|
+
activesupport (= 5.0.0.1)
|
32
|
+
activerecord (5.0.0.1)
|
33
|
+
activemodel (= 5.0.0.1)
|
34
|
+
activesupport (= 5.0.0.1)
|
35
|
+
arel (~> 7.0)
|
36
|
+
activesupport (5.0.0.1)
|
37
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
38
|
+
i18n (~> 0.7)
|
39
|
+
minitest (~> 5.1)
|
40
|
+
tzinfo (~> 1.1)
|
41
|
+
arel (7.1.4)
|
42
|
+
babel-source (5.8.35)
|
43
|
+
babel-transpiler (0.7.0)
|
44
|
+
babel-source (>= 4.0, < 6)
|
45
|
+
execjs (~> 2.0)
|
46
|
+
builder (3.2.2)
|
47
|
+
byebug (9.0.6)
|
48
|
+
coffee-rails (4.2.1)
|
49
|
+
coffee-script (>= 2.2.0)
|
50
|
+
railties (>= 4.0.0, < 5.2.x)
|
51
|
+
coffee-script (2.4.1)
|
52
|
+
coffee-script-source
|
53
|
+
execjs
|
54
|
+
coffee-script-source (1.10.0)
|
55
|
+
concurrent-ruby (1.0.2)
|
56
|
+
connection_pool (2.2.1)
|
57
|
+
debug_inspector (0.0.2)
|
58
|
+
erubis (2.7.0)
|
59
|
+
execjs (2.7.0)
|
60
|
+
ffi (1.9.14)
|
61
|
+
globalid (0.3.7)
|
62
|
+
activesupport (>= 4.1.0)
|
63
|
+
hike (1.2.3)
|
64
|
+
hyper-mesh (0.5.0)
|
65
|
+
activerecord (>= 0.3.0)
|
66
|
+
hyper-react (>= 0.10.0)
|
67
|
+
hyper-rails (0.4.0)
|
68
|
+
rails (>= 4.0.0)
|
69
|
+
hyper-react (0.10.0)
|
70
|
+
opal (>= 0.8.0)
|
71
|
+
opal-activesupport (>= 0.2.0)
|
72
|
+
react-rails
|
73
|
+
hyper-router (2.4.0)
|
74
|
+
hyper-react
|
75
|
+
opal-browser
|
76
|
+
i18n (0.7.0)
|
77
|
+
jbuilder (2.6.0)
|
78
|
+
activesupport (>= 3.0.0, < 5.1)
|
79
|
+
multi_json (~> 1.2)
|
80
|
+
jquery-rails (4.2.1)
|
81
|
+
rails-dom-testing (>= 1, < 3)
|
82
|
+
railties (>= 4.2.0)
|
83
|
+
thor (>= 0.14, < 2.0)
|
84
|
+
libv8 (3.16.14.15)
|
85
|
+
listen (3.0.8)
|
86
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
87
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
88
|
+
loofah (2.0.3)
|
89
|
+
nokogiri (>= 1.5.9)
|
90
|
+
mail (2.6.4)
|
91
|
+
mime-types (>= 1.16, < 4)
|
92
|
+
method_source (0.8.2)
|
93
|
+
mime-types (3.1)
|
94
|
+
mime-types-data (~> 3.2015)
|
95
|
+
mime-types-data (3.2016.0521)
|
96
|
+
mini_portile2 (2.1.0)
|
97
|
+
minitest (5.9.1)
|
98
|
+
multi_json (1.12.1)
|
99
|
+
nio4r (1.2.1)
|
100
|
+
nokogiri (1.6.8.1)
|
101
|
+
mini_portile2 (~> 2.1.0)
|
102
|
+
opal (0.10.3)
|
103
|
+
hike (~> 1.2)
|
104
|
+
sourcemap (~> 0.1.0)
|
105
|
+
sprockets (~> 3.1)
|
106
|
+
tilt (>= 1.4)
|
107
|
+
opal-activesupport (0.3.0)
|
108
|
+
opal (>= 0.5.0, < 1.0.0)
|
109
|
+
opal-browser (0.2.0)
|
110
|
+
opal
|
111
|
+
paggio
|
112
|
+
opal-jquery (0.4.2)
|
113
|
+
opal (>= 0.7.0, < 0.11.0)
|
114
|
+
opal-rails (0.9.0)
|
115
|
+
jquery-rails
|
116
|
+
opal (>= 0.8.0, < 0.11)
|
117
|
+
opal-activesupport (>= 0.0.5)
|
118
|
+
opal-jquery (~> 0.4.0)
|
119
|
+
rails (>= 4.0, < 6.0)
|
120
|
+
sprockets-rails (< 3.0)
|
121
|
+
paggio (0.2.6)
|
122
|
+
puma (3.6.0)
|
123
|
+
rack (2.0.1)
|
124
|
+
rack-test (0.6.3)
|
125
|
+
rack (>= 1.0)
|
126
|
+
rails (5.0.0.1)
|
127
|
+
actioncable (= 5.0.0.1)
|
128
|
+
actionmailer (= 5.0.0.1)
|
129
|
+
actionpack (= 5.0.0.1)
|
130
|
+
actionview (= 5.0.0.1)
|
131
|
+
activejob (= 5.0.0.1)
|
132
|
+
activemodel (= 5.0.0.1)
|
133
|
+
activerecord (= 5.0.0.1)
|
134
|
+
activesupport (= 5.0.0.1)
|
135
|
+
bundler (>= 1.3.0, < 2.0)
|
136
|
+
railties (= 5.0.0.1)
|
137
|
+
sprockets-rails (>= 2.0.0)
|
138
|
+
rails-dom-testing (2.0.1)
|
139
|
+
activesupport (>= 4.2.0, < 6.0)
|
140
|
+
nokogiri (~> 1.6.0)
|
141
|
+
rails-html-sanitizer (1.0.3)
|
142
|
+
loofah (~> 2.0)
|
143
|
+
railties (5.0.0.1)
|
144
|
+
actionpack (= 5.0.0.1)
|
145
|
+
activesupport (= 5.0.0.1)
|
146
|
+
method_source
|
147
|
+
rake (>= 0.8.7)
|
148
|
+
thor (>= 0.18.1, < 2.0)
|
149
|
+
rake (11.3.0)
|
150
|
+
rb-fsevent (0.9.8)
|
151
|
+
rb-inotify (0.9.7)
|
152
|
+
ffi (>= 0.5.0)
|
153
|
+
react-rails (1.4.2)
|
154
|
+
babel-transpiler (>= 0.7.0)
|
155
|
+
coffee-script-source (~> 1.8)
|
156
|
+
connection_pool
|
157
|
+
execjs
|
158
|
+
rails (>= 3.2)
|
159
|
+
tilt
|
160
|
+
react-router-rails (0.13.3.2)
|
161
|
+
rails (>= 3.1)
|
162
|
+
react-rails (~> 1.4.0)
|
163
|
+
redis (3.3.1)
|
164
|
+
ref (2.0.0)
|
165
|
+
sass (3.4.22)
|
166
|
+
sass-rails (5.0.6)
|
167
|
+
railties (>= 4.0.0, < 6)
|
168
|
+
sass (~> 3.1)
|
169
|
+
sprockets (>= 2.8, < 4.0)
|
170
|
+
sprockets-rails (>= 2.0, < 4.0)
|
171
|
+
tilt (>= 1.1, < 3)
|
172
|
+
sourcemap (0.1.1)
|
173
|
+
sprockets (3.7.0)
|
174
|
+
concurrent-ruby (~> 1.0)
|
175
|
+
rack (> 1, < 3)
|
176
|
+
sprockets-rails (2.3.3)
|
177
|
+
actionpack (>= 3.0)
|
178
|
+
activesupport (>= 3.0)
|
179
|
+
sprockets (>= 2.8, < 4.0)
|
180
|
+
sqlite3 (1.3.12)
|
181
|
+
therubyracer (0.12.2)
|
182
|
+
libv8 (~> 3.16.14.0)
|
183
|
+
ref
|
184
|
+
thor (0.19.1)
|
185
|
+
thread_safe (0.3.5)
|
186
|
+
tilt (2.0.5)
|
187
|
+
turbolinks (5.0.1)
|
188
|
+
turbolinks-source (~> 5)
|
189
|
+
turbolinks-source (5.0.0)
|
190
|
+
tzinfo (1.2.2)
|
191
|
+
thread_safe (~> 0.1)
|
192
|
+
uglifier (3.0.3)
|
193
|
+
execjs (>= 0.3.0, < 3)
|
194
|
+
web-console (3.4.0)
|
195
|
+
actionview (>= 5.0)
|
196
|
+
activemodel (>= 5.0)
|
197
|
+
debug_inspector
|
198
|
+
railties (>= 5.0)
|
199
|
+
websocket-driver (0.6.4)
|
200
|
+
websocket-extensions (>= 0.1.0)
|
201
|
+
websocket-extensions (0.1.2)
|
202
|
+
|
203
|
+
PLATFORMS
|
204
|
+
ruby
|
205
|
+
|
206
|
+
DEPENDENCIES
|
207
|
+
byebug
|
208
|
+
coffee-rails (~> 4.2)
|
209
|
+
hyper-mesh
|
210
|
+
hyper-rails
|
211
|
+
hyper-react
|
212
|
+
hyper-router
|
213
|
+
jbuilder (~> 2.5)
|
214
|
+
jquery-rails
|
215
|
+
listen (~> 3.0.5)
|
216
|
+
opal-browser
|
217
|
+
opal-rails
|
218
|
+
puma (~> 3.0)
|
219
|
+
rails (~> 5.0.0, >= 5.0.0.1)
|
220
|
+
react-router-rails (~> 0.13.3)
|
221
|
+
redis (~> 3.0)
|
222
|
+
sass-rails (~> 5.0)
|
223
|
+
sqlite3
|
224
|
+
therubyracer
|
225
|
+
turbolinks (~> 5)
|
226
|
+
tzinfo-data
|
227
|
+
uglifier (>= 1.3.0)
|
228
|
+
web-console
|
229
|
+
|
230
|
+
BUNDLED WITH
|
231
|
+
1.12.5
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# README
|
2
|
+
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
4
|
+
application up and running.
|
5
|
+
|
6
|
+
Things you may want to cover:
|
7
|
+
|
8
|
+
* Ruby version
|
9
|
+
|
10
|
+
* System dependencies
|
11
|
+
|
12
|
+
* Configuration
|
13
|
+
|
14
|
+
* Database creation
|
15
|
+
|
16
|
+
* Database initialization
|
17
|
+
|
18
|
+
* How to run the test suite
|
19
|
+
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
21
|
+
|
22
|
+
* Deployment instructions
|
23
|
+
|
24
|
+
* ...
|
File without changes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// added by hyper-rails: These lines must preceed other requires especially turbo_links
|
2
|
+
//= require 'components'
|
3
|
+
//= require 'react_ujs'
|
4
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
5
|
+
// listed below.
|
6
|
+
//
|
7
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
8
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
9
|
+
//
|
10
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
11
|
+
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
12
|
+
//
|
13
|
+
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
14
|
+
// about supported directives.
|
15
|
+
//
|
16
|
+
//= require jquery
|
17
|
+
//= require jquery_ujs
|
18
|
+
//= require turbolinks
|
19
|
+
//= require_tree .
|
20
|
+
Opal.load('components');
|
@@ -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);
|
File without changes
|
@@ -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
|
+
*/
|