opal-rails 1.1.1 → 2.0.2

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/{main.yml → build.yml} +13 -6
  3. data/.gitignore +1 -0
  4. data/Appraisals +17 -16
  5. data/CHANGELOG.md +49 -0
  6. data/Gemfile +8 -3
  7. data/README.md +50 -16
  8. data/app/helpers/opal_helper.rb +6 -5
  9. data/bin/rackup +29 -0
  10. data/bin/rails +8 -0
  11. data/bin/rails-engine +13 -0
  12. data/bin/rails-sandbox +18 -0
  13. data/bin/rake +29 -0
  14. data/bin/rspec +29 -0
  15. data/bin/sandbox +39 -0
  16. data/bin/sandbox-setup +14 -0
  17. data/bin/setup +8 -0
  18. data/config.ru +1 -2
  19. data/gemfiles/rails_6_0_opal_1_0.gemfile +1 -3
  20. data/gemfiles/rails_6_0_opal_1_1.gemfile +9 -0
  21. data/gemfiles/rails_6_0_opal_1_3.gemfile +10 -0
  22. data/gemfiles/rails_6_0_opal_1_4.gemfile +10 -0
  23. data/gemfiles/rails_6_1_opal_1_0.gemfile +10 -0
  24. data/gemfiles/rails_6_1_opal_1_1.gemfile +9 -0
  25. data/gemfiles/rails_6_1_opal_1_3.gemfile +10 -0
  26. data/gemfiles/rails_6_1_opal_1_4.gemfile +10 -0
  27. data/gemfiles/rails_7_0_opal_1_0.gemfile +10 -0
  28. data/gemfiles/rails_7_0_opal_1_3.gemfile +10 -0
  29. data/gemfiles/rails_7_0_opal_1_4.gemfile +10 -0
  30. data/lib/assets/javascripts/opal_ujs.js.rb +1 -4
  31. data/lib/generators/opal/assets/assets_generator.rb +7 -0
  32. data/lib/{rails/generators → generators}/opal/assets/templates/javascript.js.rb +0 -0
  33. data/lib/generators/opal/install/USAGE +8 -0
  34. data/lib/generators/opal/install/install_generator.rb +14 -0
  35. data/lib/generators/opal/install/templates/application.js.rb +12 -0
  36. data/lib/generators/opal/install/templates/initializer.rb +22 -0
  37. data/lib/opal/rails/engine.rb +1 -0
  38. data/lib/opal/rails/template_handler.rb +4 -2
  39. data/lib/opal/rails/version.rb +1 -1
  40. data/lib/opal/rails.rb +0 -4
  41. data/opal-rails.gemspec +45 -40
  42. data/spec/helpers/opal_helper_spec.rb +23 -9
  43. data/spec/integration/source_map_spec.rb +9 -5
  44. data/spec/support/test_app.rb +1 -2
  45. data/test_apps/{application_controller.rb → app/application_controller.rb} +1 -1
  46. data/test_apps/app/assets/config/manifest.js +1 -0
  47. data/test_apps/{assets → app/assets}/javascripts/application.js.rb +1 -0
  48. data/test_apps/{assets → app/assets}/javascripts/bar.rb +0 -0
  49. data/test_apps/{assets → app/assets}/javascripts/foo.js.rb +0 -0
  50. data/test_apps/{assets → app/assets}/javascripts/source_map_example.js.rb +0 -0
  51. data/test_apps/{assets → app/assets}/javascripts/with_assignments.js.rb +0 -0
  52. data/test_apps/{rails6.rb → rails.rb} +1 -3
  53. metadata +56 -83
  54. data/gemfiles/rails_5_1_opal_1_0.gemfile +0 -12
  55. data/gemfiles/rails_5_1_opal_master.gemfile +0 -11
  56. data/gemfiles/rails_5_2_opal_1_0.gemfile +0 -12
  57. data/gemfiles/rails_5_2_opal_master.gemfile +0 -11
  58. data/gemfiles/rails_6_0_opal_master.gemfile +0 -11
  59. data/lib/rails/generators/opal/assets/assets_generator.rb +0 -12
  60. data/test_apps/rails5.rb +0 -50
