hyperloop-config 0.9.11 → 0.99.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +7 -1
- data/.travis.yml +29 -0
- data/DOCS.md +45 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +299 -0
- data/README.md +58 -30
- data/Rakefile +9 -0
- data/hyperloop-config.gemspec +32 -26
- data/lib/hyperloop/active_support_string_inquirer.rb +32 -0
- data/lib/hyperloop/autoloader.rb +138 -0
- data/lib/hyperloop/autoloader_starter.rb +15 -0
- data/lib/hyperloop/config/version.rb +5 -0
- data/lib/hyperloop/env.rb +10 -0
- data/lib/hyperloop/environment/development/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/production/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/staging/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/test/hyperloop_env.rb +5 -0
- data/lib/hyperloop/imports.rb +35 -50
- data/lib/hyperloop/js_imports.rb +18 -0
- data/lib/hyperloop/on_error.rb +5 -0
- data/lib/hyperloop/rail_tie.rb +35 -12
- data/lib/hyperloop/string.rb +6 -0
- data/lib/hyperloop-config.rb +18 -0
- data/lib/hyperloop-loader.js +1 -1
- data/lib/hyperloop-prerender-loader.js +1 -1
- metadata +127 -38
- data/CODE_OF_CONDUCT.md +0 -49
- data/LICENSE.txt +0 -21
- data/lib/hyperloop-loader-system.js.erb +0 -1
- data/lib/hyperloop-prerender-loader-system.js.erb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f67cc85531658db7663ebfbe6f903bbf062130f7b4fe37f9c13c655ba8742a5b
|
4
|
+
data.tar.gz: f2c02d72156b3d3996e5ba4885084169db748fb8b7295a0251a3871d593c08ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3c2651fd8dab1f5f757f7e9ba025298fd7f48075916146eebc2294a75bbdee2583cc2160d3c68bad8c3a2380a0cc9162370ded2532e4093815a00dba058480b
|
7
|
+
data.tar.gz: 377aa986d1e1609c385f7c699469f654b5becf6dacacabfc6abca6de20c0417edce4fd182c02ab36489c8fb110a9f77e1b6ad170a2f3032dc86e839f01433087
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,29 @@
|
|
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
|
+
- cd spec/test_app
|
21
|
+
- bundle install --jobs=3 --retry=3
|
22
|
+
- bundle exec rails db:setup
|
23
|
+
- cd ../../
|
24
|
+
- if [[ "$DRIVER" == "google-chrome" ]]; then bundle exec chromedriver-update; fi
|
25
|
+
- if [[ "$DRIVER" == "google-chrome" ]]; then ls -lR ~/.chromedriver-helper/; fi
|
26
|
+
- if [[ "$DRIVER" == "google-chrome" ]]; then bundle exec chromedriver --version; fi
|
27
|
+
- if [[ "$DRIVER" == "google-chrome" ]]; then google-chrome --version; fi
|
28
|
+
- if [[ "$DRIVER" == "google-chrome" ]]; then which google-chrome; fi
|
29
|
+
script: bundle exec rspec
|
data/DOCS.md
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Hyperloop::Configuration
|
2
|
+
|
3
|
+
This gem is used internally by other [Hyperloop](http://ruby-hyperloop.io) gems for keeping config settings, and for registering client side autoload requirements.
|
4
|
+
|
5
|
+
To indicate gems to be autoloaded on client side:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
require 'hyperloop-config'
|
9
|
+
Hyperloop.import 'my-gem-name'
|
10
|
+
Hyperloop.imports 'my-gem-name' # same as above
|
11
|
+
Hyperloop.import 'my-gem-name', server_only: true
|
12
|
+
Hyperloop.import 'my-gem-name', client_only: true
|
13
|
+
Hyperloop.import 'path', tree: true # same as saying require_tree 'path' in a manifest file
|
14
|
+
Hyperloop.import_tree 'path' # same as above
|
15
|
+
Hyperloop.import 'asset_name' # same as saying require 'asset_name' in a manifest file
|
16
|
+
```
|
17
|
+
|
18
|
+
Once a gem file spec does a `Hyperloop.import` the listed gem will be automatically added to the `hyperloop-loader` manifest. This means all you do is add a gem
|
19
|
+
to rails, and it will get sent on to the client (plus any other dependencies you care to require.)
|
20
|
+
|
21
|
+
The require method can be used in the hyperloop initializer as well to add code to the manifest (i.e. add a gem to that is not using Hyperloop.import)
|
22
|
+
|
23
|
+
To define an initializer:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
module Hyperloop
|
27
|
+
on_config_reset do
|
28
|
+
# anything you want to run when initialization begins
|
29
|
+
end
|
30
|
+
|
31
|
+
on_config_initialized do
|
32
|
+
# anything you want when initialization completes
|
33
|
+
end
|
34
|
+
|
35
|
+
define_setting :default_prerendering_mode, :on
|
36
|
+
|
37
|
+
define_setting(:transport, :none) do |transport|
|
38
|
+
# value of transport is whatever the user set in the initializer,
|
39
|
+
# you do what you want here...
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
## License
|
44
|
+
|
45
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,299 @@
|
|
1
|
+
GIT
|
2
|
+
remote: https://github.com/opal/opal-jquery.git
|
3
|
+
revision: 6249dfaf406ecd7199079b4f4d9dc67cfdf4d602
|
4
|
+
branch: master
|
5
|
+
specs:
|
6
|
+
opal-jquery (0.4.3)
|
7
|
+
opal (>= 0.10.0, < 0.12.0)
|
8
|
+
|
9
|
+
PATH
|
10
|
+
remote: ../hyper-spec
|
11
|
+
specs:
|
12
|
+
hyper-spec (1.0.0.lap28)
|
13
|
+
capybara
|
14
|
+
chromedriver-helper
|
15
|
+
libv8 (~> 6.3.0)
|
16
|
+
method_source
|
17
|
+
mini_racer (~> 0.1.15)
|
18
|
+
opal (>= 0.11.0, < 0.12.0)
|
19
|
+
parser (>= 2.3.3.1)
|
20
|
+
pry
|
21
|
+
rspec-rails
|
22
|
+
selenium-webdriver
|
23
|
+
timecop (~> 0.8.1)
|
24
|
+
uglifier
|
25
|
+
unparser
|
26
|
+
webdrivers
|
27
|
+
|
28
|
+
PATH
|
29
|
+
remote: .
|
30
|
+
specs:
|
31
|
+
hyperloop-config (1.0.0.lap28)
|
32
|
+
libv8 (~> 6.3.0)
|
33
|
+
mini_racer (~> 0.1.15)
|
34
|
+
opal (>= 0.11.0, < 0.12.0)
|
35
|
+
opal-browser (~> 0.2.0)
|
36
|
+
uglifier
|
37
|
+
|
38
|
+
GEM
|
39
|
+
remote: https://rubygems.org/
|
40
|
+
specs:
|
41
|
+
abstract_type (0.0.7)
|
42
|
+
actioncable (5.2.1)
|
43
|
+
actionpack (= 5.2.1)
|
44
|
+
nio4r (~> 2.0)
|
45
|
+
websocket-driver (>= 0.6.1)
|
46
|
+
actionmailer (5.2.1)
|
47
|
+
actionpack (= 5.2.1)
|
48
|
+
actionview (= 5.2.1)
|
49
|
+
activejob (= 5.2.1)
|
50
|
+
mail (~> 2.5, >= 2.5.4)
|
51
|
+
rails-dom-testing (~> 2.0)
|
52
|
+
actionpack (5.2.1)
|
53
|
+
actionview (= 5.2.1)
|
54
|
+
activesupport (= 5.2.1)
|
55
|
+
rack (~> 2.0)
|
56
|
+
rack-test (>= 0.6.3)
|
57
|
+
rails-dom-testing (~> 2.0)
|
58
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
59
|
+
actionview (5.2.1)
|
60
|
+
activesupport (= 5.2.1)
|
61
|
+
builder (~> 3.1)
|
62
|
+
erubi (~> 1.4)
|
63
|
+
rails-dom-testing (~> 2.0)
|
64
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
65
|
+
activejob (5.2.1)
|
66
|
+
activesupport (= 5.2.1)
|
67
|
+
globalid (>= 0.3.6)
|
68
|
+
activemodel (5.2.1)
|
69
|
+
activesupport (= 5.2.1)
|
70
|
+
activerecord (5.2.1)
|
71
|
+
activemodel (= 5.2.1)
|
72
|
+
activesupport (= 5.2.1)
|
73
|
+
arel (>= 9.0)
|
74
|
+
activestorage (5.2.1)
|
75
|
+
actionpack (= 5.2.1)
|
76
|
+
activerecord (= 5.2.1)
|
77
|
+
marcel (~> 0.3.1)
|
78
|
+
activesupport (5.2.1)
|
79
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
80
|
+
i18n (>= 0.7, < 2)
|
81
|
+
minitest (~> 5.1)
|
82
|
+
tzinfo (~> 1.1)
|
83
|
+
adamantium (0.2.0)
|
84
|
+
ice_nine (~> 0.11.0)
|
85
|
+
memoizable (~> 0.4.0)
|
86
|
+
addressable (2.5.2)
|
87
|
+
public_suffix (>= 2.0.2, < 4.0)
|
88
|
+
archive-zip (0.11.0)
|
89
|
+
io-like (~> 0.3.0)
|
90
|
+
arel (9.0.0)
|
91
|
+
ast (2.4.0)
|
92
|
+
builder (3.2.3)
|
93
|
+
capybara (3.7.2)
|
94
|
+
addressable
|
95
|
+
mini_mime (>= 0.1.3)
|
96
|
+
nokogiri (~> 1.8)
|
97
|
+
rack (>= 1.6.0)
|
98
|
+
rack-test (>= 0.6.3)
|
99
|
+
xpath (~> 3.1)
|
100
|
+
childprocess (0.9.0)
|
101
|
+
ffi (~> 1.0, >= 1.0.11)
|
102
|
+
chromedriver-helper (1.2.0)
|
103
|
+
archive-zip (~> 0.10)
|
104
|
+
nokogiri (~> 1.8)
|
105
|
+
coderay (1.1.2)
|
106
|
+
concord (0.1.5)
|
107
|
+
adamantium (~> 0.2.0)
|
108
|
+
equalizer (~> 0.0.9)
|
109
|
+
concurrent-ruby (1.0.5)
|
110
|
+
crass (1.0.4)
|
111
|
+
diff-lcs (1.3)
|
112
|
+
equalizer (0.0.11)
|
113
|
+
erubi (1.7.1)
|
114
|
+
execjs (2.7.0)
|
115
|
+
ffi (1.9.25)
|
116
|
+
globalid (0.4.1)
|
117
|
+
activesupport (>= 4.2.0)
|
118
|
+
hike (1.2.3)
|
119
|
+
i18n (1.1.0)
|
120
|
+
concurrent-ruby (~> 1.0)
|
121
|
+
ice_nine (0.11.2)
|
122
|
+
io-like (0.3.0)
|
123
|
+
jquery-rails (4.3.3)
|
124
|
+
rails-dom-testing (>= 1, < 3)
|
125
|
+
railties (>= 4.2.0)
|
126
|
+
thor (>= 0.14, < 2.0)
|
127
|
+
libv8 (6.3.292.48.1)
|
128
|
+
loofah (2.2.2)
|
129
|
+
crass (~> 1.0.2)
|
130
|
+
nokogiri (>= 1.5.9)
|
131
|
+
mail (2.7.0)
|
132
|
+
mini_mime (>= 0.1.1)
|
133
|
+
marcel (0.3.2)
|
134
|
+
mimemagic (~> 0.3.2)
|
135
|
+
memoizable (0.4.2)
|
136
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
137
|
+
method_source (0.9.0)
|
138
|
+
mimemagic (0.3.2)
|
139
|
+
mini_mime (1.0.1)
|
140
|
+
mini_portile2 (2.3.0)
|
141
|
+
mini_racer (0.1.15)
|
142
|
+
libv8 (~> 6.3)
|
143
|
+
minitest (5.11.3)
|
144
|
+
nio4r (2.3.1)
|
145
|
+
nokogiri (1.8.4)
|
146
|
+
mini_portile2 (~> 2.3.0)
|
147
|
+
opal (0.11.3)
|
148
|
+
ast (>= 2.3.0)
|
149
|
+
hike (~> 1.2)
|
150
|
+
parser (= 2.3.3.1)
|
151
|
+
sourcemap (~> 0.1.0)
|
152
|
+
opal-activesupport (0.3.1)
|
153
|
+
opal (>= 0.5.0, < 1.0.0)
|
154
|
+
opal-browser (0.2.0)
|
155
|
+
opal
|
156
|
+
paggio
|
157
|
+
opal-rails (0.9.5)
|
158
|
+
jquery-rails
|
159
|
+
opal (>= 0.11.0, < 0.12)
|
160
|
+
opal-activesupport (>= 0.0.5)
|
161
|
+
opal-jquery (~> 0.4.0)
|
162
|
+
opal-sprockets (~> 0.4.2)
|
163
|
+
rails (>= 4.1, < 6.0)
|
164
|
+
sprockets-rails (>= 2.3.3, < 4.0)
|
165
|
+
opal-sprockets (0.4.2.0.11.0.3.1)
|
166
|
+
opal (~> 0.11.0)
|
167
|
+
sprockets (~> 3.1)
|
168
|
+
tilt (>= 1.4)
|
169
|
+
paggio (0.2.6)
|
170
|
+
parallel (1.12.1)
|
171
|
+
parser (2.3.3.1)
|
172
|
+
ast (~> 2.2)
|
173
|
+
powerpack (0.1.2)
|
174
|
+
procto (0.0.3)
|
175
|
+
pry (0.11.3)
|
176
|
+
coderay (~> 1.1.0)
|
177
|
+
method_source (~> 0.9.0)
|
178
|
+
public_suffix (3.0.3)
|
179
|
+
puma (3.12.0)
|
180
|
+
rack (2.0.5)
|
181
|
+
rack-test (1.1.0)
|
182
|
+
rack (>= 1.0, < 3)
|
183
|
+
rails (5.2.1)
|
184
|
+
actioncable (= 5.2.1)
|
185
|
+
actionmailer (= 5.2.1)
|
186
|
+
actionpack (= 5.2.1)
|
187
|
+
actionview (= 5.2.1)
|
188
|
+
activejob (= 5.2.1)
|
189
|
+
activemodel (= 5.2.1)
|
190
|
+
activerecord (= 5.2.1)
|
191
|
+
activestorage (= 5.2.1)
|
192
|
+
activesupport (= 5.2.1)
|
193
|
+
bundler (>= 1.3.0)
|
194
|
+
railties (= 5.2.1)
|
195
|
+
sprockets-rails (>= 2.0.0)
|
196
|
+
rails-dom-testing (2.0.3)
|
197
|
+
activesupport (>= 4.2.0)
|
198
|
+
nokogiri (>= 1.6)
|
199
|
+
rails-html-sanitizer (1.0.4)
|
200
|
+
loofah (~> 2.2, >= 2.2.2)
|
201
|
+
railties (5.2.1)
|
202
|
+
actionpack (= 5.2.1)
|
203
|
+
activesupport (= 5.2.1)
|
204
|
+
method_source
|
205
|
+
rake (>= 0.8.7)
|
206
|
+
thor (>= 0.19.0, < 2.0)
|
207
|
+
rainbow (2.2.2)
|
208
|
+
rake
|
209
|
+
rake (12.3.1)
|
210
|
+
rspec (3.7.0)
|
211
|
+
rspec-core (~> 3.7.0)
|
212
|
+
rspec-expectations (~> 3.7.0)
|
213
|
+
rspec-mocks (~> 3.7.0)
|
214
|
+
rspec-core (3.7.1)
|
215
|
+
rspec-support (~> 3.7.0)
|
216
|
+
rspec-expectations (3.7.0)
|
217
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
218
|
+
rspec-support (~> 3.7.0)
|
219
|
+
rspec-mocks (3.7.0)
|
220
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
221
|
+
rspec-support (~> 3.7.0)
|
222
|
+
rspec-rails (3.7.2)
|
223
|
+
actionpack (>= 3.0)
|
224
|
+
activesupport (>= 3.0)
|
225
|
+
railties (>= 3.0)
|
226
|
+
rspec-core (~> 3.7.0)
|
227
|
+
rspec-expectations (~> 3.7.0)
|
228
|
+
rspec-mocks (~> 3.7.0)
|
229
|
+
rspec-support (~> 3.7.0)
|
230
|
+
rspec-support (3.7.1)
|
231
|
+
rubocop (0.51.0)
|
232
|
+
parallel (~> 1.10)
|
233
|
+
parser (>= 2.3.3.1, < 3.0)
|
234
|
+
powerpack (~> 0.1)
|
235
|
+
rainbow (>= 2.2.2, < 3.0)
|
236
|
+
ruby-progressbar (~> 1.7)
|
237
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
238
|
+
ruby-progressbar (1.10.0)
|
239
|
+
rubyzip (1.2.2)
|
240
|
+
selenium-webdriver (3.14.0)
|
241
|
+
childprocess (~> 0.5)
|
242
|
+
rubyzip (~> 1.2)
|
243
|
+
sourcemap (0.1.1)
|
244
|
+
sprockets (3.7.2)
|
245
|
+
concurrent-ruby (~> 1.0)
|
246
|
+
rack (> 1, < 3)
|
247
|
+
sprockets-rails (3.2.1)
|
248
|
+
actionpack (>= 4.0)
|
249
|
+
activesupport (>= 4.0)
|
250
|
+
sprockets (>= 3.0.0)
|
251
|
+
sqlite3 (1.3.13)
|
252
|
+
thor (0.20.0)
|
253
|
+
thread_safe (0.3.6)
|
254
|
+
tilt (2.0.8)
|
255
|
+
timecop (0.8.1)
|
256
|
+
tzinfo (1.2.5)
|
257
|
+
thread_safe (~> 0.1)
|
258
|
+
uglifier (4.1.19)
|
259
|
+
execjs (>= 0.3.0, < 3)
|
260
|
+
unicode-display_width (1.4.0)
|
261
|
+
unparser (0.2.8)
|
262
|
+
abstract_type (~> 0.0.7)
|
263
|
+
adamantium (~> 0.2.0)
|
264
|
+
concord (~> 0.1.5)
|
265
|
+
diff-lcs (~> 1.3)
|
266
|
+
equalizer (~> 0.0.9)
|
267
|
+
parser (>= 2.3.1.2, < 2.6)
|
268
|
+
procto (~> 0.0.2)
|
269
|
+
webdrivers (3.4.0)
|
270
|
+
nokogiri (~> 1.6)
|
271
|
+
rubyzip (~> 1.0)
|
272
|
+
selenium-webdriver (~> 3.0)
|
273
|
+
websocket-driver (0.7.0)
|
274
|
+
websocket-extensions (>= 0.1.0)
|
275
|
+
websocket-extensions (0.1.3)
|
276
|
+
xpath (3.1.0)
|
277
|
+
nokogiri (~> 1.8)
|
278
|
+
|
279
|
+
PLATFORMS
|
280
|
+
ruby
|
281
|
+
|
282
|
+
DEPENDENCIES
|
283
|
+
bundler (~> 1.16.0)
|
284
|
+
chromedriver-helper
|
285
|
+
hyper-spec!
|
286
|
+
hyperloop-config!
|
287
|
+
opal-jquery!
|
288
|
+
opal-rails (~> 0.9.4)
|
289
|
+
pry
|
290
|
+
puma
|
291
|
+
rails (>= 4.0.0)
|
292
|
+
rake
|
293
|
+
rspec (~> 3.7.0)
|
294
|
+
rubocop (~> 0.51.0)
|
295
|
+
sqlite3
|
296
|
+
timecop (~> 0.8.1)
|
297
|
+
|
298
|
+
BUNDLED WITH
|
299
|
+
1.16.1
|
data/README.md
CHANGED
@@ -1,45 +1,73 @@
|
|
1
|
-
|
1
|
+
<div class="githubhyperloopheader">
|
2
2
|
|
3
|
-
|
3
|
+
<p align="center">
|
4
4
|
|
5
|
-
|
5
|
+
<a href="http://ruby-hyperloop.org/" alt="Hyperloop" title="Hyperloop">
|
6
|
+
<img width="350px" src="http://ruby-hyperloop.org/images/hyperloop-github-logo.png">
|
7
|
+
</a>
|
6
8
|
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<h2 align="center">The Complete Isomorphic Ruby Framework</h2>
|
12
|
+
|
13
|
+
<br>
|
14
|
+
|
15
|
+
<a href="http://ruby-hyperloop.org/" alt="Hyperloop" title="Hyperloop">
|
16
|
+
<img src="http://ruby-hyperloop.org/images/githubhyperloopbadge.png">
|
17
|
+
</a>
|
18
|
+
|
19
|
+
<a href="https://gitter.im/ruby-hyperloop/chat" alt="Gitter chat" title="Gitter chat">
|
20
|
+
<img src="http://ruby-hyperloop.org/images/githubgitterbadge.png">
|
21
|
+
</a>
|
22
|
+
|
23
|
+
[![Gem Version](https://badge.fury.io/rb/hyperloop-config.svg)](https://badge.fury.io/rb/hyperloop-config)
|
24
|
+
|
25
|
+
</div>
|
26
|
+
|
27
|
+
## Hyperloop-config GEM is part of Hyperloop GEMS family
|
28
|
+
|
29
|
+
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.
|
30
|
+
|
31
|
+
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.
|
32
|
+
|
33
|
+
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.
|
34
|
+
|
35
|
+
**Hyperloop-config** gem is used internally by other [Hyperloop](http://ruby-hyperloop.org) gems for keeping config settings, and for registering client side autoload requirements.
|
36
|
+
|
37
|
+
## Getting Started
|
38
|
+
|
39
|
+
1. Update your Gemfile:
|
40
|
+
|
7
41
|
```ruby
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
Hyperloop.import 'my-gem-name', server_only: true
|
12
|
-
Hyperloop.import 'my-gem-name', client_only: true
|
13
|
-
Hyperloop.import 'path', tree: true # same as saying require_tree 'path' in a manifest file
|
14
|
-
Hyperloop.import_tree 'path' # same as above
|
15
|
-
Hyperloop.import 'asset_name' # same as saying require 'asset_name' in a manifest file
|
42
|
+
#Gemfile
|
43
|
+
|
44
|
+
gem 'hyperloop'
|
16
45
|
```
|
17
46
|
|
18
|
-
|
19
|
-
to rails, and it will get sent on to the client (plus any other dependencies you care to require.)
|
47
|
+
2. At the command prompt, update your bundle :
|
20
48
|
|
21
|
-
|
49
|
+
$ bundle update
|
22
50
|
|
23
|
-
|
51
|
+
3. Run the hyperloop install generator:
|
24
52
|
|
25
|
-
|
26
|
-
module Hyperloop
|
27
|
-
on_config_reset do
|
28
|
-
# anything you want to run when initialization begins
|
29
|
-
end
|
53
|
+
$ rails g hyperloop:install
|
30
54
|
|
31
|
-
|
32
|
-
|
33
|
-
|
55
|
+
4. Follow the guidelines to start developing your application. You may find
|
56
|
+
the following resources handy:
|
57
|
+
* [Getting Started with Hyperloop](http://ruby-hyperloop.org/start/components/)
|
58
|
+
* [Hyperloop Guides](http://ruby-hyperloop.org/docs/architecture)
|
59
|
+
* [Hyperloop Tutorial](http://ruby-hyperloop.org/tutorials)
|
34
60
|
|
35
|
-
|
61
|
+
## Community
|
36
62
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
63
|
+
#### Getting Help
|
64
|
+
Please **do not post** usage questions to GitHub Issues. For these types of questions use our [Gitter chatroom](https://gitter.im/ruby-hyperloop/chat) or [StackOverflow](http://stackoverflow.com/questions/tagged/hyperloop).
|
65
|
+
|
66
|
+
#### Submitting Bugs and Enhancements
|
67
|
+
[GitHub Issues](https://github.com/ruby-hyperloop/hyperloop/issues) is for suggesting enhancements and reporting bugs. Before submiting a bug make sure you do the following:
|
68
|
+
* Check out our [contributing guide](https://github.com/ruby-hyperloop/hyperloop/blob/master/CONTRIBUTING.md) for info on our release cycle.
|
42
69
|
|
43
70
|
## License
|
44
71
|
|
45
|
-
|
72
|
+
Hyperloop is released under the [MIT License](http://www.opensource.org/licenses/MIT).
|
73
|
+
|