superglue 0.40.0 → 0.50.0.beta1

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.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superglue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.50.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johny Ho
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-03 00:00:00.000000000 Z
11
+ date: 2023-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.21.1
33
+ version: 0.23.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.21.1
40
+ version: 0.23.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: webpacker
42
+ name: form_props
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: 0.0.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: 0.0.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activerecord
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -178,21 +178,18 @@ files:
178
178
  - lib/install/templates/web/application.json.props
179
179
  - lib/install/templates/web/application_visit.js
180
180
  - lib/install/templates/web/initializer.rb
181
+ - lib/install/templates/web/page_to_page_mapping.js
181
182
  - lib/install/templates/web/reducer.js
182
183
  - lib/install/web.rb
183
184
  - lib/superglue.rb
184
185
  - lib/superglue/helpers.rb
185
186
  - lib/superglue/redirection.rb
186
187
  - lib/tasks/install.rake
187
- - test/engine_test.rb
188
- - test/helpers_test.rb
189
- - test/render_test.rb
190
- - test/test_helper.rb
191
188
  homepage: https://github.com/thoughtbot/superglue/
192
189
  licenses:
193
190
  - MIT
194
191
  metadata: {}
195
- post_install_message:
192
+ post_install_message:
196
193
  rdoc_options: []
197
194
  require_paths:
198
195
  - lib
@@ -203,16 +200,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
200
  version: '0'
204
201
  required_rubygems_version: !ruby/object:Gem::Requirement
205
202
  requirements:
206
- - - ">="
203
+ - - ">"
207
204
  - !ruby/object:Gem::Version
208
- version: '0'
205
+ version: 1.3.1
209
206
  requirements: []
210
- rubygems_version: 3.1.4
211
- signing_key:
207
+ rubygems_version: 3.4.6
208
+ signing_key:
212
209
  specification_version: 4
213
210
  summary: Rails integration for SuperglueJS
214
- test_files:
215
- - test/render_test.rb
216
- - test/helpers_test.rb
217
- - test/engine_test.rb
218
- - test/test_helper.rb
211
+ test_files: []
data/test/engine_test.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class EngineTest < ActiveSupport::TestCase
4
- test "does not include itself in action controller base when superglue auto include is false" do
5
- refute ActionController::Base.included_modules.any? { |m| m.name && m.name.include?('Superglue') }
6
- end
7
- end
data/test/helpers_test.rb DELETED
@@ -1,23 +0,0 @@
1
- require 'test_helper'
2
-
3
- class HelpersTest < ActiveSupport::TestCase
4
- include Superglue::Helpers
5
-
6
- test 'clean_props_at returns nil if qry is nil' do
7
- qry = nil
8
-
9
- assert_nil param_to_search_path(qry)
10
- end
11
-
12
- test 'clean_props_at returns a refined qry' do
13
- qry = 'foo...bar/?)()-'
14
-
15
- assert_equal param_to_search_path(qry), ['foo', 'bar']
16
- end
17
-
18
- test 'camelize_path' do
19
- path = ['foo_bar', 'foo_bar=1', 'foo_baz_roo']
20
-
21
- assert_equal search_path_to_camelized_param(path), 'fooBar.fooBar=1.fooBazRoo'
22
- end
23
- end
data/test/render_test.rb DELETED
@@ -1,81 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RenderController < TestController
4
- require 'action_view/testing/resolvers'
5
-
6
- append_view_path(ActionView::FixtureResolver.new(
7
- 'render/simple_render_with_superglue.json.props' => 'json.author "john smith"',
8
- 'render/simple_render_with_superglue_with_bad_layout.json.props' => 'json.author "john smith"',
9
- 'layouts/application.json.props' => 'json.data {yield json}',
10
- 'layouts/does_not_exist.html.erb' => '',
11
- 'layouts/application.html.erb' => <<~HTML
12
- <html>
13
- <head>
14
- <script><%= @initial_state.strip.html_safe %></script>
15
- </head>
16
- <body><%=yield%></body>
17
- </html>
18
- HTML
19
- ))
20
-
21
- layout 'application'
22
-
23
- def render_action
24
- render :action
25
- end
26
-
27
- def simple_render_with_superglue
28
- @initial_state = render_to_string(formats: [:json], layout: true)
29
- render inline: '', layout: true
30
- end
31
-
32
- def simple_render_with_superglue_with_bad_layout
33
- @initial_state = render_to_string(formats: [:json], layout: 'does_not_exist')
34
- render inline: '', layout: true
35
- end
36
-
37
- def form_authenticity_token
38
- "secret"
39
- end
40
- end
41
-
42
- class RenderTest < ActionController::TestCase
43
- tests RenderController
44
-
45
-
46
- setup do
47
- if Rails.version >= '6'
48
- # In rails 6, the fixture orders the templates based on their appearance in the handler
49
- # This doesn't happen IRL, so I'm going to explicitly set the handler here.
50
- #
51
- # Note that the original is the following
52
- # @controller.lookup_context.handlers = [:raw, :superglue, :erb, :js, :html, :builder, :ruby]
53
- @controller.lookup_context.handlers = [:props, :erb]
54
- end
55
- end
56
-
57
- test "simple render with superglue" do
58
- get :simple_render_with_superglue
59
-
60
- assert_response 200
61
- rendered = <<~HTML
62
- <html>
63
- <head>
64
- <script>{"data":{"author":"john smith"}}</script>
65
- </head>
66
- <body></body>
67
- </html>
68
- HTML
69
-
70
- assert_equal rendered, @response.body
71
- assert_equal 'text/html', @response.media_type
72
- end
73
-
74
- test "simple render when the layout doesn't exist" do
75
- err = assert_raise ActionView::MissingTemplate do |e|
76
- get :simple_render_with_superglue_with_bad_layout
77
- end
78
-
79
- assert_equal(true, err.message.starts_with?('Missing template layouts/does_not_exist with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:props, :erb]}.'))
80
- end
81
- end
data/test/test_helper.rb DELETED
@@ -1,20 +0,0 @@
1
- require 'rails'
2
- require 'abstract_controller'
3
- require 'abstract_controller/railties/routes_helpers'
4
- require 'action_controller'
5
- require 'superglue'
6
- require "active_support"
7
- require 'active_record'
8
- require 'active_support/testing/autorun'
9
- require 'active_support/test_case'
10
-
11
- require 'props_template'
12
-
13
- ActiveSupport::TestCase.test_order = :random if ActiveSupport::TestCase.respond_to?(:test_order=)
14
- ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:"
15
- Rails.cache = ActiveSupport::Cache::MemoryStore.new
16
-
17
- load File.dirname(__FILE__) + '/support/schema.rb'
18
- require 'support/models'
19
- require 'support/test_application'
20
-