ember-cli-rails 0.10.0 → 0.11.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0e8e3eae43c6174217f04aa96d57a7396f6b1ba8
4
- data.tar.gz: c8d43e9a2efd2b5a9367d6fa974fa3ccedd4bb69
2
+ SHA256:
3
+ metadata.gz: ae81b97b3eedcb84768b305b7c69d78ebf6d9a00ee3cf9b09e61d570fd82d72e
4
+ data.tar.gz: 8faab1baa2ba94bb79520e2413c9a1dac154bc1ae17af17c41b91ebb176f99b0
5
5
  SHA512:
6
- metadata.gz: c1f9f0227c30692510edba35b843344b25e839c003437c92df089312c20803246653f9c7e88fddd3ff08d7f684a5ee57c073af3709b64a98e3014ba886442d79
7
- data.tar.gz: a0789e42c15df281a2cd76ce4e61b30688eb1d60e0a28cd7ab81b9b819b0927b525dbeb1b2b4e0c384e795390ef2f08c327bb6934277b0ccd38707502a70e2ea
6
+ metadata.gz: d91b224e3a2dc5658153616c962ee6e035446f1656be54298fb95f3188350adc8e438fcb0d50ad69046ce066ae297aa2dc0146fcb2ca2a5a156b1c5a48188865
7
+ data.tar.gz: 49d65db9d74a115f36ad74ef9fdcdd6450d7456448188190476089b83ced25cfda82fe7ef78d3b0f988c0c4e8c5258cff3b896c551c05ca50e03295460185a04
@@ -1,6 +1,15 @@
1
1
  master
2
2
  ------
3
3
 
4
+ 0.11.0
5
+ ------
6
+
7
+ * Switch from TravisCI to GitHub Actions for Continuous Integration
8
+ * Redirect Ember routes with paths that don't end in `/` to corresponding paths
9
+ that end in `/`.
10
+ * Don't route requests to `/rails/active_storage` through the mounted Ember application.
11
+
12
+
4
13
  0.10.0
5
14
  ------
6
15
 
