jbuilder 2.12.0 → 2.13.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: 4178787c12de3a44e4d47e347b7eb81da4cbb75222f9726db40b22124998041e
4
- data.tar.gz: 967cc31e472ad0e381e9c87f27e29be40aa2c71db6fb9f9131ef53b434bd3e5b
3
+ metadata.gz: 23152c62d2a748a3a3b190dba588de44dbb8577aff5ad930fa6aa7e29e935e50
4
+ data.tar.gz: 1a79f24f284ede18d9aea34702fe7bff5f70064c8dd6d8a372e8bd9ec4f5d266
5
5
  SHA512:
6
- metadata.gz: ace71a1fc2424b0d9428d66f595f155367763d6d8d28a21e87838418259f8c2d3d370c3a96a7134b5aac729fb5007f053de5a6f0bebcc3d4a4c13f5e9deb0d92
7
- data.tar.gz: 4b0b4992c64d2bbbfb83a343800555456a7c201d5f5fc19c5e919fd9ed9a1d448f7b902d841c99666c9794c70e15ad8b1cb94d5de4f61caca95901bbead3f046
6
+ metadata.gz: 0fb3a664bd96a0263ed6a155b385a634efcb26e157a1e8d7592da3f3baa1a4ed6d717bead553169d1fd6e540a35f1847925195e07ede281e6d845e6f649cd537
7
+ data.tar.gz: c9d1fd1cc89b68ffea4b5b6090ae2ed1de25e75442923a2dc9b16fda0bdfbdb7470d8ada71657d06ad8db1c64c41acacf1e1235891c794c146b3e16758978cff
@@ -15,64 +15,21 @@ jobs:
15
15
  fail-fast: false
16
16
  matrix:
17
17
  ruby:
18
- - "2.7"
19
18
  - "3.0"
20
19
  - "3.1"
21
20
  - "3.2"
22
21
  - "3.3"
23
22
 
24
23
  gemfile:
25
- - "rails_6_1"
26
24
  - "rails_7_0"
27
25
  - "rails_7_1"
28
26
  - "rails_head"
29
27
 
30
28
  exclude:
31
- - ruby: 2.7
32
- gemfile: rails_head
33
29
  - ruby: '3.0'
34
30
  gemfile: rails_head
35
31
 
36
32
  include:
37
- - ruby: 2.2
38
- gemfile: rails_5_0
39
- - ruby: 2.2
40
- gemfile: rails_5_1
41
- - ruby: 2.3
42
- gemfile: rails_5_0
43
- - ruby: 2.3
44
- gemfile: rails_5_1
45
- - ruby: 2.3
46
- gemfile: rails_5_2
47
- - ruby: 2.4
48
- gemfile: rails_5_0
49
- - ruby: 2.4
50
- gemfile: rails_5_1
51
- - ruby: 2.4
52
- gemfile: rails_5_2
53
- - ruby: 2.5
54
- gemfile: rails_5_0
55
- - ruby: 2.5
56
- gemfile: rails_5_1
57
- - ruby: 2.5
58
- gemfile: rails_5_2
59
- - ruby: 2.5
60
- gemfile: rails_6_0
61
- - ruby: 2.5
62
- gemfile: rails_6_1
63
- - ruby: 2.6
64
- gemfile: rails_5_0
65
- - ruby: 2.6
66
- gemfile: rails_5_1
67
- - ruby: 2.6
68
- gemfile: rails_5_2
69
- - ruby: 2.6
70
- gemfile: rails_6_0
71
- - ruby: 2.6
72
- gemfile: rails_6_1
73
- - ruby: 2.7
74
- gemfile: rails_6_0
75
-
76
33
  - ruby: '3.1'
77
34
  gemfile: rails_head
78
35
  - ruby: '3.2'
data/Appraisals CHANGED
@@ -1,30 +1,3 @@
1
- if RUBY_VERSION < "2.7.0"
2
- appraise "rails-5-0" do
3
- gem "rails", "~> 5.0.0"
4
- gem "loofah", "< 2.21.0"
5
- end
6
-
7
- appraise "rails-5-1" do
8
- gem "rails", "~> 5.1.0"
9
- gem "loofah", "< 2.21.0"
10
- end
11
-
12
- appraise "rails-5-2" do
13
- gem "rails", "~> 5.2.0"
14
- gem "loofah", "< 2.21.0"
15
- end
16
- end
17
-
18
- if RUBY_VERSION >= "2.5.0"
19
- appraise "rails-6-0" do
20
- gem "rails", "~> 6.0.0"
21
- end
22
-
23
- appraise "rails-6-1" do
24
- gem "rails", "~> 6.1.0"
25
- end
26
- end
27
-
28
1
  if RUBY_VERSION >= "2.7.0"