@@ -0,0 +1,10 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "net-smtp"
6
+ gem "rails", "~> 7.0.0"
7
+ gem "opal", "~> 1.3.0"
8
+ gem "opal-sprockets"
9
+
10
+ gemspec path: "../"
@@ -0,0 +1,10 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "net-smtp"
6
+ gem "rails", "~> 7.0.0"
7
+ gem "opal", "~> 1.4.0"
8
+ gem "opal-sprockets"
9
+
10
+ gemspec path: "../"
@@ -1,4 +1 @@
1
- require 'jquery'
2
- require 'jquery_ujs'
3
- require 'opal'
4
- require 'opal-jquery'
1
+ warn "`opal_ujs` is deprecated and no longer works"
@@ -0,0 +1,7 @@
1
+ class Opal::AssetsGenerator < ::Rails::Generators::NamedBase
2
+ source_root File.expand_path('templates', __dir__)
3
+
4
+ def copy_opal
5
+ template 'javascript.js.rb', File.join('app/assets/javascripts', class_path, "#{file_name}.js.rb")
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate install Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,14 @@
1
+ class Opal::InstallGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('templates', __dir__)
3
+
4
+ def configure_sprockets
5
+ append_to_file 'app/assets/config/manifest.js', '//= link_directory ../javascript .js'
6
+ template "application.js.rb", "app/assets/javascript/application.js.rb"
7
+ template "initializer.rb", "config/initializers/opal.rb"
8
+
9
+ # Add the javascript tag to the application head tag
10
+ gsub_file 'app/views/layouts/application.html.erb', %r{(\n *)</head>},
11
+ '\1 <%= javascript_include_tag "application", "data-turbolinks-track": "reload" %>' \
12
+ '\1</head>'
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ require "opal"
2
+
3
+ # Uncomment the following to print out you're hello-world with Opal:
4
+ #
5
+ # puts "hello world!"
6
+ #
7
+ # The following will append a hello-world to your <body> element:
8
+ #
9
+ # require "native"
10
+ # $$[:document].addEventListener :DOMContentLoaded do
11
+ # $$[:document][:body][:innerHTML] += '<h2>Hello World!</h2>'
12
+ # end
@@ -0,0 +1,22 @@
1
+ # Check out the full list of the available configuration options at
2
+ # https://github.com/opal/opal/blob/master/lib/opal/config.rb
3
+
4
+ Rails.application.configure do
5
+ # We suggest keeping the configuration above as default for all environments,
6
+ # disabling some of them might slightly reduce the bundle size or reduce performance
7
+ # by degrading some ruby features.
8
+ config.opal.method_missing_enabled = true
9
+ config.opal.const_missing_enabled = true
10
+ config.opal.arity_check_enabled = true
11
+ config.opal.freezing_stubs_enabled = true
12
+ config.opal.dynamic_require_severity = :ignore
13
+
14
+ # To enable passing assigns from the controller to the opal template handler
15
+ # change the following configuration to one of these values:
16
+ #
17
+ # - true # both locals and instance variables
18
+ # - :locals # only locals
19
+ # - :ivars # only instance variables
20
+ #
21
+ config.opal.assigns_in_templates = false
22
+ end
@@ -1,5 +1,6 @@
1
1
  require 'rails'
2
2
  require 'opal/sprockets'
3
+ require 'sprockets/railtie'
3
4
 
4
5
  module Opal
5
6
  module Rails
@@ -1,3 +1,5 @@
1
+ require 'active_support/json'
2
+
1
3
  module Opal
2
4
  module Rails
3
5
  class TemplateHandler
@@ -17,11 +19,11 @@ module Opal
17
19
  code << 'Object.new.instance_eval {'
18
20
 
19
21
  if config.assign_locals_in_templates?
