jb 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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: []