hyperloop 0.99.6 → 1.0.0.lap22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 98893ccb9ddb270692b88c8f750e3c882c2f1a916a547640554db32bd326f1a8
4
- data.tar.gz: d5adcdee8284c1d73672564efe8dd619e6dd75834bf18c08320ff1decca13c67
2
+ SHA1:
3
+ metadata.gz: f8aa194bf33e2741fd225cd418a4a6918e93293e
4
+ data.tar.gz: 22b6b94e218b5d4742d07e857a053da7d1cc961d
5
5
  SHA512:
6
- metadata.gz: fc1992507fb80ddca247354c662bd058509a913ebb0b6c3d7c4ae644de39d8cbadde3383ababe2a603042881ce1875a9c4df2eb44060065e70106986ae0ee5dd
7
- data.tar.gz: 11cd556dcee2002d0e17036cd6a8114122467701b32b88f748f8aaa38ee35119389d75f4d6a8ed0a125f65a1c794df5b90eda361400e81028779087031d8f6bf
6
+ metadata.gz: 1271bca0abf5bc500be7c622edea319333c3538c6a9b63d569221994b4965b3994ed1085672e4de1791fe5a85b804f329485be273b34b1dd3cb6cad5ec0d4154
7
+ data.tar.gz: aee59ee929259c9c61680bc7c545dd2d884b605e8d5a3847203fd4e9aedfed4408141065b0f4725536f3edce9adceb2c0f61b901c878f6c3167406b95354e38c
data/.gitignore CHANGED
@@ -46,3 +46,4 @@ bower.json
46
46
 
47
47
  # ignore Idea
48
48
  .idea
49
+ Gemfile.lock
data/Gemfile CHANGED
@@ -1,8 +1,4 @@
1
1
  source 'https://rubygems.org'
2
- gem 'hyperloop-config', path: '../hyperloop-config'
3
- gem 'hyper-store', path: '../hyper-store'
4
- gem 'hyper-component', path: '../hyper-component'
5
- gem 'hyper-operation', path: '../hyper-operation'
6
- gem 'hyper-model', path: '../hyper-model'
7
- gem 'hyper-router', path: '../hyper-router'
2
+ gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"
3
+ gem "opal-rails", git: "https://github.com/opal/opal-rails.git", branch: "master"
8
4
  gemspec
data/README.md CHANGED
@@ -1,10 +1,20 @@
1
- Install instructions for the latest lap (lap is hyperloop designation for release candidate):
1
+ Lap 21 (Lap is hyperloop designation for release candidate)
2
+
3
+ Install instructions for the latest lap:
2
4
  ```
5
+ source https://gems.ruby-hyperloop.org
6
+
3
7
  gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"
8
+ gem "opal-rails", git: "https://github.com/opal/opal-rails.git", branch: "master"
4
9
 
5
- gem 'hyperloop', '~> 1.0.0.lap0'
6
- gem 'hyper-spec', '~> 1.0.0.lap0'
10
+ gem 'hyperloop', '~> 1.0.0.lap'
11
+ gem 'hyper-spec', '~> 1.0.0.lap'
7
12
  ```
13
+ ### lap21 advancements
14
+ works with standard opal 0.11 as above
15
+ fixes for hyper-operation, dispatch_to only dispatches once to a channel for a ServerOp.run
16
+ client side debugging messages for ActionCable websockets and :simple_poller in development environment
17
+ correct server side logging/non-logging for :simple_poller
8
18
 
9
19
  ### testing ruby-hyperloop gems
10
20
  See, section **Testing Ruby-Hyperloop**
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require './tasks/gems'
2
2
  require './tasks/git'
3
3
  require './tasks/version'
4
4
 
5
- HYPERLOOP_REPOS =%w[hyper-component hyper-console hyper-mesh hyper-model hyper-operation hyper-react
5
+ HYPERLOOP_REPOS =%w[hyper-component hyper-mesh hyper-model hyper-operation hyper-react
6
6
  hyper-router hyper-spec hyper-store hyperloop hyperloop-config]
7
7
 
8
8
  task :default do
@@ -11,5 +11,6 @@ end
11
11
 
12
12
  namespace :spec do
13
13
  task :prepare do
14
+ sh %{bundle update}
14
15
  end
15
16
  end
@@ -19,19 +19,13 @@ Gem::Specification.new do |spec|
19
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(tasks)/}) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- # temporarily moved to installer until opal-jquery version issue is fixed
23
22
  spec.add_dependency 'hyper-model', Hyperloop::VERSION
24
23
  spec.add_dependency 'hyper-router', Hyperloop::ROUTERVERSION
25
- spec.add_dependency 'opal-rails', '~> 0.9.4'
26
- # spec.add_dependency 'opal-jquery'
27
-
28
- #spec.add_dependency 'hyperloop-config', Hyperloop::VERSION
24
+ spec.add_dependency 'hyperloop-config', Hyperloop::VERSION
29
25
  spec.add_dependency 'opal-browser', '~> 0.2.0'
26
+ spec.add_dependency 'opal-rails', '~> 0.9.3'
30
27
  spec.add_dependency 'react-rails', '>= 2.4.0', '< 2.5.0'
31
- spec.add_dependency 'libv8', '~> 6.7.0'
32
- spec.add_dependency 'mini_racer', '~> 0.2.4'
33
-
34
- spec.add_dependency 'rails', '>= 4.0.0'
35
- spec.add_development_dependency 'chromedriver-helper'
28
+ spec.add_dependency 'mini_racer', '~> 0.1.15'
29
+ spec.add_runtime_dependency 'rails', '>= 4.0.0'
36
30
  spec.add_development_dependency 'geminabox', '>= 0.13.11'
37
31
  end
