opal-rails 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +38 -0
- data/.gitignore +1 -0
- data/Appraisals +10 -14
- data/CHANGELOG.md +62 -0
- data/Gemfile +7 -4
- data/README.md +45 -9
- data/app/helpers/opal_helper.rb +6 -5
- data/bin/rackup +29 -0
- data/bin/rails +8 -0
- data/bin/rails-engine +13 -0
- data/bin/rails-sandbox +18 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/sandbox +39 -0
- data/bin/sandbox-setup +14 -0
- data/bin/setup +8 -0
- data/gemfiles/rails_6_0_opal_1_0.gemfile +9 -0
- data/gemfiles/rails_6_0_opal_1_1.gemfile +9 -0
- data/gemfiles/rails_6_1_opal_1_0.gemfile +9 -0
- data/gemfiles/rails_6_1_opal_1_1.gemfile +9 -0
- data/lib/assets/javascripts/opal_ujs.js.rb +1 -4
- data/lib/generators/opal/assets/assets_generator.rb +7 -0
- data/lib/{rails/generators → generators}/opal/assets/templates/javascript.js.rb +0 -0
- data/lib/generators/opal/install/USAGE +8 -0
- data/lib/generators/opal/install/install_generator.rb +12 -0
- data/lib/generators/opal/install/templates/application.js.rb +12 -0
- data/lib/opal/rails.rb +0 -4
- data/lib/opal/rails/engine.rb +9 -2
- data/lib/opal/rails/template_handler.rb +16 -7
- data/lib/opal/rails/version.rb +1 -1
- data/opal-rails.gemspec +45 -40
- data/spec/helpers/opal_helper_spec.rb +23 -9
- data/spec/integration/assigns_spec.rb +58 -2
- data/spec/integration/source_map_spec.rb +9 -5
- data/spec/support/capybara.rb +2 -0
- data/test_apps/{application_controller.rb → app/application_controller.rb} +1 -1
- data/test_apps/app/assets/config/manifest.js +1 -0
- data/test_apps/{assets → app/assets}/javascripts/application.js.rb +1 -0
- data/test_apps/{assets → app/assets}/javascripts/bar.rb +0 -0
- data/test_apps/{assets → app/assets}/javascripts/foo.js.rb +0 -0
- data/test_apps/{assets → app/assets}/javascripts/source_map_example.js.rb +0 -0
- data/test_apps/{assets → app/assets}/javascripts/with_assignments.js.rb +0 -0
- data/test_apps/{rails5.rb → rails6.rb} +1 -3
- metadata +49 -84
- data/.travis.yml +0 -42
- data/gemfiles/rails_5_1_opal_1_0.gemfile +0 -12
- data/gemfiles/rails_5_1_opal_master.gemfile +0 -11
- data/gemfiles/rails_5_2_opal_1_0.gemfile +0 -12
- data/gemfiles/rails_5_2_opal_master.gemfile +0 -11
- data/lib/rails/generators/opal/assets/assets_generator.rb +0 -12
- data/spec/integration/template_spec.rb +0 -9
- data/test_apps/rails4.rb +0 -47
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 49586db0f49f4f31e3e289e1f813275e1b81ab083aa5e771887e5e93bc08b83b
|
|
4
|
+
data.tar.gz: 02d8db2458c45f4fe2554028571288b2664f8cfc64bba320a62d59a9ea120567
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ec6e2d6ce3226094ef31bcb2b75a5317b7d0a1e05cb3af627022dfd00697787ad1ed6fdd739cfb485a741685e4cfd8b746d3fb29a1e4a29b6bcc1b6163aef362
|
|
7
|
+
data.tar.gz: eac8d359fbd8589edd16c7df490a619fe9d2e3a09640ab0d1d14ece16cd5f6d1fa31cb2d82f9bacb8ffe8bf6bf164a565ff72181e89f109f45566992d8a72631
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
on:
|
|
2
|
+
pull_request:
|
|
3
|
+
branches:
|
|
4
|
+
- master
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- ci-check
|
|
8
|
+
- "*/ci-check"
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
ruby: ['2.5.x', '2.6.x', '2.7.x', '3.0.x']
|
|
16
|
+
rails: ['rails_6_0', 'rails_6_1']
|
|
17
|
+
opal: ['opal_1_0', 'opal_1_1']
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- name: Install libraries
|
|
22
|
+
run: |
|
|
23
|
+
sudo apt-get update
|
|
24
|
+
sudo apt-get install -y sqlite3 libsqlite3-dev
|
|
25
|
+
- uses: actions/checkout@v1
|
|
26
|
+
- name: Set up Ruby
|
|
27
|
+
uses: actions/setup-ruby@v1
|
|
28
|
+
with:
|
|
29
|
+
ruby-version: ${{ matrix.ruby }}
|
|
30
|
+
- name: Install Dependencies
|
|
31
|
+
run: |
|
|
32
|
+
export BUNDLE_GEMFILE="gemfiles/${{ matrix.rails }}_${{ matrix.opal }}.gemfile"
|
|
33
|
+
gem install bundler
|
|
34
|
+
bundle install --jobs 4 --retry 3
|
|
35
|
+
- name: Test with Rake
|
|
36
|
+
run: |
|
|
37
|
+
export BUNDLE_GEMFILE="gemfiles/${{ matrix.rails }}_${{ matrix.opal }}.gemfile"
|
|
38
|
+
bundle exec rake
|
data/.gitignore
CHANGED
data/Appraisals
CHANGED
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
current_ruby = Gem::Version.new(RUBY_VERSION)
|
|
2
|
-
ruby_2_2_2 = Gem::Version.new('2.2.2')
|
|
3
2
|
ruby_2_4_0 = Gem::Version.new('2.4.0')
|
|
3
|
+
ruby_2_5_0 = Gem::Version.new('2.5.0')
|
|
4
4
|
|
|
5
5
|
ENV['OPAL_VERSION'] = nil # ensure the env is clean
|
|
6
6
|
|
|
7
7
|
github = -> repo_name { "https://github.com/#{repo_name}.git" }
|
|
8
8
|
|
|
9
9
|
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
gemfile.gem 'opal'
|
|
13
|
-
gemfile.gem 'opal-rspec', git: github['opal/opal-rspec'], branch: :master
|
|
14
|
-
gemfile.gem 'opal-sprockets', git: github['opal/opal-sprockets'], branch: :master
|
|
10
|
+
opal_1_1: -> gemfile do
|
|
11
|
+
gemfile.gem 'opal', '~> 1.1.0'
|
|
12
|
+
gemfile.gem 'opal-sprockets'
|
|
15
13
|
end,
|
|
16
14
|
|
|
17
15
|
opal_1_0: -> gemfile do
|
|
18
16
|
gemfile.gem 'opal', '~> 1.0.0'
|
|
19
|
-
gemfile.gem 'opal-rspec', git: github['opal/opal-rspec'], branch: :master
|
|
20
|
-
gemfile.gem 'opal-jquery', git: github['opal/opal-jquery'], branch: :master
|
|
21
17
|
gemfile.gem 'opal-sprockets'
|
|
22
18
|
end,
|
|
23
19
|
|
|
24
20
|
}.each do |opal_version, gem_opal|
|
|
25
|
-
appraise "
|
|
26
|
-
gem "rails", "~>
|
|
21
|
+
appraise "rails_6_0_#{opal_version}" do
|
|
22
|
+
gem "rails", "~> 6.0.0"
|
|
27
23
|
gem_opal[self]
|
|
28
|
-
end if current_ruby >=
|
|
24
|
+
end if current_ruby >= ruby_2_5_0
|
|
29
25
|
|
|
30
|
-
appraise "
|
|
31
|
-
gem "rails", "~>
|
|
26
|
+
appraise "rails_6_1_#{opal_version}" do
|
|
27
|
+
gem "rails", "~> 6.1.0"
|
|
32
28
|
gem_opal[self]
|
|
33
|
-
end if current_ruby >=
|
|
29
|
+
end if current_ruby >= ruby_2_5_0
|
|
34
30
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -18,6 +18,67 @@ Whitespace conventions:
|
|
|
18
18
|
- 1 spaces before normal text
|
|
19
19
|
-->
|
|
20
20
|
|
|
21
|
+
## [2.0](https://github.com/opal/opal-rails/compare/v1.1.2...v2.0.0) - unreleased
|
|
22
|
+
|
|
23
|
+
*Bumping a major version, since this version will make a number of dependencies opt-in and drop older Rails and Sprockets versions*
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Added support for Rails v6.1
|
|
28
|
+
- Added a generator for the initial setup (`bin/rails generate opal:install`) that will configure sprockets and create the main `application.js.rb`
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Now the template handler will encode/decode local and instance variables with ActiveSupport::JSON
|
|
33
|
+
|
|
34
|
+
### Removed
|
|
35
|
+
|
|
36
|
+
- Removed support for Rails 5.x
|
|
37
|
+
- `opal-jquery` and `opal-activesupport` are no longer dependencies of `opal-rails`, if you need them you'll need to require and setup them manually
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [1.1.2](https://github.com/opal/opal-rails/compare/v1.1.1...v1.1.2) - 2019-09-26
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
|
|
45
|
+
- Default `skip_onload` to `true` when `javascript_asset_tag` is in debug mode, otherwise some assets may be loaded in the browser after the main source, thus being never loading by the Opal runtime.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## [1.1.1](https://github.com/opal/opal-rails/compare/v1.1.0...v1.1.1) - 2019-09-14
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- Fix a problem with require order with regards to `opal-sprockets`.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## [1.1.0](https://github.com/opal/opal-rails/compare/v1.0.1...v1.1.0) - 2019-09-14
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### Added
|
|
64
|
+
|
|
65
|
+
- Added the ability to pass only locals or only ivars when reproducing assigns in Opal templates, `Rails.application.config.opal.assigns_in_templates` can now be set to `:locals` or `:ivars` in addition to the already possible `true`.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
- The template handler now allows for the new Rails 6 api taking in both the template object and a source argument, but still allows the old behavior
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## [1.0.1](https://github.com/opal/opal-rails/compare/v1.0.0...v1.0.1) - 2019-09-07
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
|
|
80
|
+
- Added support for Rails v6.0 (Sprockets)
|
|
81
|
+
|
|
21
82
|
|
|
22
83
|
|
|
23
84
|
|
|
@@ -43,6 +104,7 @@ Whitespace conventions:
|
|
|
43
104
|
|
|
44
105
|
|
|
45
106
|
|
|
107
|
+
|
|
46
108
|
## [0.9.5](https://github.com/opal/opal-rails/compare/v0.9.4...v0.9.5) - 2018-09-07
|
|
47
109
|
|
|
48
110
|
|
data/Gemfile
CHANGED
|
@@ -2,10 +2,13 @@ source 'https://rubygems.org'
|
|
|
2
2
|
gemspec
|
|
3
3
|
github = -> repo { "https://github.com/#{repo}.git" }
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
case ENV['OPAL_VERSION']
|
|
6
|
+
when 'local'
|
|
7
|
+
gem 'opal', path: '../opal'
|
|
8
|
+
gem 'opal-rspec', path: '../opal-rspec'
|
|
9
|
+
gem 'opal-sprockets', path: '../opal-sprockets'
|
|
10
|
+
gem 'pry'
|
|
11
|
+
when 'master'
|
|
6
12
|
gem 'opal', git: github['opal/opal'], branch: :master
|
|
7
|
-
gem 'opal-rspec', git: github['opal/opal-rspec'], branch: :master
|
|
8
13
|
gem 'opal-sprockets', git: github['opal/opal-sprockets'], branch: :master
|
|
9
14
|
end
|
|
10
|
-
|
|
11
|
-
gem 'c_lexer'
|
data/README.md
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# Opal Rails
|
|
2
2
|
|
|
3
|
-
[](https://github.com/opal/opal-rails/actions)
|
|
4
|
+
[](https://codeclimate.com/github/opal/opal-rails/maintainability)
|
|
5
5
|
[](http://badge.fury.io/rb/opal-rails)
|
|
6
6
|

|
|
7
7
|

|
|
8
8
|
|
|
9
|
-
_Rails bindings for [Opal
|
|
9
|
+
_Rails bindings for [Opal](http://opalrb.com). ([Changelog](https://github.com/opal/opal-rails/blob/master/CHANGELOG.md))_
|
|
10
10
|
|
|
11
|
+
### Looking for Webpack support? 👀
|
|
12
|
+
|
|
13
|
+
If you want to integrate Opal via Webpack please refer to [opal-webpack-loader](https://github.com/isomorfeus/opal-webpack-loader#installation) installation instructions.
|
|
14
|
+
|
|
15
|
+
ℹ️ Webpack and ES6 modules are not yet officially supported, but we're working on it thanks to the awesome work done in _opal-webpack-loader_.
|
|
11
16
|
|
|
12
17
|
|
|
13
18
|
## Installation
|
|
@@ -18,10 +23,10 @@ In your `Gemfile`
|
|
|
18
23
|
gem 'opal-rails'
|
|
19
24
|
```
|
|
20
25
|
|
|
21
|
-
|
|
26
|
+
Add `app/assets/javascript` to your asset-pipeline manifest in `app/assets/config/manifest.js`:
|
|
22
27
|
|
|
23
|
-
```
|
|
24
|
-
rails
|
|
28
|
+
```
|
|
29
|
+
bin/rails opal:install
|
|
25
30
|
```
|
|
26
31
|
|
|
27
32
|
|
|
@@ -36,9 +41,17 @@ Rails.application.config.opal.optimized_operators = true
|
|
|
36
41
|
Rails.application.config.opal.arity_check = !Rails.env.production?
|
|
37
42
|
Rails.application.config.opal.const_missing = true
|
|
38
43
|
Rails.application.config.opal.dynamic_require_severity = :ignore
|
|
44
|
+
|
|
45
|
+
# Other options
|
|
46
|
+
|
|
47
|
+
# Send local and instance variables down to the view after converting
|
|
48
|
+
# thier value with `.to_json`
|
|
49
|
+
Rails.application.config.opal.assigns_in_templates = true
|
|
50
|
+
Rails.application.config.opal.assigns_in_templates = :locals # only locals
|
|
51
|
+
Rails.application.config.opal.assigns_in_templates = :ivars # only instance variables
|
|
39
52
|
```
|
|
40
53
|
|
|
41
|
-
For a full list of the available configuration options please refer to: [lib/opal/config.rb](https://github.com/opal/opal/blob/master/lib/opal/config.rb).
|
|
54
|
+
For a full list of the available configuration options for the compiler please refer to: [lib/opal/config.rb](https://github.com/opal/opal/blob/master/lib/opal/config.rb).
|
|
42
55
|
|
|
43
56
|
|
|
44
57
|
|
|
@@ -178,7 +191,6 @@ Of course you need to require `haml-rails` separately since its presence is not
|
|
|
178
191
|
Element.find('.comments').effect(:fade_in)
|
|
179
192
|
end
|
|
180
193
|
end
|
|
181
|
-
|
|
182
194
|
```
|
|
183
195
|
|
|
184
196
|
|
|
@@ -244,10 +256,34 @@ Opal.use_gem 'cannonbol'
|
|
|
244
256
|
```
|
|
245
257
|
|
|
246
258
|
|
|
259
|
+
## Contributing
|
|
260
|
+
|
|
261
|
+
Run the specs:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
bin/setup
|
|
265
|
+
bin/rake
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Inspect the test app:
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
bin/rackup
|
|
272
|
+
# visit localhost:9292
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Tinker with a sandbox app:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
bin/sandbox # will re-create the app
|
|
279
|
+
bin/rails s # will start the sandbox app server
|
|
280
|
+
# visit localhost:3000
|
|
281
|
+
```
|
|
282
|
+
|
|
247
283
|
|
|
248
284
|
## License
|
|
249
285
|
|
|
250
|
-
© 2012-
|
|
286
|
+
© 2012-2021 Elia Schito
|
|
251
287
|
|
|
252
288
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
253
289
|
of this software and associated documentation files (the "Software"), to deal
|
data/app/helpers/opal_helper.rb
CHANGED
|
@@ -10,20 +10,21 @@ module OpalHelper
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def javascript_include_tag(*sources)
|
|
13
|
-
options = sources.extract_options
|
|
13
|
+
options = sources.extract_options!.symbolize_keys
|
|
14
|
+
debug = options[:debug] != false
|
|
14
15
|
skip_loader = options.delete(:skip_opal_loader)
|
|
15
|
-
|
|
16
|
+
force_opal_loader_tag = options.delete(:force_opal_loader_tag) || debug
|
|
16
17
|
|
|
17
|
-
return super(*sources, options) if skip_loader
|
|
18
|
+
return super(*sources, options) if skip_loader && !force_opal_loader_tag
|
|
18
19
|
|
|
19
20
|
script_tags = "".html_safe
|
|
20
21
|
sources.each do |source|
|
|
21
22
|
load_asset_code = Opal::Sprockets.load_asset(source)
|
|
22
23
|
loading_code = "if(window.Opal && Opal.modules[#{source.to_json}]){#{load_asset_code}}"
|
|
23
24
|
|
|
24
|
-
if
|
|
25
|
+
if force_opal_loader_tag
|
|
25
26
|
script_tags << super(source, options)
|
|
26
|
-
script_tags << javascript_tag(loading_code)
|
|
27
|
+
script_tags << "\n".html_safe + javascript_tag(loading_code)
|
|
27
28
|
else
|
|
28
29
|
script_tags << super(source, options.merge(onload: loading_code))
|
|
29
30
|
end
|
data/bin/rackup
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# This file was generated by Bundler.
|
|
6
|
+
#
|
|
7
|
+
# The application 'rackup' is installed as part of a gem, and
|
|
8
|
+
# this file is here to facilitate running it.
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
require "pathname"
|
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
13
|
+
Pathname.new(__FILE__).realpath)
|
|
14
|
+
|
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
|
16
|
+
|
|
17
|
+
if File.file?(bundle_binstub)
|
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
|
19
|
+
load(bundle_binstub)
|
|
20
|
+
else
|
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
require "rubygems"
|
|
27
|
+
require "bundler/setup"
|
|
28
|
+
|
|
29
|
+
load Gem.bin_path("rack", "rackup")
|
data/bin/rails
ADDED
data/bin/rails-engine
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# This command will automatically be run when you run "rails" with Rails gems
|
|
3
|
+
# installed from the root of your application.
|
|
4
|
+
|
|
5
|
+
ENGINE_ROOT = File.expand_path('..', __dir__)
|
|
6
|
+
ENGINE_PATH = File.expand_path('../lib/opal/rails/engine', __dir__)
|
|
7
|
+
|
|
8
|
+
# Set up gems listed in the Gemfile.
|
|
9
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
|
10
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
|
11
|
+
|
|
12
|
+
require 'rails/all'
|
|
13
|
+
require 'rails/engine/commands'
|
data/bin/rails-sandbox
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
|
|
5
|
+
app_root = 'sandbox'
|
|
6
|
+
|
|
7
|
+
unless File.exist? "#{app_root}/bin/rails"
|
|
8
|
+
warn 'Creating the sandbox app...'
|
|
9
|
+
Dir.chdir "#{__dir__}/.." do
|
|
10
|
+
system "#{__dir__}/sandbox" or begin # rubocop:disable Style/AndOr
|
|
11
|
+
warn 'Automatic creation of the sandbox app failed'
|
|
12
|
+
exit 1
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Dir.chdir app_root
|
|
18
|
+
exec 'bin/rails', *ARGV
|
data/bin/rake
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# This file was generated by Bundler.
|
|
6
|
+
#
|
|
7
|
+
# The application 'rake' is installed as part of a gem, and
|
|
8
|
+
# this file is here to facilitate running it.
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
require "pathname"
|
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
13
|
+
Pathname.new(__FILE__).realpath)
|
|
14
|
+
|
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
|
16
|
+
|
|
17
|
+
if File.file?(bundle_binstub)
|
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
|
19
|
+
load(bundle_binstub)
|
|
20
|
+
else
|
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
require "rubygems"
|
|
27
|
+
require "bundler/setup"
|
|
28
|
+
|
|
29
|
+
load Gem.bin_path("rake", "rake")
|
data/bin/rspec
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# This file was generated by Bundler.
|
|
6
|
+
#
|
|
7
|
+
# The application 'rspec' is installed as part of a gem, and
|
|
8
|
+
# this file is here to facilitate running it.
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
require "pathname"
|
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
13
|
+
Pathname.new(__FILE__).realpath)
|
|
14
|
+
|
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
|
16
|
+
|
|
17
|
+
if File.file?(bundle_binstub)
|
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
|
19
|
+
load(bundle_binstub)
|
|
20
|
+
else
|
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
require "rubygems"
|
|
27
|
+
require "bundler/setup"
|
|
28
|
+
|
|
29
|
+
load Gem.bin_path("rspec-core", "rspec")
|