jb 0.7.1 → 0.8.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
2
  SHA256:
3
- metadata.gz: 59eb01a4bdc65f57ef3be62f4d48adf07bfba844153648ed67d99040524b6574
4
- data.tar.gz: 32ea214a1d1d0a0cc1cf8d066e13788d0427313d44ef0719d6e2f229efe03628
3
+ metadata.gz: '09fa54e898f00cadade145bbad06c48b3a110d780cb7caa61f652f3b5b9f91d4'
4
+ data.tar.gz: 8f7d703998d358b7be99b5a3dec6779b816ef135cd33c434aad95bf151205c13
5
5
  SHA512:
6
- metadata.gz: de7988c0db6f46a64562f9dbb3b072887fb0120157e853b92819008674ca4ebaff564adf6c635b6885074e8dfea2769bf34cb34db7d659af038073362cd02398
7
- data.tar.gz: a8a754d42c80ea3db3bed9d55b63f704b16531ba0ed16ce6fa9bfa15af18599958743f4c3dff836a464345a3e6c3868cb0e1f4385a193da049985e1dfba2a4c1
6
+ metadata.gz: b1ccca7074f5b936db1d12e164404adaee0916255f4ee0bc2d92f080d5948e7d0cd661a18feaf29895842424377992f05807a9f498244af7617fef9d0722812c
7
+ data.tar.gz: 8564a73f19b09a5a9a75e4f07e92811a90b924de039832e4642ebb5b119403cb20a5c05023004b446ea8331f30b1129747cbc87db8af0aaa75183a1e5e11f063
@@ -1,9 +1,9 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.7.0
5
- - 2.6.5
6
- - 2.5.7
4
+ - 2.7.2
5
+ - 2.6.6
6
+ - 2.5.8
7
7
 
8
8
  gemfile:
9
9
  - gemfiles/rails_60.gemfile
@@ -14,11 +14,20 @@ gemfile:
14
14
 
15
15
  matrix:
16
16
  exclude:
17
- - rvm: 2.7.0
17
+ - rvm: 2.7.2
18
18
  gemfile: gemfiles/rails_52.gemfile
19
- - rvm: 2.7.0
19
+ - rvm: 2.7.2
20
20
  gemfile: gemfiles/rails_51.gemfile
21
- - rvm: 2.7.0
21
+ - rvm: 2.7.2
22
22
  gemfile: gemfiles/rails_50.gemfile
23
- - rvm: 2.7.0
23
+ - rvm: 2.7.2
24
24
  gemfile: gemfiles/rails_42.gemfile
25
+
26
+ include:
27
+ - rvm: 2.7.2
28
+ gemfile: gemfiles/rails_edge.gemfile
29
+ - rvm: ruby-head
30
+ gemfile: gemfiles/rails_edge.gemfile
31
+
32
+ allow_failures:
33
+ - rvm: ruby-head
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec :path => '../'
6
6
 
7
- gem 'rails', '~> 6.0.0.beta3'
7
+ gem 'rails', '~> 6.0.0'
8
8
  gem 'selenium-webdriver'
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec :path => '../'
6
+
7
+ git_source(:github) do |repo_name|
8
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
9
+ "https://github.com/#{repo_name}.git"
10
+ end
11
+
12
+ github 'rails/rails' do
13
+ gem 'rails'
14
+ end
15
+
16
+ gem 'selenium-webdriver'
data/jb.gemspec CHANGED
@@ -21,8 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency 'multi_json'
25
-
26
24
  spec.add_development_dependency 'bundler'
27
25
  spec.add_development_dependency 'rake'
28
26
  spec.add_development_dependency 'test-unit-rails'
@@ -44,7 +44,7 @@ module Jb
44
44
  module TemplateRenderer
45
45
  module JSONizer
46
46
  def render_template(template, *)
47
- template.respond_to?(:handler) && (template.handler == Jb::Handler) ? MultiJson.dump(super) : super
47
+ template.respond_to?(:handler) && (template.handler == Jb::Handler) ? super.to_json : super
48
48
  end