@@ -1,23 +1,19 @@
1
- require 'rails/generators'
2
- module Hyper
3
- class Router < Rails::Generators::Base
4
- source_root File.expand_path('../templates', __FILE__)
5
-
6
- argument :component, type: :string
7
- class_option :path, type: :string, default: '/(*other)'
8
- def create_component_file
9
- component_array = component.split('::')
10
- @modules = component_array[0..-2]
11
- @file_name = component_array.last
12
- @indent = 0
13
- template 'router_template.rb',
14
- File.join('app/hyperloop/components',
15
- @modules.map(&:downcase).join('/'),
16
- "#{@file_name.underscore}.rb")
17
- end
18
-
19
- def add_route
20
- route "get '#{options['path']}', to: 'hyperloop##{@file_name.underscore}'"
21
- end
22
- end
23
- end
1
+ # require 'rails/generators'
2
+ # module Hyperloop
3
+ # class Router < Rails::Generators::Base
4
+ # source_root File.expand_path('../templates', __FILE__)
5
+ # argument :components, type: :array
6
+ # def create_component_file
7
+ # self.components.each do |component|
8
+ # component_array = component.split('::')
9
+ # @modules = component_array[0..-2]
10
+ # @file_name = component_array.last
11
+ # @indent = 0
12
+ # template 'router_template.rb',
13
+ # File.join('app/views/components',
14
+ # @modules.map(&:downcase).join('/'),
15
+ # "#{@file_name.underscore}.rb")
16
+ # end
17
+ # end
18
+ # end
19
+ # end
@@ -1,40 +1,40 @@
1
1
  <%- @modules.each do |module_name| %><%= " "* @indent %>module <%= module_name.camelize %><%- @indent += 1 %>
2
2
  <%- end %><%=" "* @indent %>class <%= @file_name %> < Hyperloop::Component
3
3
 
4
- <%=" "* @indent %> # param :my_param
5
- <%=" "* @indent %> # param param_with_default: "default value"
6
- <%=" "* @indent %> # param :param_with_default2, default: "default value" # alternative syntax
7
- <%=" "* @indent %> # param :param_with_type, type: Hash
8
- <%=" "* @indent %> # param :array_of_hashes, type: [Hash]
9
- <%=" "* @indent %> # collect_other_params_as :attributes # collects all other params into a hash
4
+ <%=" "* @indent %># param :my_param
5
+ <%=" "* @indent %># param param_with_default: "default value"
6
+ <%=" "* @indent %># param :param_with_default2, default: "default value" # alternative syntax
7
+ <%=" "* @indent %># param :param_with_type, type: Hash
8
+ <%=" "* @indent %># param :array_of_hashes, type: [Hash]
9
+ <%=" "* @indent %># collect_other_params_as :attributes # collects all other params into a hash
10
10
 
11
- <%=" "* @indent %> # The following are the most common lifecycle call backs,
12
- <%=" "* @indent %> # the following are the most common lifecycle call backs# delete any that you are not using.
13
- <%=" "* @indent %> # call backs may also reference an instance method i.e. before_mount :my_method
11
+ <%=" "* @indent %># The following are the most common lifecycle call backs,
12
+ <%=" "* @indent %># the following are the most common lifecycle call backs# delete any that you are not using.
13
+ <%=" "* @indent %># call backs may also reference an instance method i.e. before_mount :my_method
14
14
 
15
- <%=" "* @indent %> before_mount do
16
- <%=" "* @indent %> # any initialization particularly of state variables goes here.
17
- <%=" "* @indent %> # this will execute on server (prerendering) and client.
18
- <%=" "* @indent %> end
15
+ <%=" "* @indent %>before_mount do
16
+ <%=" "* @indent %> # any initialization particularly of state variables goes here.
17
+ <%=" "* @indent %> # this will execute on server (prerendering) and client.
18
+ <%=" "* @indent %>end
19
19
 
20
- <%=" "* @indent %> after_mount do
21
- <%=" "* @indent %> # any client only post rendering initialization goes here.
22
- <%=" "* @indent %> # i.e. start timers, HTTP requests, and low level jquery operations etc.
23
- <%=" "* @indent %> end
20
+ <%=" "* @indent %>after_mount do
21
+ <%=" "* @indent %> # any client only post rendering initialization goes here.
22
+ <%=" "* @indent %> # i.e. start timers, HTTP requests, and low level jquery operations etc.
23
+ <%=" "* @indent %>end
24
24
 
25
- <%=" "* @indent %> before_update do
26
- <%=" "* @indent %> # called whenever a component will be re-rerendered
27
- <%=" "* @indent %> end
25
+ <%=" "* @indent %>before_update do
26
+ <%=" "* @indent %> # called whenever a component will be re-rerendered
27
+ <%=" "* @indent %>end
28
28
 
29
- <%=" "* @indent %> before_unmount do
30
- <%=" "* @indent %> # cleanup any thing (i.e. timers) before component is destroyed
31
- <%=" "* @indent %> end
29
+ <%=" "* @indent %>before_unmount do
30
+ <%=" "* @indent %> # cleanup any thing (i.e. timers) before component is destroyed
31
+ <%=" "* @indent %>end
32
32
 
33
- <%=" "* @indent %> render do
34
- <%=" "* @indent %> DIV do
35
- <%=" "* @indent %> "<%= (@modules+[@file_name]).join('::') %>"
36
- <%=" "* @indent %> end
33
+ <%=" "* @indent %>def render
34
+ <%=" "* @indent %> DIV do
35
+ <%=" "* @indent %> "<%= (@modules+[@file_name]).join('::') %>"
37
36
  <%=" "* @indent %> end
38
37
  <%=" "* @indent %>end
38
+ <%=" "* @indent %>end
39
39
  <%- @modules.each do %><%- @indent -= 1 %><%=" "* @indent %>end
40
40
  <%- end %>
