hyperloop 0.5.8 → 0.99.0

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
- SHA1:
3
- metadata.gz: 302a5913bb059f7c320bccd8f4d87b073450ed0f
4
- data.tar.gz: b28f02b32ee68bf58827cb5e6770c92a860f64fd
2
+ SHA256:
3
+ metadata.gz: 261a4fa6f0ca608d4c3dff2f015c13f9e564ed5c7f7f18c1ac731ab00be76468
4
+ data.tar.gz: cbd6c1ae2ebc3c38bdb755c41e210c07d84f579b9add2d0fb985fed84f389897
5
5
  SHA512:
6
- metadata.gz: 66aff333fd33888da53d2e890045d7204db0e53740a543f13965ed554df29bab438f859f7baff4c898316bef1fc4ddf6fd1f8fbe41846aca10c07c70baf8be3b
7
- data.tar.gz: 91632b0563bf7d803ca5ef725b4917e1199d4e075c9f785a61a55de44c7dda7a03bcf14eeec3b95b1faeef541105a43d51747a5f6b032d1911f87e936e19fe74
6
+ metadata.gz: 415a80e1147a3e9309ec486ef583ebe9b2fc87f42c93fa5ffa6d4177281fdc476133d228a5a5d617842ab3644b8c507ac81067a427a84b53e5894b3cd1957bdb
7
+ data.tar.gz: 5f7418f133d9e1b75cad39761ee0290295611489c53f45537d9e3899034ad75908aa59a1bce6382a865111d1f9548544ddcbd7e3f83b847922635303cd8a408b
data/.gitignore CHANGED
@@ -40,3 +40,9 @@ bower.json
40
40
 
41
41
  # Ignore Byebug command history file.
42
42
  .byebug_history