29
2
  appraise "rails-7-0" do
30
3
  gem "rails", "~> 7.0.0"
data/CONTRIBUTING.md CHANGED
@@ -33,13 +33,7 @@ git checkout -b my-feature-branch
33
33
 
34
34
  #### Bundle Install and Test
35
35
 
36
- Ensure that you can build the project and run tests.
37
-
38
- ```
39
- bundle install
40
- appraisal install
41
- appraisal rake test
42
- ```
36
+ Ensure that you can build the project and run tests using `bin/test`.
43
37
 
44
38
  #### Write Tests
45
39
 
data/bin/release ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env bash
2
+
3
+ VERSION=$1
4
+
5
+ printf "class Jbuilder\n VERSION = \"$VERSION\"\nend\n" > ./lib/jbuilder/version.rb
6
+ bundle
7
+ git add lib/jbuilder/version.rb
8
+ git commit -m "Bump version for $VERSION"
9
+ git push
10
+ git tag v$VERSION
11
+ git push --tags
12
+ gem build jbuilder.gemspec
13
+ gem push "jbuilder-$VERSION.gem" --host https://rubygems.org
14
+ rm "jbuilder-$VERSION.gem"
data/bin/test ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/env bash
2
+ set -e
3
+
4
+ bundle install
5
+ appraisal install
6
+ appraisal rake test
data/jbuilder.gemspec CHANGED
@@ -1,6 +1,8 @@
1
+ require_relative "lib/jbuilder/version"
2
+
1
3
  Gem::Specification.new do |s|
2
4
  s.name = 'jbuilder'
3
- s.version = '2.12.0'
5
+ s.version = Jbuilder::VERSION
4
6
  s.authors = 'David Heinemeier Hansson'
5
7
  s.email = 'david@basecamp.com'
6
8
  s.summary = 'Create JSON structures via a Builder-style DSL'
@@ -48,13 +48,19 @@ class <%= controller_class_name %>Controller < ApplicationController
48
48
  private
49
49
  # Use callbacks to share common setup or constraints between actions.
50
50
  def set_<%= singular_table_name %>
51
+ <%- if Rails::VERSION::MAJOR >= 8 -%>
52
+ @<%= singular_table_name %> = <%= orm_class.find(class_name, "params.expect(:id)") %>
53
+ <%- else -%>
51
54
  @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
55
+ <%- end -%>
52
56
  end
53
57
 
54
58
  # Only allow a list of trusted parameters through.
55
59
  def <%= "#{singular_table_name}_params" %>
56
60
  <%- if attributes_names.empty? -%>
57
61
  params.fetch(<%= ":#{singular_table_name}" %>, {})
62
+ <%- elsif Rails::VERSION::MAJOR >= 8 -%>
63
+ params.expect(<%= singular_table_name %>: [ <%= permitted_params %> ])
58
64
  <%- else -%>
59
65
  params.require(<%= ":#{singular_table_name}" %>).permit(<%= permitted_params %>)
60
66
  <%- end -%>
@@ -30,7 +30,7 @@ class <%= controller_class_name %>Controller < ApplicationController
30
30
 
31
31
  respond_to do |format|
32
32
  if @<%= orm_instance.save %>
33
- format.html { redirect_to <%= show_helper %>, notice: <%= %("#{human_name} was successfully created.") %> }
33
+ format.html { redirect_to <%= redirect_resource_name %>, notice: <%= %("#{human_name} was successfully created.") %> }
34
34
  format.json { render :show, status: :created, location: <%= "@#{singular_table_name}" %> }
35
35
  else
36
36
  format.html { render :new, status: :unprocessable_entity }
@@ -43,7 +43,7 @@ class <%= controller_class_name %>Controller < ApplicationController
43
43
  def update
44
44
  respond_to do |format|
45
45
  if @<%= orm_instance.update("#{singular_table_name}_params") %>