@@ -1,17 +1,44 @@
1
- <%- @modules.each do |module_name| %><%= " "* @indent %>module <%= module_name.camelize %><%- @indent += 1 %>
2
- <%- end %><%=" "* @indent %>class <%= @file_name %> < Hyperloop::Router
3
- <%=" "* @indent %>
4
- <%=" "* @indent %> route do
5
- <%=" "* @indent %> DIV do
6
- <%=" "* @indent %> "<%= (@modules+[@file_name]).join('::') %>"
7
- <%=" "* @indent %> # define routes using the Route psuedo component. Examples:
8
- <%=" "* @indent %> # Route('/foo', mounts: Foo) : match the path beginning with /foo and mount component Foo here
9
- <%=" "* @indent %> # Route('/foo') { Foo(...) } : display the contents of the block
10
- <%=" "* @indent %> # Route('/', exact: true, mounts: Home) : match the exact path / and mount the Home component
11
- <%=" "* @indent %> # Route('/user/:id/name', mounts: UserName) : path segments beginning with a colon will be captured in the match param
12
- <%=" "* @indent %> # see the hyper-router gem documentation for more details
13
- <%=" "* @indent %> end
14
- <%=" "* @indent %> end
1
+ module Components
2
+ <%- @modules.each do |module_name| %><%= " "* @indent %>module <%= module_name.camelize %><%- @indent += 1 %>
3
+ <%- end %><%=" "* @indent %>class <%= @file_name %>
4
+
5
+ <%=" "* @indent %>include React::Router
6
+
7
+ <%=" "* @indent %>routes(path: "/") do # change path to be the base path
8
+ <%=" "* @indent %> # you will probably want to update your config/routes.rb file so that it matches all
9
+ <%=" "* @indent %> # subroutes: i.e. get '(*subroutes)' => "<%= (@modules.last || 'home').underscore %>#<%= @file_name.underscore %>"
10
+ <%=" "* @indent %> # basic route has:
11
+ <%=" "* @indent %> # a path
12
+ <%=" "* @indent %> # a name - used to reference the route in methods like redirect, and link)
13
+ <%=" "* @indent %> # a handler - the component that will be mounted on this route
14
+ <%=" "* @indent %> route(path: "subroute1-path", name: :subroute1, handler: Subroute1Component)
15
+ <%=" "* @indent %> route(path: "subroute2-path", name: :subroute2, handler: Subroute2Component)
16
+ <%=" "* @indent %> # routes can take parameters designated with a colon:
17
+ <%=" "* @indent %> route(path: "subroute3-path/:user_id", name: subroute3, handler: Subroute3Component)
18
+ <%=" "* @indent %> # the redirect method will transition any incoming matching routes to a new route
19
+ <%=" "* @indent %> redirect(from: "/", to: :subroute1)
20
+ <%=" "* @indent %> # the not_found method indicates which component to load if no route matches:
21
+ <%=" "* @indent %> not_found(handler: NotFound)
22
+ <%=" "* @indent %>end
23
+
24
+ <%=" "* @indent %>router_param :user_id, as: :user do |id|
25
+ <%=" "* @indent %> # Translate incoming route params to internal values.
26
+ <%=" "* @indent %> # In this case we will refer to the translated user_id as user.
27
+ <%=" "* @indent %> # The block param (id) will have the value of the param.
28
+ <%=" "* @indent %> # This is useful for looking up ActiveRecord models by ids, etc.
29
+ <%=" "* @indent %>end
30
+
31
+ <%=" "* @indent %>def show # note that the top level router has a show method NOT render
32
+ <%=" "* @indent %> DIV do
33
+ <%=" "* @indent %> # content to display on every route
34
+ <%=" "* @indent %> # link generates an anchor tag.
35
+ <%=" "* @indent %> link(to: :subroute3, params: {user_id: 12}, class: "link-class") { "Click to go to subroute3" }
36
+ <%=" "* @indent %> # within an event handler use transition_to to move to a new route
37
+ <%=" "* @indent %> # the route_handler method will display the current route, it can be called in the
38
+ <%=" "* @indent %> # router, or in some child component.
39
+ <%=" "* @indent %> route_handler
40
+ <%=" "* @indent %> end
41
+ <%=" "* @indent %>end
15
42
  <%=" "* @indent %>end
16
- <%- @modules.each do %><%- @indent -= 1 %><%=" "* @indent %>end
17
- <%- end %>
43
+ <%- @modules.each do %><%- @indent -= 1 %><%=" "* @indent %>end
44
+ <%- end %>end
@@ -1,21 +1,7 @@
1
- require_relative 'install_generator_base'
1
+ require 'rails/generators'
2
2
  module Hyperloop
3
3
  class InstallGenerator < Rails::Generators::Base
4
4
 
5
- class_option 'skip-webpack', type: :boolean
6
- class_option 'skip-hot-reloader', type: :boolean
7
- class_option 'add-framework', type: :string
8
-
9
- def insure_yarn_loaded
10
- return if skip_webpack?
11
- begin
12
- yarn_version = `yarn --version`
13
- raise Errno::ENOENT if yarn_version.blank?
14
- rescue Errno::ENOENT
15
- raise Thor::Error.new("please insure the yarn command is available if using webpacker")
16
- end
17
- end
18
-
19
5
  def inject_react_file_js
20
6
  append_file 'app/assets/javascripts/application.js' do
21
7
  <<-'JS'
@@ -24,6 +10,10 @@ module Hyperloop
24
10
  end
25
11
  end
26
12
 
13
+ def inject_engine_to_routes
14
+ route 'mount Hyperloop::Engine => \'/hyperloop\''
15
+ end
16
+
27
17
  def create_hyperloop_directories
28
18
  create_file 'app/hyperloop/components/.keep', ''
29
19
  create_file 'app/hyperloop/operations/.keep', ''
