ember-cli-rails 0.10.0 → 0.12.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: ed137eea5bdc56c6a89bbfaca9ccb77aa477c7d2c15c7cc363aea86148e194a9
4
+ data.tar.gz: 5b87d3079ad0dba80afc777be24fa7c374ffc44f6b9d14095b08848af41535e7
5
5
  SHA512:
6
- metadata.gz: c1f9f0227c30692510edba35b843344b25e839c003437c92df089312c20803246653f9c7e88fddd3ff08d7f684a5ee57c073af3709b64a98e3014ba886442d79
7
- data.tar.gz: a0789e42c15df281a2cd76ce4e61b30688eb1d60e0a28cd7ab81b9b819b0927b525dbeb1b2b4e0c384e795390ef2f08c327bb6934277b0ccd38707502a70e2ea
6
+ metadata.gz: e013d35a791907b4df054156abf9d111e36dd68ac1f0e1da2173310940a2ab657112619a5edf05109e64a427846936004cdb39e22fd83bb373d981c3fba1b709
7
+ data.tar.gz: e19ea5bd822a38c5004f1f8de21a6d5cf2866626e87132cdf8d1bfe40a7402f7edd90a3c4420bf6337fd4c4788dad4f1fbccdac91d5abbcaae04a95606401220
data/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  master
2
2
  ------
3
3
 
4
+ 0.12.0
5
+ ------
6
+
7
+ * Redirecting with trailing slash with query parameters
8
+ * Recognize Building notice as not an error
9
+ * Use keyword argument for options
10
+ * Add Ruby 2.7 & 3.0 into CI matrix
11
+ * Add missing gems that removed from stdlibs in Ruby 3.0.0
12
+ * Fix autoload deprecation in Rails 6
13
+ * Drop support for Rails versions 4.2, 5.0, 5.1, and 5.2
14
+ * Drop support for End-of-Lifed Ruby versions 2.3 and 2.4
15
+
16
+ 0.11.0
17
+ ------
18
+
19
+ * Switch from TravisCI to GitHub Actions for Continuous Integration
20
+ * Redirect Ember routes with paths that don't end in `/` to corresponding paths
21
+ that end in `/`.
22
+ * Don't route requests to `/rails/active_storage` through the mounted Ember application.
23
+ * Only support for Ruby versions >= 2.5
24
+ * Only support for Rails versions >= 5.2
25
+
4
26
  0.10.0
5
27
  ------
6
28
 
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"
@@ -660,8 +660,8 @@ This project supports:
660
660
 
661
661
  This project supports:
662
662
 
663
- * Ruby versions `>= 2.2.0`
664
- * Rails versions `>=4.2.x`.
663
+ * Ruby versions `>= 2.5.0`
664
+ * Rails versions `>=5.2.x`.
665
665
 
666
666
  To learn more about supported versions and upgrades, read the [upgrading guide].
667
667
 
@@ -42,7 +42,8 @@ module EmberCli
42
42
  def build_errors
43
43
  error_lines.
44
44
  reject { |line| is_blank_or_backtrace?(line) }.
45
- reject { |line| is_deprecation_warning?(line) }
45
+ reject { |line| is_deprecation_warning?(line) }.
46
+ reject { |line| is_building_notice?(line) }
46
47
  end
47
48
 
48
49
  def has_build_errors?
@@ -57,6 +58,10 @@ module EmberCli
57
58
  line =~ /^(\e[^\s]+)?DEPRECATION:/
58
59
  end
59
60
 
61
+ def is_building_notice?(line)
62
+ line =~ /^(\e[^\s]+)?.\s(\e[^\s]+)?Building/
63
+ end
64
+
60
65
  def error_lines
61
66
  if error_file_exists?
62
67
  error_file.readlines
@@ -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),
@@ -8,7 +8,7 @@ module EmberCli
8
8
  attr_accessor :watcher
9
9
 
10
10
  def app(name, **options)
11
- app = App.new(name, options)
11
+ app = App.new(name, **options)
12
12
  apps.store(name, app)
13
13
  end
14
14
 
@@ -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
@@ -1,10 +1,7 @@
1
1
  module EmberCli
2
2
  class Engine < Rails::Engine
3
3
  initializer "ember-cli-rails.setup" do
4
- require "ember_cli/ember_controller"
5
4
  require "ember_cli/route_helpers"
6
-
7
- ActionController::Base.helper EmberRailsHelper
8
5
  end
9
6
  end
10
7
  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.path, "/?#{request.query_parameters.to_query}")
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.split("?").first.end_with?("/")
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module EmberCli
2
- VERSION = "0.10.0".freeze
2
+ VERSION = "0.12.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.12.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: 2023-02-07 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
@@ -133,16 +176,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
133
176
  requirements:
134
177
  - - ">="
135
178
  - !ruby/object:Gem::Version
136
- version: 2.2.0
179
+ version: 2.5.0
137
180
  required_rubygems_version: !ruby/object:Gem::Requirement
138
181
  requirements:
139
182
  - - ">="
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: []