20
- code << JSON.parse(local_assigns.to_json).map { |key, val| "\#{key} = \#{val.inspect};" }.join
22
+ code << ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(local_assigns)).map { |key, val| "\#{key} = \#{val.inspect};" }.join
21
23
  end
22
24
 
23
25
  if config.assign_instance_variables_in_templates?
24
- code << JSON.parse(@_assigns.to_json).map { |key, val| "@\#{key} = \#{val.inspect};" }.join
26
+ code << ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(@_assigns)).map { |key, val| "@\#{key} = \#{val.inspect};" }.join
25
27
  end
26
28
 
27
29
  code << #{string}
@@ -1,5 +1,5 @@
1
1
  module Opal
2
2
  module Rails
3
- VERSION = '1.1.1'
3
+ VERSION = '2.0.2'
4
4
  end
5
5
  end
data/lib/opal/rails.rb CHANGED
@@ -1,9 +1,5 @@
1
1
  require 'opal'
2
- require 'opal-jquery'
3
- require 'opal-activesupport'
4
2
 
5
3
  require 'opal/rails/engine'
6
4
  require 'opal/rails/template_handler'
7
5
  require 'opal/rails/version'
8
-
9
- require 'jquery-rails'
data/opal-rails.gemspec CHANGED
@@ -1,41 +1,46 @@
1
- # coding: utf-8
2
- $:.push File.expand_path('../lib', __FILE__)
3
- require 'opal/rails/version'
4
-
5
- Gem::Specification.new do |s|
6
- s.name = 'opal-rails'
7
- s.version = Opal::Rails::VERSION
8
- s.authors = ['Elia Schito']
9
- s.email = ['elia@schito.me']
10
- s.homepage = 'https://github.com/opal/opal-rails#readme'
11
- s.summary = %q{Rails bindings for opal JS engine}
12
- s.description = %q{Rails bindings for opal JS engine}
13
- s.license = 'MIT-LICENSE'
14
-
15
- s.rubyforge_project = 'opal-rails'
16
-
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
- s.require_paths = ['lib']
21
-
22
- required_ruby_version = '>= 2.3'
23
-
24
- s.add_dependency 'rails', '>= 5.1', '< 6.1'
25
- s.add_dependency 'sprockets-rails', '>= 2.3.3', '< 4.0'
26
- s.add_dependency 'jquery-rails'
27
-
28
- s.add_dependency 'opal', '~> 1.0.0'
29
- s.add_dependency 'opal-jquery', '~> 0.4.4'
30
- s.add_dependency 'opal-sprockets', '~> 0.4.6'
31
- s.add_dependency 'opal-activesupport', '>= 0.0.5'
32
-
33
- s.add_development_dependency 'execjs'
34
- s.add_development_dependency 'launchy'
35
- s.add_development_dependency 'capybara', '~> 3.25'
36
- s.add_development_dependency 'apparition'
37
- s.add_development_dependency 'rspec-rails'
38
- s.add_development_dependency 'appraisal', '~> 2.1'
39
- s.add_development_dependency 'sqlite3'
40
- s.add_development_dependency 'puma'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/opal/rails/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'opal-rails'
7
+ spec.version = Opal::Rails::VERSION
8
+ spec.authors = ['Elia Schito']
9
+ spec.email = ['elia@schito.me']
10
+
11
+ spec.summary = %q{Rails bindings for opal JS engine}
12
+ spec.description = %q{Rails bindings for opal JS engine}
13
+ spec.homepage = 'https://github.com/opal/opal-rails#readme'
14
+ spec.license = 'MIT-LICENSE'
15
+
16
+ spec.metadata['homepage_uri'] = spec.homepage
17
+ spec.metadata['source_code_uri'] = 'https://github.com/opal/opal-rails#readme'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/opal/opal-rails/blob/master/CHANGELOG.md'
19
+
20
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5')
21
+
22
+ # Specify which files should be added to the gem when it is released.
23
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
+ files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0") }
25
+
26
+ spec.files = files.grep_v(%r{^(test|spec|features)/})
27
+ spec.test_files = files.grep(%r{^(test|spec|features)/})
28
+ spec.bindir = "exe"
29
+ spec.executables = files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+
32
+ spec.add_dependency 'rails', '>= 6.0', '< 7.1'
33
+ spec.add_dependency 'sprockets-rails', '>= 3.0'
34
+
35
+ spec.add_dependency 'opal', '~> 1.0'
36
+ spec.add_dependency 'opal-sprockets', '~> 1.0'
37
+
38
+ spec.add_development_dependency 'execjs'
39
+ spec.add_development_dependency 'launchy'
40
+ spec.add_development_dependency 'capybara', '~> 3.25'
41
+ spec.add_development_dependency 'apparition'
42
+ spec.add_development_dependency 'rspec-rails'
43
+ spec.add_development_dependency 'appraisal', '~> 2.1'
44
+ spec.add_development_dependency 'sqlite3'
45
+ spec.add_development_dependency 'puma'
41
46
  end