@@ -31,18 +21,6 @@ module Hyperloop
31
21
  create_file 'app/hyperloop/models/.keep', ''
32
22
  end
33
23
 
34
- def move_and_update_application_record
35
- unless File.exists? 'app/hyperloop/models/application_record.rb'
36
- `mv app/models/application_record.rb app/hyperloop/models/application_record.rb`
37
- create_file 'app/models/application_record.rb', <<-RUBY
38
- # app/models/application_record.rb
39
- # the presence of this file prevents rails migrations from recreating application_record.rb see https://github.com/rails/rails/issues/29407
40
-
41
- require 'models/application_record.rb'
42
- RUBY
43
- end
44
- end
45
-
46
24
  def create_policies_directory
47
25
  create_file 'app/policies/application_policy.rb', <<-RUBY
48
26
  # app/policies/application_policy
@@ -58,124 +36,23 @@ class Hyperloop::ApplicationPolicy
58
36
  regulate_all_broadcasts { |policy| policy.send_all }
59
37
  # Allow all changes to public models
60
38
  allow_change(to: :all, on: [:create, :update, :destroy]) { true }
61
- # allow remote access to all scopes - i.e. you can count or get a list of ids
62
- # for any scope or relationship
63
- ApplicationRecord.regulate_scope :all
64
39
  end unless Rails.env.production?
65
- RUBY
66
- end
67
-
68
- def add_router
69
- generate "hyper:router", "App"
70
- end
71
-
72
- def add_webpacker_manifests
73
- return if skip_webpack?
74
- create_file 'app/javascript/packs/client_and_server.js', <<-JAVASCRIPT
75
- //app/javascript/packs/client_and_server.js
76
- // these packages will be loaded both during prerendering and on the client
77
- React = require('react'); // react-js library
78
- History = require('history'); // react-router history library
79
- ReactRouter = require('react-router'); // react-router js library
80
- ReactRouterDOM = require('react-router-dom'); // react-router DOM interface
81
- ReactRailsUJS = require('react_ujs'); // interface to react-rails
82
- // to add additional NPM packages call run yarn package-name@version
83
- // then add the require here.
84
- JAVASCRIPT
85
- create_file 'app/javascript/packs/client_only.js', <<-JAVASCRIPT
86
- //app/javascript/packs/client_only.js
87
- // add any requires for packages that will run client side only
88
- ReactDOM = require('react-dom'); // react-js client side code
89
- jQuery = require('jquery');
90
- // to add additional NPM packages call run yarn package-name@version
91
- // then add the require here.
92
- JAVASCRIPT
93
- append_file 'config/initializers/assets.rb' do
94
- <<-RUBY
95
- Rails.application.config.assets.paths << Rails.root.join('public', 'packs').to_s
96
40
  RUBY
97
- end
98
- end
99
-
100
- def add_webpacks
101
- return if skip_webpack?
102
- yarn 'react', '16'
103
- yarn 'react-dom', '16'
104
- yarn 'react-router', '4.2'
105
- yarn 'react-router-dom', '4.2'
106
- yarn 'history', '4.2'
107
- yarn 'react_ujs'
108
- yarn 'jquery'
109
41
  end
110
42
 
111
- def add_framework
112
- framework = options['add-framework']
113
- return unless framework
114
- generate "hyperloop:install_#{framework}", "--no-build"
115
- end
116
-
117
- def build_webpack
118
- system('bin/webpack')
119
- end
120
-
121
- # all generators should be run before the initializer due to the opal-rails opal-jquery
122
- # conflict
123
-
124
43
  def create_initializer
125
44
  create_file 'config/initializers/hyperloop.rb', <<-RUBY
126
45
  # config/initializers/hyperloop.rb
127
46
  # If you are not using ActionCable, see http://ruby-hyperloop.io/docs/models/configuring-transport/
128
47
  Hyperloop.configuration do |config|
129
- config.transport = :action_cable # or :pusher or :simpler_poller or :none
130
- config.prerendering = :off # or :on
131
- config.import 'reactrb/auto-import' # will automatically bridge js components to hyperloop components
132
- #{" config.import 'jquery', client_only: true # remove this line if you don't need jquery" if skip_webpack?}
133
- config.import 'hyper-component/jquery', client_only: true # remove this line if you don't need jquery
134
- #{" config.import 'opal_hot_reloader' if Rails.env.development?" unless options['skip-hot-reloader']}
48
+ config.transport = :action_cable
49
+ config.import 'reactrb/auto-import'
135
50
  end
136
- RUBY
137
- end
138
-
139
- def inject_engine_to_routes
140
- # this needs to be the first route, thus it must be the last method executed
141
- route 'mount Hyperloop::Engine => \'/hyperloop\'' # this route should be first in the routes file so it always matches
142
- end
143
51
 
144
- def add_opal_hot_reloader
145
- return if options['skip-hot-reloader']
146
- create_file 'Procfile', <<-TEXT
147
- web: bundle exec rails s -b 0.0.0.0
148
- hot-loader: bundle exec opal-hot-reloader -d app/hyperloop
149
- TEXT
150
- append_file 'app/assets/javascripts/application.js' do
151
- <<-RUBY
152
- Opal.OpalHotReloader.$listen() // optional (port, false, poll_seconds) i.e. (8081, false, 1)
153
52
  RUBY
154
- end
155
- gem_group :development do
156
- gem 'opal_hot_reloader'
157
- gem 'foreman'
158
- end
159
53
  end
160
54
 
161
55
  def add_gems