46
- format.html { redirect_to <%= show_helper %>, notice: <%= %("#{human_name} was successfully updated.") %> }
46
+ format.html { redirect_to <%= redirect_resource_name %>, notice: <%= %("#{human_name} was successfully updated.") %> }
47
47
  format.json { render :show, status: :ok, location: <%= "@#{singular_table_name}" %> }
48
48
  else
49
49
  format.html { render :edit, status: :unprocessable_entity }
@@ -57,7 +57,7 @@ class <%= controller_class_name %>Controller < ApplicationController
57
57
  @<%= orm_instance.destroy %>
58
58
 
59
59
  respond_to do |format|
60
- format.html { redirect_to <%= index_helper %>_url, notice: <%= %("#{human_name} was successfully destroyed.") %> }
60
+ format.html { redirect_to <%= index_helper %>_path, status: :see_other, notice: <%= %("#{human_name} was successfully destroyed.") %> }
61
61
  format.json { head :no_content }
62
62
  end
63
63
  end
@@ -65,13 +65,19 @@ class <%= controller_class_name %>Controller < ApplicationController
65
65
  private
66
66
  # Use callbacks to share common setup or constraints between actions.
67
67
  def set_<%= singular_table_name %>
68
+ <%- if Rails::VERSION::MAJOR >= 8 -%>
69
+ @<%= singular_table_name %> = <%= orm_class.find(class_name, "params.expect(:id)") %>
70
+ <%- else -%>
68
71
  @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
72
+ <%- end -%>
69
73
  end
70
74
 
71
75
  # Only allow a list of trusted parameters through.
72
76
  def <%= "#{singular_table_name}_params" %>
73
77
  <%- if attributes_names.empty? -%>
74
78
  params.fetch(<%= ":#{singular_table_name}" %>, {})
79
+ <%- elsif Rails::VERSION::MAJOR >= 8 -%>
80
+ params.expect(<%= singular_table_name %>: [ <%= permitted_params %> ])
75
81
  <%- else -%>
76
82
  params.require(<%= ":#{singular_table_name}" %>).permit(<%= permitted_params %>)
77
83
  <%- end -%>
@@ -155,21 +155,30 @@ class JbuilderTemplate < Jbuilder
155
155
  ::Kernel.raise ::NotImplementedError, "The `:spacer_template' option is not supported in collection rendering."
156
156
  end
157
157
 
158
- results = CollectionRenderer
159
- .new(@context.lookup_context, options) { |&block| _scope(&block) }
160
- .render_collection_with_partial(collection, partial, @context, nil)
161
-
162
- array! if results.respond_to?(:body) && results.body.nil?
158
+ if collection.present?
159
+ results = CollectionRenderer
160
+ .new(@context.lookup_context, options) { |&block| _scope(&block) }
161
+ .render_collection_with_partial(collection, partial, @context, nil)
162
+
163
+ array! if results.respond_to?(:body) && results.body.nil?
164
+ else
165
+ array!
166
+ end
163
167
  elsif as && options.key?(:collection) && !CollectionRenderer.supported?
164
168
  # For Rails <= 5.2:
165
169
  as = as.to_sym
166
170
  collection = options.delete(:collection)
167
- locals = options.delete(:locals)
168
- array! collection do |member|
169
- member_locals = locals.clone
170
- member_locals.merge! collection: collection
171
- member_locals.merge! as => member
172
- _render_partial options.merge(locals: member_locals)
171
+
172
+ if collection.present?
173
+ locals = options.delete(:locals)
174
+ array! collection do |member|
175
+ member_locals = locals.clone
176
+ member_locals.merge! collection: collection
177
+ member_locals.merge! as => member
178
+ _render_partial options.merge(locals: member_locals)
179
+ end
180
+ else
181
+ array!
173
182
  end
174
183
  else
175
184
  _render_partial options
@@ -0,0 +1,3 @@
1
+ class Jbuilder
2
+ VERSION = "2.13.0"
3
+ end
data/lib/jbuilder.rb CHANGED
@@ -3,12 +3,9 @@ require 'jbuilder/jbuilder'
3
3
  require 'jbuilder/blank'
4
4
  require 'jbuilder/key_formatter'
5
5
  require 'jbuilder/errors'
6
+ require 'jbuilder/version'
6
7
  require 'json'
7
8
  require 'active_support/core_ext/hash/deep_merge'