@@ -1,7 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe OpalHelper, type: :helper do
4
- # subject(:helper) { double(javascript_include_tag: '<super>').extend described_class }
3
+ # We need the view type because helpers specs are to are too minimalistic
4
+ # and are missing some initialization stuff.
5
+ describe OpalHelper, :js, type: :view do
6
+ let(:helper) { view }
5
7
 
6
8
  describe '#opal_tag' do
7
9
  it 'compiles to js' do
@@ -20,17 +22,29 @@ describe OpalHelper, type: :helper do
20
22
  # sprockets-rails v3 sets Rails.application.assets to nil in production mode
21
23
  allow(Rails.application).to receive(:assets).and_return(nil)
22
24
 
23
- loading_code = %Q{Opal.require("application");}
25
+ loading_code = [
26
+ %<if(window.Opal && Opal.modules["application"]){Opal.loaded(typeof(OpalLoaded) === "undefined" ? [] : OpalLoaded);>,
27
+ %<Opal.require("application");}>,
28
+ ].join("\n")
29
+
24
30
  escaped_loading_code = ERB::Util.h loading_code
31
+ loading_code_in_script_tag = [
32
+ %(<script>), %(//<![CDATA[), loading_code, %(//]]>), %(</script>),
33
+ ].join("\n")
34
+
35
+ expect(helper.javascript_include_tag('application', debug: true)).to include(loading_code_in_script_tag)
36
+ expect(helper.javascript_include_tag('application', debug: true)).not_to include(escaped_loading_code)
25
37
 
26
- expect(helper.javascript_include_tag('application', debug: true)).to include(escaped_loading_code)
27
38
  expect(helper.javascript_include_tag('application', debug: false)).to include(escaped_loading_code)
39
+ expect(helper.javascript_include_tag('application', debug: false)).not_to include(loading_code_in_script_tag)
40
+
28
41
  expect(helper.javascript_include_tag('application', skip_opal_loader: true)).not_to include(escaped_loading_code)
29
- expect(helper.javascript_include_tag('application', skip_opal_loader: true)).not_to include(escaped_loading_code)
42
+ expect(helper.javascript_include_tag('application', skip_opal_loader: false)).to include(loading_code_in_script_tag)
43
+
44
+ expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, debug: true)).to include(loading_code_in_script_tag)
45
+ expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, debug: false)).to include(loading_code_in_script_tag)
30
46
 
31
- expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, debug: true)).to include(loading_code)
32
- expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, debug: false)).to include(loading_code)
33
- expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, skip_opal_loader: true)).not_to include(loading_code)
34
- expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, skip_opal_loader: true)).not_to include(loading_code)
47
+ expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, skip_opal_loader: true)).not_to include(escaped_loading_code)
48
+ expect(helper.javascript_include_tag('application', force_opal_loader_tag: true, skip_opal_loader: true)).to include(loading_code_in_script_tag)
35
49
  end
36
50
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  require 'opal/source_map'
4
4
 
5
5
  describe Opal::SourceMap do
6
- let(:js_asset_path) { '/assets/source_map_example.self.js' }
6
+ let(:js_asset_path) { '/assets/source_map_example.debug.js' }
7
7
 