162
- # gem 'hyper-model', Hyperloop::VERSION
163
- # gem 'hyper-router', Hyperloop::ROUTERVERSION
164
- # gem 'opal-rails', '~> 0.9.4'
165
- # gem 'opal-jquery'
166
- # gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"
167
- end
168
-
169
- def install
170
- Bundler.with_clean_env do
171
- run "bundle install"
172
- end
173
- end
174
-
175
- private
176
-
177
- def skip_webpack?
178
- options['skip-webpack'] || !defined?(Webpacker)
179
56
  end
180
57
  end
181
58
  end
@@ -1,27 +1,17 @@
1
1
  require 'hyperloop-config'
2
2
  require 'rails/generators'
3
-
4
- # remove these once lap29 is released ...
5
- Hyperloop.js_import 'react/react-source-browser', client_only: true, defines: ['ReactDOM', 'React']
6
- Hyperloop.js_import 'react/react-source-server', server_only: true, defines: 'React'
7
- Hyperloop.js_import 'hyper-router/react-router-source', defines: ['ReactRouter', 'ReactRouterDOM', 'History']
8
- Hyperloop.js_import 'react_ujs', defines: 'ReactRailsUJS'
9
- # remove above once lap29 is released ...
3
+ require 'hyper-model'
10
4
 
11
5
  Hyperloop.import 'reactrb/auto-import'
12
6
  Hyperloop.import 'hyper-router'
13
- Hyperloop.import 'hyper-model'
14
7
 
15
8
  require 'generators/hyperloop/install_generator'
16
9
  require 'generators/hyper/component_generator'
17
10
  require 'generators/hyper/router_generator'
18
- begin
19
- require 'opal-rails'
20
- require 'hyper-model'
21
- require 'hyper-router'
22
- rescue LoadError
23
- end
11
+ require 'opal-rails'
24
12
  require 'react-rails'
13
+ require 'hyper-model'
25
14
  require 'opal-browser'
26
15
  require 'mini_racer'
16
+ require 'hyper-router'
27
17
  require 'hyperloop/version'
@@ -1,3 +1,4 @@
1
1
  module Hyperloop
2
- ROUTERVERSION = VERSION = '0.99.6'
2
+ VERSION = '1.0.0.lap22'
3
+ ROUTERVERSION = '4.2.6.lap22'
3
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.6
4
+ version: 1.0.0.lap22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loic Boutet
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-01-30 00:00:00.000000000 Z
14
+ date: 2018-02-16 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: hyper-model
@@ -19,42 +19,42 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.99.6
22
+ version: 1.0.0.lap22
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.99.6
29
+ version: 1.0.0.lap22
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: hyper-router
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - '='
35
35
  - !ruby/object:Gem::Version
36
- version: 0.99.6
36
+ version: 4.2.6.lap22
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - '='
42
42
  - !ruby/object:Gem::Version
43
- version: 0.99.6
43
+ version: 4.2.6.lap22
44
44
  - !ruby/object:Gem::Dependency
45
- name: opal-rails
45
+ name: hyperloop-config
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - "~>"
48
+ - - '='
49
49
  - !ruby/object:Gem::Version
50
- version: 0.9.4
50
+ version: 1.0.0.lap22
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - "~>"
55
+ - - '='
56
56
  - !ruby/object:Gem::Version
57
- version: 0.9.4
57
+ version: 1.0.0.lap22
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: opal-browser
60
60
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +69,20 @@ dependencies:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: 0.2.0
72
+ - !ruby/object:Gem::Dependency
73
+ name: opal-rails
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: 0.9.3
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: 0.9.3
72
86
  - !ruby/object:Gem::Dependency
73
87
  name: react-rails
74
88
  requirement: !ruby/object:Gem::Requirement
@@ -89,34 +103,20 @@ dependencies:
89
103
  - - "<"
90
104
  - !ruby/object:Gem::Version
91
105
  version: 2.5.0
92
- - !ruby/object:Gem::Dependency
93
- name: libv8
94
- requirement: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: 6.7.0
99
- type: :runtime
100
- prerelease: false
101
- version_requirements: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: 6.7.0
106
106
  - !ruby/object:Gem::Dependency
107
107
  name: mini_racer
108
108
  requirement: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - "~>"
111
111
  - !ruby/object:Gem::Version
112
- version: 0.2.4
112
+ version: 0.1.15
113
113
  type: :runtime
114
114
  prerelease: false
115
115
  version_requirements: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: 0.2.4
119
+ version: 0.1.15
120
120
  - !ruby/object:Gem::Dependency
121
121
  name: rails
122
122
  requirement: !ruby/object:Gem::Requirement
@@ -131,20 +131,6 @@ dependencies:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: 4.0.0
134
- - !ruby/object:Gem::Dependency
135
- name: chromedriver-helper
136
- requirement: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- version: '0'
141
- type: :development
142
- prerelease: false
143
- version_requirements: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: '0'
148
134
  - !ruby/object:Gem::Dependency
149
135
  name: geminabox
150
136
  requirement: !ruby/object:Gem::Requirement
@@ -169,21 +155,17 @@ extensions: []
169
155
  extra_rdoc_files: []
170
156
  files:
171
157
  - ".gitignore"
172
- - ".travis.yml"
173
158
  - Gemfile
174
- - Gemfile.lock
175
159
  - LICENSE
176
160
  - README.md
177
161
  - Rakefile
162
+ - hyperloop-logo-small-pink.png
178
163
  - hyperloop.gemspec
179
164
  - lib/generators/hyper/component_generator.rb
180
165
  - lib/generators/hyper/router_generator.rb
181
166
  - lib/generators/hyper/templates/component_template.rb
182
167
  - lib/generators/hyper/templates/router_template.rb
183
- - lib/generators/hyperloop/install_bootstrap_generator.rb
184
168
  - lib/generators/hyperloop/install_generator.rb
185
- - lib/generators/hyperloop/install_generator_base.rb
186
- - lib/generators/hyperloop/install_mui_generator.rb
187
169
  - lib/hyperloop.rb