8
- begin
9
- require 'ostruct'
10
- rescue LoadError
11
- end
12
9
 
13
10
  class Jbuilder
14
11
  @@key_formatter = nil
@@ -31,7 +28,6 @@ class Jbuilder
31
28
  end
32
29
 
33
30
  BLANK = Blank.new
34
- NON_ENUMERABLES = defined?(::OpenStruct) ? [::Struct, ::OpenStruct].to_set : [::Struct].to_set
35
31
 
36
32
  def set!(key, value = BLANK, *args, &block)
37
33
  result = if ::Kernel.block_given?
@@ -354,7 +350,7 @@ class Jbuilder
354
350
  end
355
351
 
356
352
  def _is_collection?(object)
357
- _object_respond_to?(object, :map, :count) && NON_ENUMERABLES.none?{ |klass| klass === object }
353
+ _object_respond_to?(object, :map, :count) && !(::Struct === object)
358
354
  end
359
355
 
360
356
  def _blank?(value=@attributes)
@@ -98,10 +98,12 @@ class JbuilderTemplateTest < ActiveSupport::TestCase
98
98
  end
99
99
 
100
100
  test "nil partial collection by name" do
101
+ Jbuilder::CollectionRenderer.expects(:new).never
101
102
  assert_equal [], render('json.partial! "post", collection: @posts, as: :post', posts: nil)
102
103
  end
103
104
 
104
105
  test "nil partial collection by options" do
106
+ Jbuilder::CollectionRenderer.expects(:new).never
105
107
  assert_equal [], render('json.partial! partial: "post", collection: @posts, as: :post', posts: nil)
106
108
  end
107
109
 
@@ -113,7 +115,13 @@ class JbuilderTemplateTest < ActiveSupport::TestCase
113
115
  assert_equal "Pavel", result[5]["author"]["first_name"]
114
116
  end
115
117
 
118
+ test "empty array of partials from empty collection" do
119
+ Jbuilder::CollectionRenderer.expects(:new).never
120
+ assert_equal [], render('json.array! @posts, partial: "post", as: :post', posts: [])
121
+ end
122
+
116
123
  test "empty array of partials from nil collection" do
124
+ Jbuilder::CollectionRenderer.expects(:new).never
117
125
  assert_equal [], render('json.array! @posts, partial: "post", as: :post', posts: nil)
118
126
  end
119
127
 
@@ -126,10 +134,17 @@ class JbuilderTemplateTest < ActiveSupport::TestCase
126
134
  end
127
135
 
128
136
  test "empty array of partials under key from nil collection" do
137
+ Jbuilder::CollectionRenderer.expects(:new).never
129
138
  result = render('json.posts @posts, partial: "post", as: :post', posts: nil)
130
139
  assert_equal [], result["posts"]
131
140
  end
132
141
 
142
+ test "empty array of partials under key from an empy collection" do
143
+ Jbuilder::CollectionRenderer.expects(:new).never
144
+ result = render('json.posts @posts, partial: "post", as: :post', posts: [])
145
+ assert_equal [], result["posts"]
146
+ end
147
+
133
148
  test "object fragment caching" do
134
149
  render(<<-JBUILDER)
135
150
  json.cache! "cache-key" do
@@ -293,6 +308,7 @@ class JbuilderTemplateTest < ActiveSupport::TestCase
293
308
 
294
309
  if JbuilderTemplate::CollectionRenderer.supported?
295
310
  test "returns an empty array for an empty collection" do
311
+ Jbuilder::CollectionRenderer.expects(:new).never
296
312
  result = render('json.array! @posts, partial: "post", as: :post, cached: true', posts: [])
297
313
 
298
314
  # Do not use #assert_empty as it is important to ensure that the type of the JSON result is an array.
@@ -38,8 +38,17 @@ if Rails::VERSION::MAJOR > 4
38
38
  assert_match %r{@post\.destroy}, m
39
39
  end
40
40
 
41
+ assert_match %r{def set_post}, content
42
+ if Rails::VERSION::MAJOR >= 8
43
+ assert_match %r{params\.expect\(:id\)}, content
44
+ else
45
+ assert_match %r{params\[:id\]}, content
46
+ end
47
+
41
48
  assert_match %r{def post_params}, content