data/README.md CHANGED
@@ -421,7 +421,7 @@ To override this behavior, you can specify [any of Rails' routing options]
421
421
  For the sake of this example, override the `controller` and `action` options:
422
422
 
423
423
  ```rb
424
- # config/routes
424
+ # config/routes.rb
425
425
 
426
426
  Rails.application.routes.draw do
427
427
  mount_ember_app :frontend, to: "/", controller: "application", action: "index"
@@ -1,4 +1,4 @@
1
- require "cocaine"
1
+ require "terrapin"
2
2
 
3
3
  module EmberCli
4
4
  class Command
@@ -8,7 +8,7 @@ module EmberCli
8
8
  end
9
9
 
10
10
  def test
11
- line = Cocaine::CommandLine.new(paths.ember, "test --environment test")
11
+ line = Terrapin::CommandLine.new(paths.ember, "test --environment test")
12
12
 
13
13
  line.command
14
14
  end
@@ -30,7 +30,7 @@ module EmberCli
30
30
  end
31
31
 
32
32
  def ember_build(watch: false)
33
- line = Cocaine::CommandLine.new(paths.ember, [
33
+ line = Terrapin::CommandLine.new(paths.ember, [
34
34
  "build",
35
35
  ("--watch" if watch),
36
36
  ("--watcher :watcher" if process_watcher),
@@ -1,7 +1,9 @@
1
1
  module EmberCli
2
2
  class EmberConstraint
3
3
  def matches?(request)
4
- html_request?(request) && !rails_info_request?(request)
4
+ html_request?(request) &&
5
+ !rails_info_request?(request) &&
6
+ !rails_active_storage_request?(request)
5
7
  end
6
8
 
7
9
  private
@@ -10,6 +12,10 @@ module EmberCli
10
12
  request.fullpath.start_with?("/rails/info", "/rails/mailers")
11
13
  end
12
14
 
15
+ def rails_active_storage_request?(request)
16
+ request.fullpath.start_with?("/rails/active_storage")
17
+ end
18
+
13
19
  def html_request?(request)
14
20
  request.format.html?
15
21
  end
@@ -92,7 +92,16 @@ module EmberCli
92
92
 
93
93
  def yarn
94
94
  if yarn?
95
- @yarn ||= path_for_executable("yarn")
95
+ @yarn ||= path_for_executable("yarn").tap do |yarn|
96
+ unless File.executable?(yarn.to_s)
97
+ fail DependencyError.new(<<-MSG.strip_heredoc)
98
+ EmberCLI has been configured to install NodeJS dependencies with Yarn, but the Yarn executable is unavailable.
99
+
100
+ Install it by following the instructions at https://yarnpkg.com/lang/en/docs/install/
101
+
102
+ MSG
103
+ end
104
+ end
96
105
  end
97
106
  end
98
107
 
@@ -1,4 +1,5 @@
1
1
  require "ember_cli/ember_constraint"
2
+ require "ember_cli/trailing_slash_constraint"
2
3
 
3
4
  module ActionDispatch
4
5
  module Routing
@@ -15,7 +16,15 @@ module ActionDispatch
15
16
  )
16
17
 
17
18
  scope constraints: ::EmberCli::EmberConstraint.new do
18
- get("#{to}(*rest)", routing_options)
19
+ redirect_if_missing_trailing_slash = {
20
+ constraints: EmberCli::TrailingSlashConstraint.new,
21
+ to: redirect(-> (_, request) {
22
+ File.join(request.original_fullpath, "")
23
+ }),
24
+ }
25
+
26
+ get(to, redirect_if_missing_trailing_slash)
27
+ get(File.join(to, "(*rest)"), routing_options)
19
28
  end
20
29
 
21
30
  mount_ember_assets(app_name, to: to)
@@ -41,7 +41,7 @@ module EmberCli
41
41
  clean_ember_dependencies!
42
42
  end
43
43
 
44
- if paths.yarn.present? && Pathname.new(paths.yarn).executable?
44
+ if paths.yarn
45
45
  run! "#{paths.yarn} install"
46
46
  else
47
47
  run! "#{paths.npm} prune && #{paths.npm} install"
@@ -0,0 +1,7 @@
1
+ module EmberCli
2
+ class TrailingSlashConstraint
3
+ def matches?(request)
4
+ !request.original_fullpath.to_s.ends_with?("/")
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module EmberCli
2
- VERSION = "0.10.0".freeze
2
+ VERSION = "0.11.0".freeze
3
3
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember-cli-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Pravosud
8
8
  - Jonathan Jackson
9
9
  - Sean Doyle
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-09-01 00:00:00.000000000 Z
13
+ date: 2020-08-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ember-cli-rails-assets
@@ -32,28 +32,28 @@ dependencies:
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '3.2'
35
+ version: '4.2'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '3.2'
42
+ version: '4.2'
43
43
  - !ruby/object:Gem::Dependency
44
- name: cocaine
44
+ name: terrapin
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.5.8
49
+ version: 0.6.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 0.5.8
56
+ version: 0.6.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: html_page
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,49 @@ dependencies:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
84
  version: 0.9.0
85
- description:
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec-rails
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 3.6.0
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 3.6.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: capybara-selenium
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: codeclimate-test-reporter
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 0.6.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 0.6.0
127
+ description:
86
128
  email:
87
129
  - pavel@pravosud.com
88
130
  - jonathan.jackson1@me.com
@@ -112,6 +154,7 @@ files:
112
154
  - lib/ember_cli/route_helpers.rb
113
155
  - lib/ember_cli/runner.rb
114
156
  - lib/ember_cli/shell.rb
157
+ - lib/ember_cli/trailing_slash_constraint.rb
115
158
  - lib/ember_cli/version.rb
116
159
  - lib/generators/ember/heroku/USAGE
117
160
  - lib/generators/ember/heroku/heroku_generator.rb
@@ -125,7 +168,7 @@ homepage: https://github.com/thoughtbot/ember-cli-rails
125
168
  licenses:
126
169
  - MIT
127
170
  metadata: {}
128
- post_install_message:
171
+ post_install_message:
129
172
  rdoc_options: []
130
173
  require_paths:
131
174
  - lib
@@ -140,9 +183,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
183
  - !ruby/object:Gem::Version
141
184
  version: '0'
142
185
  requirements: []
143
- rubyforge_project:
144
- rubygems_version: 2.4.5.1
145
- signing_key:
186
+ rubyforge_project:
187
+ rubygems_version: 2.7.6.2
188
+ signing_key:
146
189
  specification_version: 4
147
190
  summary: Integration between Ember CLI and Rails
148
191
  test_files: []