188
170
  - lib/hyperloop/version.rb
189
171
  homepage: http://ruby-hyperloop.org
@@ -201,11 +183,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
183
  version: '0'
202
184
  required_rubygems_version: !ruby/object:Gem::Requirement
203
185
  requirements:
204
- - - ">="
186
+ - - ">"
205
187
  - !ruby/object:Gem::Version
206
- version: '0'
188
+ version: 1.3.1
207
189
  requirements: []
208
- rubygems_version: 3.0.2
190
+ rubyforge_project:
191
+ rubygems_version: 2.6.12
209
192
  signing_key:
210
193
  specification_version: 4
211
194
  summary: Hyperloop stack and generators for Rails
@@ -1,26 +0,0 @@
1
- dist: trusty
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.4.4
6
- - 2.5.1
7
- - ruby-head
8
- env:
9
- - DRIVER=google-chrome TZ=Europe/Berlin
10
- matrix:
11
- fast_finish: true
12
- allow_failures:
13
- - rvm: ruby-head
14
- before_install:
15
- - if [[ "$DRIVER" == "google-chrome" ]]; then wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -; fi
16
- - if [[ "$DRIVER" == "google-chrome" ]]; then echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list; fi
17
- - if [[ "$DRIVER" == "google-chrome" ]]; then sudo apt-get update -qq && sudo apt-get install -qq -y google-chrome-stable; fi
18
- - gem install bundler
19
- before_script:
20
- - bundle install --jobs=3 --retry=3
21
- - if [[ "$DRIVER" == "google-chrome" ]]; then bundle exec chromedriver-update; fi
22
- - if [[ "$DRIVER" == "google-chrome" ]]; then ls -lR ~/.chromedriver-helper/; fi
23
- - if [[ "$DRIVER" == "google-chrome" ]]; then bundle exec chromedriver --version; fi
24
- - if [[ "$DRIVER" == "google-chrome" ]]; then google-chrome --version; fi
25
- - if [[ "$DRIVER" == "google-chrome" ]]; then which google-chrome; fi
26
- script: echo "Needs tests!!"
@@ -1,275 +0,0 @@
1
- PATH
2
- remote: ../hyper-component
3
- specs:
4
- hyper-component (0.99.6)
5
- hyper-store (= 0.99.6)
6
- hyperloop-config (= 0.99.6)
7
- libv8 (~> 6.7.0)
8
- mini_racer (~> 0.2.4)
9
- opal (>= 0.11.0, < 0.12.0)
10
- opal-activesupport (~> 0.3.1)
11
- react-rails (>= 2.4.0, < 2.5.0)
12
-
13
- PATH
14
- remote: ../hyper-model
15
- specs:
16
- hyper-model (0.99.6)
17
- activemodel
18
- activerecord (>= 4.0.0)
19
- hyper-component (= 0.99.6)
20
- hyper-operation (= 0.99.6)
21
-
22
- PATH
23
- remote: ../hyper-operation
24
- specs:
25
- hyper-operation (0.99.6)
26
- activerecord (>= 4.0.0)
27
- hyper-component (= 0.99.6)
28
- mutations
29
- opal-activesupport (~> 0.3.1)
30
-
31
- PATH
32
- remote: ../hyper-router
33
- specs:
34
- hyper-router (0.99.6)
35
- hyper-component (= 0.99.6)
36
- opal-browser (~> 0.2.0)
37
-
38
- PATH
39
- remote: ../hyper-store
40
- specs:
41
- hyper-store (0.99.6)
42
- hyperloop-config (= 0.99.6)
43
- opal (>= 0.11.0, < 0.12.0)
44
-
45
- PATH
46
- remote: ../hyperloop-config
47
- specs:
48
- hyperloop-config (0.99.6)
49
- libv8 (~> 6.7.0)
50
- mini_racer (~> 0.2.4)
51
- opal (>= 0.11.0, < 0.12.0)
52
- opal-browser (~> 0.2.0)
53
- uglifier
54
-
55
- PATH
56
- remote: .
57
- specs:
58
- hyperloop (0.99.6)
59
- hyper-model (= 0.99.6)
60
- hyper-router (= 0.99.6)
61
- libv8 (~> 6.7.0)
62
- mini_racer (~> 0.2.4)
63
- opal-browser (~> 0.2.0)
64
- opal-rails (~> 0.9.4)
65
- rails (>= 4.0.0)
66
- react-rails (>= 2.4.0, < 2.5.0)
67
-
68
- GEM
69
- remote: https://rubygems.org/
70
- specs:
71
- actioncable (5.2.2)
72
- actionpack (= 5.2.2)
73
- nio4r (~> 2.0)
74
- websocket-driver (>= 0.6.1)
75
- actionmailer (5.2.2)
76
- actionpack (= 5.2.2)
77
- actionview (= 5.2.2)
78
- activejob (= 5.2.2)
79
- mail (~> 2.5, >= 2.5.4)
80
- rails-dom-testing (~> 2.0)
81
- actionpack (5.2.2)
82
- actionview (= 5.2.2)
83
- activesupport (= 5.2.2)
84
- rack (~> 2.0)
85
- rack-test (>= 0.6.3)
86
- rails-dom-testing (~> 2.0)
87
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
88
- actionview (5.2.2)
89
- activesupport (= 5.2.2)
90
- builder (~> 3.1)
91
- erubi (~> 1.4)
92
- rails-dom-testing (~> 2.0)
93
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
94
- activejob (5.2.2)
95
- activesupport (= 5.2.2)
96
- globalid (>= 0.3.6)
97
- activemodel (5.2.2)
98
- activesupport (= 5.2.2)
99
- activerecord (5.2.2)
100
- activemodel (= 5.2.2)
101
- activesupport (= 5.2.2)
102
- arel (>= 9.0)
103
- activestorage (5.2.2)
104
- actionpack (= 5.2.2)
105
- activerecord (= 5.2.2)
106
- marcel (~> 0.3.1)
107
- activesupport (5.2.2)
108
- concurrent-ruby (~> 1.0, >= 1.0.2)
109
- i18n (>= 0.7, < 2)
110
- minitest (~> 5.1)
111
- tzinfo (~> 1.1)
112
- archive-zip (0.11.0)
113
- io-like (~> 0.3.0)
114
- arel (9.0.0)
115
- ast (2.4.0)
116
- babel-source (5.8.35)
117
- babel-transpiler (0.7.0)
118
- babel-source (>= 4.0, < 6)
119
- execjs (~> 2.0)
120
- builder (3.2.3)
121
- chromedriver-helper (1.2.0)
122
- archive-zip (~> 0.10)
123
- nokogiri (~> 1.8)
124
- concurrent-ruby (1.1.4)
125
- connection_pool (2.2.2)
126
- crass (1.0.4)
127
- erubi (1.8.0)
128
- execjs (2.7.0)
129
- faraday (0.15.2)
130
- multipart-post (>= 1.2, < 3)
131
- geminabox (1.1.0)
132
- builder
133
- faraday
134
- httpclient (>= 2.2.7)
135
- nesty
136
- reentrant_flock
137
- sinatra (>= 1.2.7)
138
- globalid (0.4.2)
139
- activesupport (>= 4.2.0)
140
- hike (1.2.3)
141
- httpclient (2.8.3)
142
- i18n (1.5.3)
143
- concurrent-ruby (~> 1.0)
144
- io-like (0.3.0)
145
- jquery-rails (4.3.3)
146
- rails-dom-testing (>= 1, < 3)
147
- railties (>= 4.2.0)
148
- thor (>= 0.14, < 2.0)
149
- libv8 (6.7.288.46.1)
150
- loofah (2.2.3)
151
- crass (~> 1.0.2)
152
- nokogiri (>= 1.5.9)
153
- mail (2.7.1)
154
- mini_mime (>= 0.1.1)
155
- marcel (0.3.3)
156
- mimemagic (~> 0.3.2)
157
- method_source (0.9.2)
158
- mimemagic (0.3.3)
159
- mini_mime (1.0.1)
160
- mini_portile2 (2.3.0)
161
- mini_racer (0.2.4)
162
- libv8 (>= 6.3)
163
- minitest (5.11.3)
164
- multipart-post (2.0.0)
165
- mustermann (1.0.2)
166
- mutations (0.9.0)
167
- activesupport
168
- nesty (1.0.2)
169
- nio4r (2.3.1)
170
- nokogiri (1.8.4)
171
- mini_portile2 (~> 2.3.0)
172
- opal (0.11.4)
173
- ast (>= 2.3.0)
174
- hike (~> 1.2)
175
- parser (= 2.3.3.1)
176
- sourcemap (~> 0.1.0)
177
- opal-activesupport (0.3.1)
178
- opal (>= 0.5.0, < 1.0.0)
179
- opal-browser (0.2.0)
180
- opal
181
- paggio
182
- opal-jquery (0.4.3)
183
- opal (>= 0.10.0, < 0.12.0)
184
- opal-rails (0.9.5)
185
- jquery-rails
186
- opal (>= 0.11.0, < 0.12)
187
- opal-activesupport (>= 0.0.5)
188
- opal-jquery (~> 0.4.0)
189
- opal-sprockets (~> 0.4.2)
190
- rails (>= 4.1, < 6.0)
191
- sprockets-rails (>= 2.3.3, < 4.0)
192
- opal-sprockets (0.4.2.0.11.0.3.1)
193
- opal (~> 0.11.0)
194
- sprockets (~> 3.1)
195
- tilt (>= 1.4)
196
- paggio (0.2.6)
197
- parser (2.3.3.1)
198
- ast (~> 2.2)
199
- rack (2.0.5)
200
- rack-protection (2.0.3)
201
- rack
202
- rack-test (1.1.0)
203
- rack (>= 1.0, < 3)
204
- rails (5.2.2)
205
- actioncable (= 5.2.2)
206
- actionmailer (= 5.2.2)
207
- actionpack (= 5.2.2)
208
- actionview (= 5.2.2)
209
- activejob (= 5.2.2)
210
- activemodel (= 5.2.2)
211
- activerecord (= 5.2.2)
212
- activestorage (= 5.2.2)
213
- activesupport (= 5.2.2)
214
- bundler (>= 1.3.0)
215
- railties (= 5.2.2)
216
- sprockets-rails (>= 2.0.0)
217
- rails-dom-testing (2.0.3)
218
- activesupport (>= 4.2.0)
219
- nokogiri (>= 1.6)
220
- rails-html-sanitizer (1.0.4)
221
- loofah (~> 2.2, >= 2.2.2)
222
- railties (5.2.2)
223
- actionpack (= 5.2.2)
224
- activesupport (= 5.2.2)
225
- method_source
226
- rake (>= 0.8.7)
227
- thor (>= 0.19.0, < 2.0)
228
- rake (12.3.2)
229
- react-rails (2.4.7)
230
- babel-transpiler (>= 0.7.0)
231
- connection_pool
232
- execjs
233
- railties (>= 3.2)
234
- tilt
235
- reentrant_flock (0.1.1)
236
- sinatra (2.0.3)
237
- mustermann (~> 1.0)
238
- rack (~> 2.0)
239
- rack-protection (= 2.0.3)
240
- tilt (~> 2.0)
241
- sourcemap (0.1.1)
242
- sprockets (3.7.2)
243
- concurrent-ruby (~> 1.0)
244
- rack (> 1, < 3)
245
- sprockets-rails (3.2.1)
246
- actionpack (>= 4.0)
247
- activesupport (>= 4.0)
248
- sprockets (>= 3.0.0)
249
- thor (0.20.3)
250
- thread_safe (0.3.6)
251
- tilt (2.0.8)
252
- tzinfo (1.2.5)
253
- thread_safe (~> 0.1)
254
- uglifier (4.1.20)
255
- execjs (>= 0.3.0, < 3)
256
- websocket-driver (0.7.0)
257
- websocket-extensions (>= 0.1.0)
258
- websocket-extensions (0.1.3)
259
-
260
- PLATFORMS
261
- ruby
262
-
263
- DEPENDENCIES
264
- chromedriver-helper
265
- geminabox (>= 0.13.11)
266
- hyper-component!
267
- hyper-model!
268
- hyper-operation!
269
- hyper-router!
270
- hyper-store!
271
- hyperloop!
272
- hyperloop-config!
273
-
274
- BUNDLED WITH
275
- 1.17.3
@@ -1,73 +0,0 @@
1
- require_relative 'install_generator_base'
2
- module Hyperloop
3
- class InstallBootstrapGenerator < Rails::Generators::Base
4
-
5
- desc "Adds the bits you need for the Bootstrap 3.0 framework"
6
-
7
- class_option 'no-build', type: :boolean
8
-
9
- def insure_yarn_loaded
10
- begin
11
- yarn_version = `yarn --version`
12
- raise Errno::ENOENT if yarn_version.blank?
13
- rescue Errno::ENOENT
14
- raise Thor::Error.new("please insure the yarn command is available if using webpacker")
15
- end
16
- end
17
-
18
- def add_to_manifests
19
- add_to_manifest 'client_and_server.js' do
20
- "BS = require('react-bootstrap');\n"
21
- end
22
- end
23
-
24
- def add_style_sheet_pack_tag
25
- inject_into_file 'app/views/layouts/application.html.erb', after: /stylesheet_link_tag.*$/ do
26
- <<-JAVASCRIPT
27
-
28
- <!-- Latest compiled and minified CSS -->
29
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
30
-
31
- <!-- Optional theme -->
32
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
33
- JAVASCRIPT
34
- end
35
- end
36
-
37
- def run_yarn
38
- yarn 'react-bootstrap'
39
- yarn 'bootstrap@3'
40
- end
41
-
42
- def build_webpack
43
- system('bin/webpack') unless options['no-build']
44
- end
45
-
46
- def add_sample_component
47
- create_file 'app/hyperloop/components/bs_sampler.rb' do
48
- <<-RUBY
49
- class BsSampler < Hyperloop::Component
50
- render(DIV) do
51
- BS::Grid() do
52
- BS::Row(class: "show-grid") do
53
- BS::Col(xs: 12, md: 8) do
54
- CODE { "BS::Col(xs: 12, md: 8)" }
55
- end
56
- BS::Col(xs: 6, md: 4) do
57
- CODE { "BS::Col(xs: 6, md: 4)" }
58
- end
59
- end
60
- BS::Row() do
61
- BS::Alert(bsStyle: "warning") do
62
- STRONG { "Holy guacamole!" }
63
- SPAN { " Best check yo self, you're not looking too good." }
64
- end
65
- end
66
- end
67
- end
68
- end
69
- RUBY
70
- end
71
- end
72
- end
73
- end
@@ -1,23 +0,0 @@
1
- require 'rails/generators'
2
-
3
- module Rails
4
- module Generators
5
- class Base < Thor::Group
6
-
7
- protected
8
-
9
- def add_to_manifest(manifest, &block)
10
- if File.exists? "app/javascript/packs/#{manifest}"
11
- append_file "app/javascript/packs/#{manifest}", &block
12
- else
13
- create_file "app/javascript/packs/#{manifest}", &block
14
- end
15
- end
16
-
17
- def yarn(package, version = nil)
18
- return if system("yarn add #{package}#{'@' + version if version}")
19
- raise Thor::Error.new("yarn failed to install #{package} with version #{version}")
20
- end
21
- end
22
- end
23
- end
@@ -1,52 +0,0 @@
1
- require_relative 'install_generator_base'
2
- module Hyperloop
3
- class InstallMuiGenerator < Rails::Generators::Base
4
-
5
- desc "Adds the bits you need for the MUI framework"
6
-
7
- class_option 'no-build', type: :boolean
8
-
9
- def insure_yarn_loaded
10
- begin
11
- yarn_version = `yarn --version`
12
- raise Errno::ENOENT if yarn_version.blank?
13
- rescue Errno::ENOENT
14
- raise Thor::Error.new("please insure the yarn command is available if using webpacker")
15
- end
16
- end
17
-
18
- def add_to_manifests
19
- add_to_manifest('client_and_server.js') { "Mui = require('muicss/react');\n" }
20
- add_to_manifest('application.scss') { "@import '~muicss/lib/sass/mui'\n" }
21
- end
22
-
23
- def add_style_sheet_pack_tag
24
- inject_into_file 'app/views/layouts/application.html.erb', after: /stylesheet_link_tag.*$/ do
25
- "\n <%= stylesheet_pack_tag 'application' %>\n"
26
- end
27
- end
28
-
29
- def run_yarn
30
- yarn 'muicss'
31
- end
32
-
33
- def build_webpack
34
- system('bin/webpack') unless options['no-build']
35
- end
36
-
37
- def add_sample_component
38
- create_file 'app/hyperloop/components/mui_sampler.rb' do
39
- <<-RUBY
40
- class MuiSampler < Hyperloop::Component
41
- render(DIV) do
42
- Mui::Appbar()
43
- Mui::Container() do
44
- Mui::Button(color: :primary) { 'button' }
45
- end
46
- end
47
- end
48
- RUBY
49
- end
50
- end
51
- end
52
- end