42
- if Rails::VERSION::MAJOR >= 6
49
+ if Rails::VERSION::MAJOR >= 8
50
+ assert_match %r{params\.expect\(post: \[ :title, :body, images: \[\] \]\)}, content
51
+ elsif Rails::VERSION::MAJOR >= 6
43
52
  assert_match %r{params\.require\(:post\)\.permit\(:title, :body, images: \[\]\)}, content
44
53
  else
45
54
  assert_match %r{params\.require\(:post\)\.permit\(:title, :body, :images\)}, content
@@ -62,7 +71,11 @@ if Rails::VERSION::MAJOR > 4
62
71
  run_generator ["Message", "content:rich_text", "video:attachment", "photos:attachments"]
63
72
 
64
73
  assert_file 'app/controllers/messages_controller.rb' do |content|
65
- assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
74
+ if Rails::VERSION::MAJOR >= 8
75
+ assert_match %r{params\.expect\(message: \[ :content, :video, photos: \[\] \]\)}, content
76
+ else
77
+ assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
78
+ end
66
79
  end
67
80
  end
68
81
  end
@@ -31,14 +31,14 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
31
31
  assert_instance_method :create, content do |m|
32
32
  assert_match %r{@post = Post\.new\(post_params\)}, m
33
33
  assert_match %r{@post\.save}, m
34
- assert_match %r{format\.html \{ redirect_to post_url\(@post\), notice: "Post was successfully created\." \}}, m
34
+ assert_match %r{format\.html \{ redirect_to @post, notice: "Post was successfully created\." \}}, m
35
35
  assert_match %r{format\.json \{ render :show, status: :created, location: @post \}}, m
36
36
  assert_match %r{format\.html \{ render :new, status: :unprocessable_entity \}}, m
37
37
  assert_match %r{format\.json \{ render json: @post\.errors, status: :unprocessable_entity \}}, m
38
38
  end
39
39
 
40
40
  assert_instance_method :update, content do |m|
41
- assert_match %r{format\.html \{ redirect_to post_url\(@post\), notice: "Post was successfully updated\." \}}, m
41
+ assert_match %r{format\.html \{ redirect_to @post, notice: "Post was successfully updated\." \}}, m
42
42
  assert_match %r{format\.json \{ render :show, status: :ok, location: @post \}}, m
43
43
  assert_match %r{format\.html \{ render :edit, status: :unprocessable_entity \}}, m
44
44
  assert_match %r{format\.json \{ render json: @post.errors, status: :unprocessable_entity \}}, m
@@ -46,12 +46,21 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
46
46
 
47
47
  assert_instance_method :destroy, content do |m|
48
48
  assert_match %r{@post\.destroy}, m
49
- assert_match %r{format\.html \{ redirect_to posts_url, notice: "Post was successfully destroyed\." \}}, m
49
+ assert_match %r{format\.html \{ redirect_to posts_path, status: :see_other, notice: "Post was successfully destroyed\." \}}, m
50
50
  assert_match %r{format\.json \{ head :no_content \}}, m
51
51
  end
52
52
 
53
+ assert_match %r{def set_post}, content
54
+ if Rails::VERSION::MAJOR >= 8
55
+ assert_match %r{params\.expect\(:id\)}, content
56
+ else
57
+ assert_match %r{params\[:id\]}, content
58
+ end
59
+
53
60
  assert_match %r{def post_params}, content
54
- if Rails::VERSION::MAJOR >= 6
61
+ if Rails::VERSION::MAJOR >= 8
62
+ assert_match %r{params\.expect\(post: \[ :title, :body, images: \[\] \]\)}, content
63
+ elsif Rails::VERSION::MAJOR >= 6
55
64
  assert_match %r{params\.require\(:post\)\.permit\(:title, :body, images: \[\]\)}, content
56
65
  else
57
66
  assert_match %r{params\.require\(:post\)\.permit\(:title, :body, :images\)}, content
@@ -64,15 +73,15 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
64
73
  run_generator %w(Admin::Post --model-name=Post)
65
74
  assert_file 'app/controllers/admin/posts_controller.rb' do |content|
66
75
  assert_instance_method :create, content do |m|
67
- assert_match %r{format\.html \{ redirect_to admin_post_url\(@post\), notice: "Post was successfully created\." \}}, m
76
+ assert_match %r{format\.html \{ redirect_to \[:admin, @post\], notice: "Post was successfully created\." \}}, m
68
77
  end
69
78
 
70
79
  assert_instance_method :update, content do |m|