49
49
  end
50
50
  end
@@ -7,13 +7,28 @@ module Jb
7
7
  module JSONizer
8
8
  def render_template(_view, template, *)
9
9
  rendered_template = super
10
- rendered_template.instance_variable_set :@body, MultiJson.dump(rendered_template.body) if template.respond_to?(:handler) && (template.handler == Jb::Handler)
10
+ rendered_template.instance_variable_set :@body, rendered_template.body.to_json if template.respond_to?(:handler) && (template.handler == Jb::Handler)
11
11
  rendered_template
12
12
  end
13
13
  end
14
14
  end
15
15
 
16
- # A monkey-patch for jb template collection result's `body` not to return a String but an Array
16
+ # Rails 6.1+: A monkey-patch for jb template collection result's `body` not to return a String but an Array
17
+ module CollectionRendererExtension
18
+ private def render_collection(_collection, _view, _path, template, _layout, _block)
19
+ obj = super
20
+ if template.respond_to?(:handler) && (template.handler == Jb::Handler)
21
+ if ActionView::AbstractRenderer::RenderedCollection::EmptyCollection === obj
22
+ def obj.body; []; end
23
+ else
24
+ def obj.body; @rendered_templates.map(&:body); end
25
+ end
26
+ end
27
+ obj
28
+ end
29
+ end
30
+
31
+ # Rails 6.0: A monkey-patch for jb template collection result's `body` not to return a String but an Array
17
32
  module PartialRendererExtension
18
33
  private def render_collection(_view, template)
19
34
  obj = super
@@ -30,4 +45,9 @@ module Jb
30
45
  end
31
46
 
32
47
  ::ActionView::TemplateRenderer.prepend ::Jb::TemplateRenderer::JSONizer
33
- ::ActionView::PartialRenderer.prepend ::Jb::PartialRendererExtension
48
+ begin
49
+ # ActionView::CollectionRenderer is a newly added class since 6.1
50
+ ::ActionView::CollectionRenderer.prepend ::Jb::CollectionRendererExtension
51
+ rescue NameError
52
+ ::ActionView::PartialRenderer.prepend ::Jb::PartialRendererExtension
53
+ end
@@ -4,7 +4,6 @@ module Jb
4
4
  class Railtie < ::Rails::Railtie
5
5
  initializer 'jb' do
6
6
  ActiveSupport.on_load :action_view do
7
- require 'multi_json'
8
7
  if Rails::VERSION::MAJOR >= 6
9
8
  require 'jb/action_view_monkeys'
10
9
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jb
4
- VERSION = '0.7.1'
4
+ VERSION = '0.8.0'
5
5
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-04 00:00:00.000000000 Z
11
+ date: 2020-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: multi_json
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -130,6 +116,7 @@ files:
130
116
  - gemfiles/rails_51.gemfile
131
117
  - gemfiles/rails_52.gemfile
132
118
  - gemfiles/rails_60.gemfile
119
+ - gemfiles/rails_edge.gemfile
133
120
  - jb.gemspec
134
121
  - lib/generators/rails/jb_generator.rb
135
122
  - lib/generators/rails/scaffold_controller_generator.rb
@@ -145,7 +132,7 @@ homepage: https://github.com/amatsuda/jb
145
132
  licenses:
146
133
  - MIT
147
134
  metadata: {}
148
- post_install_message:
135
+ post_install_message:
149
136
  rdoc_options: []
150
137
  require_paths:
151
138
  - lib
@@ -160,8 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
147
  - !ruby/object:Gem::Version
161
148
  version: '0'
162
149
  requirements: []
163
- rubygems_version: 3.0.3
164
- signing_key:
150
+ rubygems_version: 3.1.4
151
+ signing_key:
165
152
  specification_version: 4
166
153
  summary: Faster and simpler Jbuilder alternative
167
154
  test_files: []