8
8
  before do
9
9
  expect(Rails.application.config.opal.source_map_enabled).to be_truthy
@@ -21,13 +21,16 @@ describe Opal::SourceMap do
21
21
  Base64.decode64(response.body.lines.last.split(inline_map_prefix, 2)[1])
22
22
  else
23
23
  source_map_regexp = %r{^//[@#] sourceMappingURL=([^\n]+)}
24
+
24
25
  header_map_path = response.headers['X-SourceMap'].presence
25
26
  comment_map_path = response.body.scan(source_map_regexp).flatten.first.to_s.strip.presence
26
27
 
27
- map_path = header_map_path || comment_map_path
28
+ map_path = (header_map_path || comment_map_path)&.strip
29
+
30
+ get URI.join("http://example.com/", js_asset_path, map_path).path
28
31
 
29
- get map_path
30
32
  expect(response).to be_successful, "url: #{map_path}\nstatus: #{response.status}"
33
+
31
34
  response.body
32
35
  end
33
36
  end
@@ -36,7 +39,8 @@ describe Opal::SourceMap do
36
39
 
37
40
  it 'has the source map be there' do
38
41
  expect(map).to be_present
39
- expect(map[:sources]).to be_present
40
- expect(map[:mappings]).to be_present
42
+ expect(map[:sections].size).to eq(1)
43
+ expect(map[:sections][0][:map][:sources]).to be_present
44
+ expect(map[:sections][0][:map][:mappings]).to be_present
41
45
  end
42
46
  end
@@ -1,6 +1,5 @@
1
1
  require 'rails'
2
- rails_version = Rails::VERSION::MAJOR
3
2
  ENV["RAILS_ENV"] = "test"
4
3
  ENV['DATABASE_URL'] = 'sqlite3::memory:'
5
- require_relative "../../test_apps/rails#{rails_version}"
4
+ require_relative "../../test_apps/rails"
6
5
 
@@ -14,7 +14,7 @@ HTML
14
14
 
15
15
  WITH_ASSIGNMENTS = File.read "#{__dir__}/assets/javascripts/with_assignments.js.rb"
16
16
 
17
- require_relative '../app/helpers/opal_helper'
17
+ require_relative '../../app/helpers/opal_helper'
18
18
 
19
19
  class ApplicationController < ActionController::Base
20
20
  include Rails.application.routes.url_helpers
@@ -0,0 +1 @@
1
+ //= link_directory ../javascripts .js
@@ -1,6 +1,7 @@
1
1
  require 'opal'
2
2
  require 'opal_ujs'
3
3
  require 'opal-parser'
4
+ require 'json'
4
5
 
5
6
  require_tree '.'
6
7
  `window.opal_loaded = true`
File without changes
@@ -1,6 +1,5 @@
1
1
  # FROM: http://www.rubytutorial.io/how-to-test-your-gem-against-multiple-rails/
2
2
 
3
- # test/apps/rails5.rb
4
3
  require 'rails'
5
4
  require 'rails/all'
6
5
  require 'action_view/testing/resolvers'
@@ -37,7 +36,6 @@ module RailsApp
37
36
  get '/favicon.ico' => -> { [404,{},[]] }
38
37
  end
39
38
 
40
- config.assets.paths << File.join(__dir__, 'assets/javascripts')
41
39
  config.assets.debug = true
42
40
  config.assets.digest = true
43
41
 
@@ -46,5 +44,5 @@ module RailsApp
46
44
  end
47
45
  end
48
46
 
49
- require_relative './application_controller'
47
+ require_relative './app/application_controller'
50
48
  RailsApp::Application.initialize!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elia Schito
8
- autorequire:
9
- bindir: bin
8
+ autorequire:
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-14 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,110 +16,62 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.1'
19
+ version: '6.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.1'
22
+ version: '7.1'
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: '5.1'
29
+ version: '6.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.1'
32
+ version: '7.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: sprockets-rails
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 2.3.3
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '4.0'
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 2.3.3
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '4.0'
53
- - !ruby/object:Gem::Dependency
54
- name: jquery-rails
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0'
39
+ version: '3.0'
60
40
  type: :runtime
61
41
  prerelease: false
62
42
  version_requirements: !ruby/object:Gem::Requirement
63
43
  requirements:
64
44
  - - ">="
65
45
  - !ruby/object:Gem::Version
66
- version: '0'
46
+ version: '3.0'
67
47
  - !ruby/object:Gem::Dependency
68
48
  name: opal
69
49
  requirement: !ruby/object:Gem::Requirement
70
50
  requirements:
71
51
  - - "~>"
72
52
  - !ruby/object:Gem::Version
73
- version: 1.0.0
74
- type: :runtime
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: 1.0.0
81
- - !ruby/object:Gem::Dependency
82
- name: opal-jquery
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: 0.4.4
53
+ version: '1.0'
88
54
  type: :runtime
89
55
  prerelease: false
90
56
  version_requirements: !ruby/object:Gem::Requirement
91
57
  requirements:
92
58
  - - "~>"
93
59
  - !ruby/object:Gem::Version
94
- version: 0.4.4
60
+ version: '1.0'
95
61
  - !ruby/object:Gem::Dependency
96
62
  name: opal-sprockets
97
63
  requirement: !ruby/object:Gem::Requirement
98
64
  requirements:
99
65
  - - "~>"
100
66
  - !ruby/object:Gem::Version
101
- version: 0.4.6
67
+ version: '1.0'
102
68
  type: :runtime
103
69
  prerelease: false
104
70
  version_requirements: !ruby/object:Gem::Requirement
105
71
  requirements:
106
72
  - - "~>"
107
73
  - !ruby/object:Gem::Version
108
- version: 0.4.6
109
- - !ruby/object:Gem::Dependency
110
- name: opal-activesupport
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- version: 0.0.5
116
- type: :runtime
117
- prerelease: false
118
- version_requirements: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 0.0.5
74
+ version: '1.0'
123
75
  - !ruby/object:Gem::Dependency
124
76
  name: execjs
125
77
  requirement: !ruby/object:Gem::Requirement
@@ -239,7 +191,7 @@ executables: []
239
191
  extensions: []
240
192
  extra_rdoc_files: []
241
193
  files:
242
- - ".github/workflows/main.yml"
194
+ - ".github/workflows/build.yml"
243
195
  - ".gitignore"
244
196
  - ".powder"
245
197
  - ".rspec"
@@ -249,14 +201,34 @@ files:
249
201
  - README.md
250
202
  - Rakefile
251
203
  - app/helpers/opal_helper.rb
204
+ - bin/rackup
205
+ - bin/rails
206
+ - bin/rails-engine
207
+ - bin/rails-sandbox
208
+ - bin/rake
209
+ - bin/rspec
210
+ - bin/sandbox
211
+ - bin/sandbox-setup
212
+ - bin/setup
252
213
  - config.ru
253
- - gemfiles/rails_5_1_opal_1_0.gemfile
254
- - gemfiles/rails_5_1_opal_master.gemfile
255
- - gemfiles/rails_5_2_opal_1_0.gemfile
256
- - gemfiles/rails_5_2_opal_master.gemfile
257
214
  - gemfiles/rails_6_0_opal_1_0.gemfile
258
- - gemfiles/rails_6_0_opal_master.gemfile
215
+ - gemfiles/rails_6_0_opal_1_1.gemfile
216
+ - gemfiles/rails_6_0_opal_1_3.gemfile
217
+ - gemfiles/rails_6_0_opal_1_4.gemfile
218
+ - gemfiles/rails_6_1_opal_1_0.gemfile
219
+ - gemfiles/rails_6_1_opal_1_1.gemfile
220
+ - gemfiles/rails_6_1_opal_1_3.gemfile
221
+ - gemfiles/rails_6_1_opal_1_4.gemfile
222
+ - gemfiles/rails_7_0_opal_1_0.gemfile
223
+ - gemfiles/rails_7_0_opal_1_3.gemfile
224
+ - gemfiles/rails_7_0_opal_1_4.gemfile
259
225
  - lib/assets/javascripts/opal_ujs.js.rb
226
+ - lib/generators/opal/assets/assets_generator.rb
227
+ - lib/generators/opal/assets/templates/javascript.js.rb
228
+ - lib/generators/opal/install/USAGE
229
+ - lib/generators/opal/install/install_generator.rb
230
+ - lib/generators/opal/install/templates/application.js.rb
231
+ - lib/generators/opal/install/templates/initializer.rb
260
232
  - lib/opal-rails.rb
261
233
  - lib/opal/rails.rb
262
234
  - lib/opal/rails/engine.rb
@@ -264,8 +236,6 @@ files:
264
236
  - lib/opal/rails/slim_filter.rb
265
237
  - lib/opal/rails/template_handler.rb
266
238
  - lib/opal/rails/version.rb
267
- - lib/rails/generators/opal/assets/assets_generator.rb
268
- - lib/rails/generators/opal/assets/templates/javascript.js.rb
269
239
  - opal-rails.gemspec
270
240
  - spec/helpers/opal_helper_spec.rb
271
241
  - spec/integration/assigns_spec.rb
@@ -276,19 +246,22 @@ files:
276
246
  - spec/support/reset_assets_cache.rb
277
247
  - spec/support/reset_config.rb
278
248
  - spec/support/test_app.rb
279
- - test_apps/application_controller.rb
280
- - test_apps/assets/javascripts/application.js.rb
281
- - test_apps/assets/javascripts/bar.rb
282
- - test_apps/assets/javascripts/foo.js.rb
283
- - test_apps/assets/javascripts/source_map_example.js.rb
284
- - test_apps/assets/javascripts/with_assignments.js.rb
285
- - test_apps/rails5.rb
286
- - test_apps/rails6.rb
249
+ - test_apps/app/application_controller.rb
250
+ - test_apps/app/assets/config/manifest.js
251
+ - test_apps/app/assets/javascripts/application.js.rb
252
+ - test_apps/app/assets/javascripts/bar.rb
253
+ - test_apps/app/assets/javascripts/foo.js.rb
254
+ - test_apps/app/assets/javascripts/source_map_example.js.rb
255
+ - test_apps/app/assets/javascripts/with_assignments.js.rb
256
+ - test_apps/rails.rb
287
257
  homepage: https://github.com/opal/opal-rails#readme
288
258
  licenses:
289
259
  - MIT-LICENSE
290
- metadata: {}
291
- post_install_message:
260
+ metadata:
261
+ homepage_uri: https://github.com/opal/opal-rails#readme
262
+ source_code_uri: https://github.com/opal/opal-rails#readme
263
+ changelog_uri: https://github.com/opal/opal-rails/blob/master/CHANGELOG.md
264
+ post_install_message:
292
265
  rdoc_options: []
293
266
  require_paths:
294
267
  - lib
@@ -296,15 +269,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
296
269
  requirements:
297
270
  - - ">="
298
271
  - !ruby/object:Gem::Version
299
- version: '0'
272
+ version: '2.5'
300
273
  required_rubygems_version: !ruby/object:Gem::Requirement
301
274
  requirements:
302
275
  - - ">="
303
276
  - !ruby/object:Gem::Version
304
277
  version: '0'
305
278
  requirements: []
306
- rubygems_version: 3.0.3
307
- signing_key:
279
+ rubygems_version: 3.2.22
280
+ signing_key:
308
281
  specification_version: 4
309
282
  summary: Rails bindings for opal JS engine
310
283
  test_files:
@@ -1,12 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "c_lexer"
6
- gem "rails", "~> 5.1.0"
7
- gem "opal", "~> 1.0.0"
8
- gem "opal-rspec", git: "https://github.com/opal/opal-rspec.git", branch: :master
9
- gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: :master
10
- gem "opal-sprockets"
11
-
12
- gemspec path: "../"