71
- assert_match %r{format\.html \{ redirect_to admin_post_url\(@post\), notice: "Post was successfully updated\." \}}, m
80
+ assert_match %r{format\.html \{ redirect_to \[:admin, @post\], notice: "Post was successfully updated\." \}}, m
72
81
  end
73
82
 
74
83
  assert_instance_method :destroy, content do |m|
75
- assert_match %r{format\.html \{ redirect_to admin_posts_url, notice: "Post was successfully destroyed\." \}}, m
84
+ assert_match %r{format\.html \{ redirect_to admin_posts_path, status: :see_other, notice: "Post was successfully destroyed\." \}}, m
76
85
  end
77
86
  end
78
87
  end
@@ -92,7 +101,11 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
92
101
  run_generator %w(Message content:rich_text video:attachment photos:attachments)
93
102
 
94
103
  assert_file 'app/controllers/messages_controller.rb' do |content|
95
- assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
104
+ if Rails::VERSION::MAJOR >= 8
105
+ assert_match %r{params\.expect\(message: \[ :content, :video, photos: \[\] \]\)}, content
106
+ else
107
+ assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
108
+ end
96
109
  end
97
110
  end
98
111
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-29 00:00:00.000000000 Z
11
+ date: 2024-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -52,11 +52,8 @@ files:
52
52
  - MIT-LICENSE
53
53
  - README.md
54
54
  - Rakefile
55
- - gemfiles/rails_5_0.gemfile
56
- - gemfiles/rails_5_1.gemfile
57
- - gemfiles/rails_5_2.gemfile
58
- - gemfiles/rails_6_0.gemfile
59
- - gemfiles/rails_6_1.gemfile
55
+ - bin/release
56
+ - bin/test
60
57
  - gemfiles/rails_7_0.gemfile
61
58
  - gemfiles/rails_7_1.gemfile
62
59
  - gemfiles/rails_head.gemfile
@@ -77,6 +74,7 @@ files:
77
74
  - lib/jbuilder/jbuilder_template.rb
78
75
  - lib/jbuilder/key_formatter.rb
79
76
  - lib/jbuilder/railtie.rb
77
+ - lib/jbuilder/version.rb
80
78
  - test/jbuilder_dependency_tracker_test.rb
81
79
  - test/jbuilder_generator_test.rb
82
80
  - test/jbuilder_template_test.rb
@@ -89,9 +87,9 @@ licenses:
89
87
  - MIT
90
88
  metadata:
91
89
  bug_tracker_uri: https://github.com/rails/jbuilder/issues
92
- changelog_uri: https://github.com/rails/jbuilder/releases/tag/v2.12.0
90
+ changelog_uri: https://github.com/rails/jbuilder/releases/tag/v2.13.0
93
91
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
94
- source_code_uri: https://github.com/rails/jbuilder/tree/v2.12.0
92
+ source_code_uri: https://github.com/rails/jbuilder/tree/v2.13.0
95
93
  rubygems_mfa_required: 'true'
96
94
  post_install_message:
97
95
  rdoc_options: []
@@ -108,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
106
  - !ruby/object:Gem::Version
109
107
  version: '0'
110
108
  requirements: []
111
- rubygems_version: 3.5.9
109
+ rubygems_version: 3.5.16
112
110
  signing_key:
113
111
  specification_version: 4
114
112
  summary: Create JSON structures via a Builder-style DSL
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rake"
6
- gem "mocha", require: false
7
- gem "appraisal"
8
- gem "rails", "~> 5.0.0"
9
- gem "loofah", "< 2.21.0"
10
-
11
- gemspec path: "../"
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rake"
6
- gem "mocha", require: false
7
- gem "appraisal"
8
- gem "rails", "~> 5.1.0"
9
- gem "loofah", "< 2.21.0"
10
-
11
- gemspec path: "../"
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rake"
6
- gem "mocha", require: false
7
- gem "appraisal"
8
- gem "rails", "~> 5.2.0"
9
- gem "loofah", "< 2.21.0"
10
-
11
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rake"
6
- gem "mocha", require: false
7
- gem "appraisal"
8
- gem "rails", "~> 6.0.0"
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rake"
6
- gem "mocha", require: false
7
- gem "appraisal"
8
- gem "rails", "~> 6.1.0"
9
-
10
- gemspec path: "../"