43
+
44
+ # ignore gems
45
+ *.gem
46
+
47
+ # ignore Idea
48
+ .idea
@@ -0,0 +1,26 @@
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!!"
data/Gemfile ADDED
@@ -0,0 +1,8 @@
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'
8
+ gemspec
@@ -0,0 +1,204 @@
1
+ GIT
2
+ remote: https://github.com/opal/opal-jquery.git
3
+ revision: d15ca70f53cb323245c54842587b874945e1083e
4
+ branch: master
5
+ specs:
6
+ opal-jquery (0.4.2)
7
+ opal (>= 0.10.0, < 0.12.0)
8
+
9
+ PATH
10
+ remote: .
11
+ specs:
12
+ hyperloop (1.0.0.lap28)
13
+ hyperloop-config (= 1.0.0.lap28)
14
+ libv8 (~> 6.3.0)
15
+ mini_racer (~> 0.1.15)
16
+ opal-browser (~> 0.2.0)
17
+ rails (>= 4.0.0)
18
+ react-rails (>= 2.4.0, < 2.5.0)
19
+
20
+ GEM
21
+ remote: https://rubygems.org/
22
+ specs:
23
+ actioncable (5.2.1)
24
+ actionpack (= 5.2.1)
25
+ nio4r (~> 2.0)
26
+ websocket-driver (>= 0.6.1)
27
+ actionmailer (5.2.1)
28
+ actionpack (= 5.2.1)
29
+ actionview (= 5.2.1)
30
+ activejob (= 5.2.1)
31
+ mail (~> 2.5, >= 2.5.4)
32
+ rails-dom-testing (~> 2.0)
33
+ actionpack (5.2.1)
34
+ actionview (= 5.2.1)
35
+ activesupport (= 5.2.1)
36
+ rack (~> 2.0)
37
+ rack-test (>= 0.6.3)
38
+ rails-dom-testing (~> 2.0)
39
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
40
+ actionview (5.2.1)
41
+ activesupport (= 5.2.1)
42
+ builder (~> 3.1)
43
+ erubi (~> 1.4)
44
+ rails-dom-testing (~> 2.0)
45
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
46
+ activejob (5.2.1)
47
+ activesupport (= 5.2.1)
48
+ globalid (>= 0.3.6)
49
+ activemodel (5.2.1)
50
+ activesupport (= 5.2.1)
51
+ activerecord (5.2.1)
52
+ activemodel (= 5.2.1)
53
+ activesupport (= 5.2.1)
54
+ arel (>= 9.0)
55
+ activestorage (5.2.1)
56
+ actionpack (= 5.2.1)
57
+ activerecord (= 5.2.1)
58
+ marcel (~> 0.3.1)
59
+ activesupport (5.2.1)
60
+ concurrent-ruby (~> 1.0, >= 1.0.2)
61
+ i18n (>= 0.7, < 2)
62
+ minitest (~> 5.1)
63
+ tzinfo (~> 1.1)
64
+ archive-zip (0.11.0)
65
+ io-like (~> 0.3.0)
66
+ arel (9.0.0)
67
+ ast (2.4.0)
68
+ babel-source (5.8.35)
69
+ babel-transpiler (0.7.0)
70
+ babel-source (>= 4.0, < 6)
71
+ execjs (~> 2.0)
72
+ builder (3.2.3)
73
+ chromedriver-helper (1.2.0)
74
+ archive-zip (~> 0.10)
75
+ nokogiri (~> 1.8)
76
+ concurrent-ruby (1.0.5)
77
+ connection_pool (2.2.2)
78
+ crass (1.0.4)
79
+ erubi (1.7.1)
80
+ execjs (2.7.0)
81
+ faraday (0.15.2)
82
+ multipart-post (>= 1.2, < 3)
83
+ geminabox (1.1.0)
84
+ builder
85
+ faraday
86
+ httpclient (>= 2.2.7)
87
+ nesty
88
+ reentrant_flock
89
+ sinatra (>= 1.2.7)
90
+ globalid (0.4.1)
91
+ activesupport (>= 4.2.0)
92
+ hike (1.2.3)
93
+ httpclient (2.8.3)
94
+ hyperloop-config (1.0.0.lap28)
95
+ opal (>= 0.11.0, < 0.12.0)
96
+ opal-browser (~> 0.2.0)
97
+ uglifier
98
+ i18n (1.1.0)
99
+ concurrent-ruby (~> 1.0)
100
+ io-like (0.3.0)
101
+ libv8 (6.3.292.48.1)
102
+ loofah (2.2.2)
103
+ crass (~> 1.0.2)
104
+ nokogiri (>= 1.5.9)
105
+ mail (2.7.0)
106
+ mini_mime (>= 0.1.1)
107
+ marcel (0.3.2)
108
+ mimemagic (~> 0.3.2)
109
+ method_source (0.9.0)
110
+ mimemagic (0.3.2)
111
+ mini_mime (1.0.1)
112
+ mini_portile2 (2.3.0)
113
+ mini_racer (0.1.15)
114
+ libv8 (~> 6.3)
115
+ minitest (5.11.3)
116
+ multipart-post (2.0.0)
117
+ mustermann (1.0.2)
118
+ nesty (1.0.2)
119
+ nio4r (2.3.1)
120
+ nokogiri (1.8.4)
121
+ mini_portile2 (~> 2.3.0)
122
+ opal (0.11.1)
123
+ ast (>= 2.3.0)
124
+ hike (~> 1.2)
125
+ parser (= 2.3.3.1)
126
+ sourcemap (~> 0.1.0)
127
+ opal-browser (0.2.0)
128
+ opal
129
+ paggio
130
+ paggio (0.2.6)
131
+ parser (2.3.3.1)
132
+ ast (~> 2.2)
133
+ rack (2.0.5)
134
+ rack-protection (2.0.3)
135
+ rack
136
+ rack-test (1.1.0)
137
+ rack (>= 1.0, < 3)
138
+ rails (5.2.1)
139
+ actioncable (= 5.2.1)
140
+ actionmailer (= 5.2.1)
141
+ actionpack (= 5.2.1)
142
+ actionview (= 5.2.1)
143
+ activejob (= 5.2.1)
144
+ activemodel (= 5.2.1)
145
+ activerecord (= 5.2.1)
146
+ activestorage (= 5.2.1)
147
+ activesupport (= 5.2.1)
148
+ bundler (>= 1.3.0)
149
+ railties (= 5.2.1)
150
+ sprockets-rails (>= 2.0.0)
151
+ rails-dom-testing (2.0.3)
152
+ activesupport (>= 4.2.0)
153
+ nokogiri (>= 1.6)
154
+ rails-html-sanitizer (1.0.4)
155
+ loofah (~> 2.2, >= 2.2.2)
156
+ railties (5.2.1)
157
+ actionpack (= 5.2.1)
158
+ activesupport (= 5.2.1)
159
+ method_source
160
+ rake (>= 0.8.7)
161
+ thor (>= 0.19.0, < 2.0)
162
+ rake (12.3.1)
163
+ react-rails (2.4.7)
164
+ babel-transpiler (>= 0.7.0)
165
+ connection_pool
166
+ execjs
167
+ railties (>= 3.2)
168
+ tilt
169
+ reentrant_flock (0.1.1)
170
+ sinatra (2.0.3)
171
+ mustermann (~> 1.0)
172
+ rack (~> 2.0)
173
+ rack-protection (= 2.0.3)
174
+ tilt (~> 2.0)
175
+ sourcemap (0.1.1)
176
+ sprockets (3.7.2)
177
+ concurrent-ruby (~> 1.0)
178
+ rack (> 1, < 3)
179
+ sprockets-rails (3.2.1)
180
+ actionpack (>= 4.0)
181
+ activesupport (>= 4.0)
182
+ sprockets (>= 3.0.0)
183
+ thor (0.20.0)
184
+ thread_safe (0.3.6)
185
+ tilt (2.0.8)
186
+ tzinfo (1.2.5)
187
+ thread_safe (~> 0.1)
188
+ uglifier (4.1.18)
189
+ execjs (>= 0.3.0, < 3)
190
+ websocket-driver (0.7.0)
191
+ websocket-extensions (>= 0.1.0)
192
+ websocket-extensions (0.1.3)
193
+
194
+ PLATFORMS
195
+ ruby
196
+
197
+ DEPENDENCIES
198
+ chromedriver-helper
199
+ geminabox (>= 0.13.11)
200
+ hyperloop!
201
+ opal-jquery!
202
+
203
+ BUNDLED WITH
204
+ 1.16.1
data/README.md CHANGED
@@ -1,33 +1,52 @@
1
+ Install instructions for the latest lap (lap is hyperloop designation for release candidate):
2
+ ```
3
+ gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"
4
+
5
+ gem 'hyperloop', '~> 1.0.0.lap0'
6
+ gem 'hyper-spec', '~> 1.0.0.lap0'
7
+ ```
8
+
9
+ ### testing ruby-hyperloop gems
10
+ See, section **Testing Ruby-Hyperloop**
11
+ [https://github.com/janbiedermann/dciy](https://github.com/janbiedermann/dciy)
12
+
13
+
14
+ <div class="githubhyperloopheader">
15
+
1
16
  <p align="center">
2
- <a href="http://ruby-hyperloop.io/" alt="Hyperloop" title="Hyperloop">
3
- <img src="https://github.com/ruby-hyperloop/hyperloop/blob/master/hyperloop-logo-small-pink.png">
4
- </a>
17
+
18
+ <a href="http://ruby-hyperloop.io/" alt="Hyperloop" title="Hyperloop">
19
+ <img width="350px" src="http://ruby-hyperloop.io/images/hyperloop-github-logo.png">
20
+ </a>
21
+
5
22
  </p>
6
23
 
7
- <h1 align="center">
8
- Hyperloop
9
- </h1>
24
+ <h2 align="center">The Complete Isomorphic Ruby Framework</h2>
10
25
 
11
- <h3 align="center">The Complete Isomorphic Ruby Framework</h3>
26
+ <br>
12
27
 
13
- <p align="center">
28
+ <a href="http://ruby-hyperloop.io/" alt="Hyperloop" title="Hyperloop">
29
+ <img src="http://ruby-hyperloop.io/images/githubhyperloopbadge.png">
30
+ </a>
14
31
 
32
+ <a href="https://gitter.im/ruby-hyperloop/chat" alt="Gitter chat" title="Gitter chat">
33
+ <img src="http://ruby-hyperloop.io/images/githubgitterbadge.png">
34
+ </a>
15
35
 
16
- ### Simplicity
17
- Build interactive Web applications quickly. **Hyperloop** encourages rapid development with clean, pragmatic design. With developer productivity as our highest goal, **Hyperloop** takes care of much of the hassle of Web development, so you can focus on innovation and delivering end-user value.
36
+ </div>
18
37
 
19
- ### Isomorphic Ruby
20
- One language. One model. One set of tests. The same business logic and domain models running on the clients and the server. Hyperloop is fully integrated with Rails and also gives you unfettered access to the complete universe of JavaScript libraries (including React) from within your Ruby code. Hyperloop lets you build beautiful interactive user interfaces in Ruby.
38
+ ## Hyperloop GEM
21
39
 
22
- ### Complete Architecture
23
- Everything has a place in our architecture. **C**omponents deliver interactive user experiences, **O**perations encapsulate business logic, **M**odels magically synchronize data between clients and servers, **P**olicies govern authorization and **S**tores hold local state.
40
+ Build interactive Web applications quickly. Hyperloop encourages rapid development with clean, pragmatic design. With developer productivity as our highest goal, Hyperloop takes care of much of the hassle of Web development, so you can focus on innovation and delivering end-user value.
24
41
 
25
- </p>
42
+ One language. One model. One set of tests. The same business logic and domain models running on the clients and the server. Hyperloop is fully integrated with Rails and also gives you unfettered access to the complete universe of JavaScript libraries (including React) from within your Ruby code. Hyperloop lets you build beautiful interactive user interfaces in Ruby.
43
+
44
+ Everything has a place in our architecture. Components deliver interactive user experiences, Operations encapsulate business logic, Models magically synchronize data between clients and servers, Policies govern authorization and Stores hold local state.
26
45
 
27
46
  ## Getting Started
28
47
 
29
48
  1. Update your Gemfile:
30
-
49
+
31
50
  ```ruby
32
51
  #Gemfile
33
52
 
@@ -52,3 +71,4 @@ gem 'hyperloop'
52
71
  ## License
53
72
 
54
73
  Hyperloop is released under the [MIT License](http://www.opensource.org/licenses/MIT).
74
+
@@ -0,0 +1,15 @@
1
+ require './tasks/gems'
2
+ require './tasks/git'
3
+ require './tasks/version'
4
+
5
+ HYPERLOOP_REPOS =%w[hyper-component hyper-console hyper-mesh hyper-model hyper-operation hyper-react
6
+ hyper-router hyper-spec hyper-store hyperloop hyperloop-config]
7
+
8
+ task :default do
9
+ # show usage
10
+ end
11
+
12
+ namespace :spec do
13
+ task :prepare do
14
+ end
15
+ end
@@ -3,32 +3,35 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'hyperloop/version'
5
5
 
6
- Gem::Specification.new do |s|
7
- s.name = 'hyperloop'
8
- s.version = Hyperloop::VERSION
9
- s.summary = 'Hyperloop stack and generators for Rails'
10
- s.description = 'This gem provide the full hyperloop stack for rails plus generators for Hyperloop elements'
11
- s.authors = ['Loic Boutet', 'Adam George', 'Mitch VanDuyn']
12
- s.email = 'loic@boutet.com'
13
- s.homepage = "http://ruby-hyperloop.io"
14
- s.license = "MIT"
15
- s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
- # s.files = ['lib/hyper-rails.rb',
17
- # 'lib/generators/hyperloop/install_generator.rb',
18
- # 'lib/generators/hyperloop/component_generator.rb',
19
- # 'lib/generators/hyperloop/router_generator.rb',
20
- # 'lib/generators/hyperloop/templates/component_template.rb',
21
- # 'lib/generators/hyperloop/templates/router_template.rb']
22
- s.license = 'MIT'
23
- s.require_paths = ["lib"]
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'hyperloop'
8
+ spec.version = Hyperloop::VERSION
9
+ spec.summary = 'Hyperloop stack and generators for Rails'
10
+ spec.description = 'This gem provide the full hyperloop stack for rails plus generators for Hyperloop elements'
11
+ spec.authors = ['Loic Boutet', 'Adam George', 'Mitch VanDuyn', 'Jan Biedermann']
12
+ spec.email = ['loic@boutet.com', 'jan@kursator.com']
13
+ spec.homepage = 'http://ruby-hyperloop.org'
14
+ spec.license = 'MIT'
15
+ # spec.metadata = {
16
+ # "homepage_uri" => 'http://ruby-hyperloop.org',
17
+ # "source_code_uri" => 'https://github.com/ruby-hyperloop/hyper-component'
18
+ # }
19
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(tasks)/}) }
20
+ spec.require_paths = ['lib']
24
21
 
25
- s.add_dependency 'hyper-model'
26
- # react_router_rails not working with rails 5.1 so we are apulling it for now.
27
- s.add_dependency 'hyper-router', '>= 4.0.0'
28
- # s.add_dependency 'react-router-rails', '~> 0.13.3'
29
- s.add_dependency 'opal-rails', '>= 0.8.1'
30
- s.add_dependency 'opal-browser'
31
- s.add_dependency 'react-rails', '~> 1.9.0'
32
- s.add_dependency 'therubyracer'
33
- s.add_runtime_dependency 'rails', '>= 4.0.0'
22
+ # temporarily moved to installer until opal-jquery version issue is fixed
23
+ spec.add_dependency 'hyper-model', Hyperloop::VERSION
24
+ 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
29
+ spec.add_dependency 'opal-browser', '~> 0.2.0'
30
+ spec.add_dependency 'react-rails', '>= 2.4.0', '< 2.5.0'
31
+ spec.add_dependency 'mini_racer', '~> 0.1.15'
32
+ # https://github.com/discourse/mini_racer/issues/92
33
+ spec.add_dependency 'libv8', '~> 6.3.0'
34
+ spec.add_dependency 'rails', '>= 4.0.0'
35
+ spec.add_development_dependency 'chromedriver-helper'
36
+ spec.add_development_dependency 'geminabox', '>= 0.13.11'
34
37
  end
@@ -9,7 +9,7 @@ module Hyper
9
9
  component_array = component.split('::')
10
10
  @modules = component_array[0..-2]
11
11
  @file_name = component_array.last
12
- @indet = 1
12
+ @indent = 0
13
13
  template 'component_template.rb',
14
14
  File.join('app/hyperloop/components',
15
15
  @modules.map(&:downcase).join('/'),
@@ -1,19 +1,23 @@
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
- # @indet = 1
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
+ 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,41 +1,40 @@
1
-
2
- <%- @modules.each do |module_name| %><%= " "* @indet %>module <%= module_name.camelize %><%- @indet += 1 %>
3
- <%- end %><%=" "* @indet %>class <%= @file_name %> < Hyperloop::Component
4
-
5
- <%=" "* @indet %># param :my_param
6
- <%=" "* @indet %># param param_with_default: "default value"
7
- <%=" "* @indet %># param :param_with_default2, default: "default value" # alternative syntax
8
- <%=" "* @indet %># param :param_with_type, type: Hash
9
- <%=" "* @indet %># param :array_of_hashes, type: [Hash]
10
- <%=" "* @indet %># collect_other_params_as :attributes # collects all other params into a hash
11
-
12
- <%=" "* @indet %># The following are the most common lifecycle call backs,
13
- <%=" "* @indet %># the following are the most common lifecycle call backs# delete any that you are not using.
14
- <%=" "* @indet %># call backs may also reference an instance method i.e. before_mount :my_method
15
-
16
- <%=" "* @indet %>before_mount do
17
- <%=" "* @indet %> # any initialization particularly of state variables goes here.
18
- <%=" "* @indet %> # this will execute on server (prerendering) and client.
19
- <%=" "* @indet %>end
20
-
21
- <%=" "* @indet %>after_mount do
22
- <%=" "* @indet %> # any client only post rendering initialization goes here.
23
- <%=" "* @indet %> # i.e. start timers, HTTP requests, and low level jquery operations etc.
24
- <%=" "* @indet %>end
25
-
26
- <%=" "* @indet %>before_update do
27
- <%=" "* @indet %> # called whenever a component will be re-rerendered
28
- <%=" "* @indet %>end
29
-
30
- <%=" "* @indet %>before_unmount do
31
- <%=" "* @indet %> # cleanup any thing (i.e. timers) before component is destroyed
32
- <%=" "* @indet %>end
33
-
34
- <%=" "* @indet %>def render
35
- <%=" "* @indet %> DIV do
36
- <%=" "* @indet %> "<%= (@modules+[@file_name]).join('::') %>"
37
- <%=" "* @indet %> end
38
- <%=" "* @indet %>end
39
- <%=" "* @indet %>end
40
- <%- @modules.each do %><%- @indet -= 1 %><%=" "* @indet %>end
41
- <%- end %>
1
+ <%- @modules.each do |module_name| %><%= " "* @indent %>module <%= module_name.camelize %><%- @indent += 1 %>
2
+ <%- end %><%=" "* @indent %>class <%= @file_name %> < Hyperloop::Component
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
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
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
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
24
+
25
+ <%=" "* @indent %> before_update do
26
+ <%=" "* @indent %> # called whenever a component will be re-rerendered
27
+ <%=" "* @indent %> end
28
+
29
+ <%=" "* @indent %> before_unmount do
30
+ <%=" "* @indent %> # cleanup any thing (i.e. timers) before component is destroyed
31
+ <%=" "* @indent %> end
32
+
33
+ <%=" "* @indent %> render do
34
+ <%=" "* @indent %> DIV do
35
+ <%=" "* @indent %> "<%= (@modules+[@file_name]).join('::') %>"
36
+ <%=" "* @indent %> end
37
+ <%=" "* @indent %> end
38
+ <%=" "* @indent %>end
39
+ <%- @modules.each do %><%- @indent -= 1 %><%=" "* @indent %>end
40
+ <%- end %>
@@ -1,44 +1,17 @@
1
- module Components
2
- <%- @modules.each do |module_name| %><%= " "* @indet %>module <%= module_name.camelize %><%- @indet += 1 %>
3
- <%- end %><%=" "* @indet %>class <%= @file_name %>
4
-
5
- <%=" "* @indet %>include React::Router
6
-
7
- <%=" "* @indet %>routes(path: "/") do # change path to be the base path
8
- <%=" "* @indet %> # you will probably want to update your config/routes.rb file so that it matches all
9
- <%=" "* @indet %> # subroutes: i.e. get '(*subroutes)' => "<%= (@modules.last || 'home').underscore %>#<%= @file_name.underscore %>"
10
- <%=" "* @indet %> # basic route has:
11
- <%=" "* @indet %> # a path
12
- <%=" "* @indet %> # a name - used to reference the route in methods like redirect, and link)
13
- <%=" "* @indet %> # a handler - the component that will be mounted on this route
14
- <%=" "* @indet %> route(path: "subroute1-path", name: :subroute1, handler: Subroute1Component)
15
- <%=" "* @indet %> route(path: "subroute2-path", name: :subroute2, handler: Subroute2Component)
16
- <%=" "* @indet %> # routes can take parameters designated with a colon:
17
- <%=" "* @indet %> route(path: "subroute3-path/:user_id", name: subroute3, handler: Subroute3Component)
18
- <%=" "* @indet %> # the redirect method will transition any incoming matching routes to a new route
19
- <%=" "* @indet %> redirect(from: "/", to: :subroute1)
20
- <%=" "* @indet %> # the not_found method indicates which component to load if no route matches:
21
- <%=" "* @indet %> not_found(handler: NotFound)
22
- <%=" "* @indet %>end
23
-
24
- <%=" "* @indet %>router_param :user_id, as: :user do |id|
25
- <%=" "* @indet %> # Translate incoming route params to internal values.
26
- <%=" "* @indet %> # In this case we will refer to the translated user_id as user.
27
- <%=" "* @indet %> # The block param (id) will have the value of the param.
28
- <%=" "* @indet %> # This is useful for looking up ActiveRecord models by ids, etc.
29
- <%=" "* @indet %>end
30
-
31
- <%=" "* @indet %>def show # note that the top level router has a show method NOT render
32
- <%=" "* @indet %> DIV do
33
- <%=" "* @indet %> # content to display on every route
34
- <%=" "* @indet %> # link generates an anchor tag.
35
- <%=" "* @indet %> link(to: :subroute3, params: {user_id: 12}, class: "link-class") { "Click to go to subroute3" }
36
- <%=" "* @indet %> # within an event handler use transition_to to move to a new route
37
- <%=" "* @indet %> # the route_handler method will display the current route, it can be called in the
38
- <%=" "* @indet %> # router, or in some child component.
39
- <%=" "* @indet %> route_handler
40
- <%=" "* @indet %> end
41
- <%=" "* @indet %>end
42
- <%=" "* @indet %>end
43
- <%- @modules.each do %><%- @indet -= 1 %><%=" "* @indet %>end
44
- <%- end %>end
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
15
+ <%=" "* @indent %>end
16
+ <%- @modules.each do %><%- @indent -= 1 %><%=" "* @indent %>end
17
+ <%- end %>
@@ -0,0 +1,73 @@
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,21 +1,29 @@
1
- require 'rails/generators'
1
+ require_relative 'install_generator_base'
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
+
5
19
  def inject_react_file_js
6
20
  append_file 'app/assets/javascripts/application.js' do
7
21
  <<-'JS'
8
- //= require jquery
9
- //= require jquery_ujs
10
22
  //= require hyperloop-loader
11
23
  JS
12
24
  end
13
25
  end
14
26
 
15
- def inject_engine_to_routes
16
- route 'mount Hyperloop::Engine => \'/hyperloop\''
17
- end
18
-
19
27
  def create_hyperloop_directories
20
28
  create_file 'app/hyperloop/components/.keep', ''
21
29
  create_file 'app/hyperloop/operations/.keep', ''
@@ -23,6 +31,18 @@ module Hyperloop
23
31
  create_file 'app/hyperloop/models/.keep', ''
24
32
  end
25
33
 
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
+
26
46
  def create_policies_directory
27
47
  create_file 'app/policies/application_policy.rb', <<-RUBY
28
48
  # app/policies/application_policy
@@ -38,23 +58,124 @@ class Hyperloop::ApplicationPolicy
38
58
  regulate_all_broadcasts { |policy| policy.send_all }
39
59
  # Allow all changes to public models
40
60
  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
41
64
  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
42
96
  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'
43
109
  end
44
110
 
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
+
45
124
  def create_initializer
46
125
  create_file 'config/initializers/hyperloop.rb', <<-RUBY
47
126
  # config/initializers/hyperloop.rb
48
127
  # If you are not using ActionCable, see http://ruby-hyperloop.io/docs/models/configuring-transport/
49
128
  Hyperloop.configuration do |config|
50
- config.transport = :action_cable
51
- config.import 'reactrb/auto-import'
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 'opal-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']}
52
135
  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
53
143
 
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)
54
153
  RUBY
154
+ end
155
+ gem_group :development do
156
+ gem 'opal_hot_reloader'
157
+ gem 'foreman'
158
+ end
55
159
  end
56
160
 
57
161
  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)
58
179
  end
59
180
  end
60
181
  end
@@ -0,0 +1,23 @@
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
@@ -0,0 +1,52 @@
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
@@ -1,17 +1,27 @@
1
1
  require 'hyperloop-config'
2
2
  require 'rails/generators'
3
- require 'hyper-model'
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 ...
4
10
 
5
11
  Hyperloop.import 'reactrb/auto-import'
6
12
  Hyperloop.import 'hyper-router'
13
+ Hyperloop.import 'hyper-model'
7
14
 
8
15
  require 'generators/hyperloop/install_generator'
9
16
  require 'generators/hyper/component_generator'
10
17
  require 'generators/hyper/router_generator'
11
- require 'opal-rails'
18
+ begin
19
+ require 'opal-rails'
20
+ require 'hyper-model'
21
+ require 'hyper-router'
22
+ rescue LoadError
23
+ end
12
24
  require 'react-rails'
13
- require 'hyper-model'
14
25
  require 'opal-browser'
15
- require 'therubyracer'
16
- require 'hyper-router'
26
+ require 'mini_racer'
17
27
  require 'hyperloop/version'
@@ -1,3 +1,4 @@
1
1
  module Hyperloop
2
- VERSION = '0.5.8'
2
+ VERSION = '0.99.0'
3
+ ROUTERVERSION = '4.2.6.lap28'
3
4
  end
metadata CHANGED
@@ -1,101 +1,122 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.99.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loic Boutet
8
8
  - Adam George
9
9
  - Mitch VanDuyn
10
+ - Jan Biedermann
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2017-07-17 00:00:00.000000000 Z
14
+ date: 2018-09-24 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: hyper-model
17
18
  requirement: !ruby/object:Gem::Requirement
18
19
  requirements:
19
- - - ">="
20
+ - - '='
20
21
  - !ruby/object:Gem::Version
21
- version: '0'
22
+ version: 0.99.0
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
26
  requirements:
26
- - - ">="
27
+ - - '='
27
28
  - !ruby/object:Gem::Version
28
- version: '0'
29
+ version: 0.99.0
29
30
  - !ruby/object:Gem::Dependency
30
31
  name: hyper-router
31
32
  requirement: !ruby/object:Gem::Requirement
32
33
  requirements:
33
- - - ">="
34
+ - - '='
34
35
  - !ruby/object:Gem::Version
35
- version: 4.0.0
36
+ version: 4.2.6.lap28
36
37
  type: :runtime
37
38
  prerelease: false
38
39
  version_requirements: !ruby/object:Gem::Requirement
39
40
  requirements:
40
- - - ">="
41
+ - - '='
41
42
  - !ruby/object:Gem::Version
42
- version: 4.0.0
43
+ version: 4.2.6.lap28
43
44
  - !ruby/object:Gem::Dependency
44
45
  name: opal-rails
45
46
  requirement: !ruby/object:Gem::Requirement
46
47
  requirements:
47
- - - ">="
48
+ - - "~>"
48
49
  - !ruby/object:Gem::Version
49
- version: 0.8.1
50
+ version: 0.9.4
50
51
  type: :runtime
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
- - - ">="
55
+ - - "~>"
55
56
  - !ruby/object:Gem::Version
56
- version: 0.8.1
57
+ version: 0.9.4
57
58
  - !ruby/object:Gem::Dependency
58
59
  name: opal-browser
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: 0.2.0
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: 0.2.0
72
+ - !ruby/object:Gem::Dependency
73
+ name: react-rails
59
74
  requirement: !ruby/object:Gem::Requirement
60
75
  requirements:
61
76
  - - ">="
62
77
  - !ruby/object:Gem::Version
63
- version: '0'
78
+ version: 2.4.0
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: 2.5.0
64
82
  type: :runtime
65
83
  prerelease: false
66
84
  version_requirements: !ruby/object:Gem::Requirement
67
85
  requirements:
68
86
  - - ">="
69
87
  - !ruby/object:Gem::Version
70
- version: '0'
88
+ version: 2.4.0
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: 2.5.0
71
92
  - !ruby/object:Gem::Dependency
72
- name: react-rails
93
+ name: mini_racer
73
94
  requirement: !ruby/object:Gem::Requirement
74
95
  requirements:
75
96
  - - "~>"
76
97
  - !ruby/object:Gem::Version
77
- version: 1.9.0
98
+ version: 0.1.15
78
99
  type: :runtime
79
100
  prerelease: false
80
101
  version_requirements: !ruby/object:Gem::Requirement
81
102
  requirements:
82
103
  - - "~>"
83
104
  - !ruby/object:Gem::Version
84
- version: 1.9.0
105
+ version: 0.1.15
85
106
  - !ruby/object:Gem::Dependency
86
- name: therubyracer
107
+ name: libv8
87
108
  requirement: !ruby/object:Gem::Requirement
88
109
  requirements:
89
- - - ">="
110
+ - - "~>"
90
111
  - !ruby/object:Gem::Version
91
- version: '0'
112
+ version: 6.3.0
92
113
  type: :runtime
93
114
  prerelease: false
94
115
  version_requirements: !ruby/object:Gem::Requirement
95
116
  requirements:
96
- - - ">="
117
+ - - "~>"
97
118
  - !ruby/object:Gem::Version
98
- version: '0'
119
+ version: 6.3.0
99
120
  - !ruby/object:Gem::Dependency
100
121
  name: rails
101
122
  requirement: !ruby/object:Gem::Requirement
@@ -110,26 +131,62 @@ dependencies:
110
131
  - - ">="
111
132
  - !ruby/object:Gem::Version
112
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
+ - !ruby/object:Gem::Dependency
149
+ name: geminabox
150
+ requirement: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 0.13.11
155
+ type: :development
156
+ prerelease: false
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 0.13.11
113
162
  description: This gem provide the full hyperloop stack for rails plus generators for
114
163
  Hyperloop elements
115
- email: loic@boutet.com
164
+ email:
165
+ - loic@boutet.com
166
+ - jan@kursator.com
116
167
  executables: []
117
168
  extensions: []
118
169
  extra_rdoc_files: []
119
170
  files:
120
171
  - ".gitignore"
172
+ - ".travis.yml"
173
+ - Gemfile
174
+ - Gemfile.lock
121
175
  - LICENSE
122
176
  - README.md
123
- - hyperloop-logo-small-pink.png
177
+ - Rakefile
124
178
  - hyperloop.gemspec
125
179
  - lib/generators/hyper/component_generator.rb
126
180
  - lib/generators/hyper/router_generator.rb
127
181
  - lib/generators/hyper/templates/component_template.rb
128
182
  - lib/generators/hyper/templates/router_template.rb
183
+ - lib/generators/hyperloop/install_bootstrap_generator.rb
129
184
  - lib/generators/hyperloop/install_generator.rb
185
+ - lib/generators/hyperloop/install_generator_base.rb
186
+ - lib/generators/hyperloop/install_mui_generator.rb
130
187
  - lib/hyperloop.rb
131
188
  - lib/hyperloop/version.rb
132
- homepage: http://ruby-hyperloop.io
189
+ homepage: http://ruby-hyperloop.org
133
190
  licenses:
134
191
  - MIT
135
192
  metadata: {}
@@ -149,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
206
  version: '0'
150
207
  requirements: []
151
208
  rubyforge_project:
152
- rubygems_version: 2.6.11
209
+ rubygems_version: 2.7.7
153
210
  signing_key:
154
211
  specification_version: 4
155
212
  summary: Hyperloop stack and generators for Rails