jbuilder 2.0.6 → 2.11.5
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 +5 -5
- data/.github/workflows/ruby.yml +108 -0
- data/.gitignore +4 -1
- data/Appraisals +25 -0
- data/CONTRIBUTING.md +106 -0
- data/Gemfile +4 -12
- data/MIT-LICENSE +1 -1
- data/README.md +171 -45
- data/Rakefile +15 -10
- data/gemfiles/rails_5_0.gemfile +10 -0
- data/gemfiles/rails_5_1.gemfile +10 -0
- data/gemfiles/rails_5_2.gemfile +10 -0
- data/gemfiles/rails_6_0.gemfile +10 -0
- data/gemfiles/rails_6_1.gemfile +10 -0
- data/gemfiles/rails_head.gemfile +10 -0
- data/jbuilder.gemspec +20 -6
- data/lib/generators/rails/jbuilder_generator.rb +13 -2
- data/lib/generators/rails/scaffold_controller_generator.rb +9 -3
- data/lib/generators/rails/templates/api_controller.rb +63 -0
- data/lib/generators/rails/templates/controller.rb +16 -20
- data/lib/generators/rails/templates/index.json.jbuilder +1 -4
- data/lib/generators/rails/templates/partial.json.jbuilder +16 -0
- data/lib/generators/rails/templates/show.json.jbuilder +1 -1
- data/lib/jbuilder/blank.rb +11 -0
- data/lib/jbuilder/collection_renderer.rb +109 -0
- data/lib/jbuilder/dependency_tracker.rb +1 -1
- data/lib/jbuilder/errors.rb +24 -0
- data/lib/jbuilder/jbuilder.rb +7 -0
- data/lib/jbuilder/jbuilder_template.rb +213 -65
- data/lib/jbuilder/key_formatter.rb +34 -0
- data/lib/jbuilder/railtie.rb +31 -6
- data/lib/jbuilder.rb +148 -114
- data/test/jbuilder_dependency_tracker_test.rb +3 -4
- data/test/jbuilder_generator_test.rb +31 -4
- data/test/jbuilder_template_test.rb +313 -195
- data/test/jbuilder_test.rb +615 -219
- data/test/scaffold_api_controller_generator_test.rb +70 -0
- data/test/scaffold_controller_generator_test.rb +62 -19
- data/test/test_helper.rb +36 -0
- metadata +38 -23
- data/.travis.yml +0 -21
- data/CHANGELOG.md +0 -89
- data/Gemfile.old +0 -14
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'rails/generators/test_case'
|
3
|
+
require 'generators/rails/scaffold_controller_generator'
|
4
|
+
|
5
|
+
if Rails::VERSION::MAJOR > 4
|
6
|
+
|
7
|
+
class ScaffoldApiControllerGeneratorTest < Rails::Generators::TestCase
|
8
|
+
tests Rails::Generators::ScaffoldControllerGenerator
|
9
|
+
arguments %w(Post title body:text images:attachments --api)
|
10
|
+
destination File.expand_path('../tmp', __FILE__)
|
11
|
+
setup :prepare_destination
|
12
|
+
|
13
|
+
test 'controller content' do
|
14
|
+
run_generator
|
15
|
+
|
16
|
+
assert_file 'app/controllers/posts_controller.rb' do |content|
|
17
|
+
assert_instance_method :index, content do |m|
|
18
|
+
assert_match %r{@posts = Post\.all}, m
|
19
|
+
end
|
20
|
+
|
21
|
+
assert_instance_method :show, content do |m|
|
22
|
+
assert m.blank?
|
23
|
+
end
|
24
|
+
|
25
|
+
assert_instance_method :create, content do |m|
|
26
|
+
assert_match %r{@post = Post\.new\(post_params\)}, m
|
27
|
+
assert_match %r{@post\.save}, m
|
28
|
+
assert_match %r{render :show, status: :created, location: @post}, m
|
29
|
+
assert_match %r{render json: @post\.errors, status: :unprocessable_entity}, m
|
30
|
+
end
|
31
|
+
|
32
|
+
assert_instance_method :update, content do |m|
|
33
|
+
assert_match %r{render :show, status: :ok, location: @post}, m
|
34
|
+
assert_match %r{render json: @post.errors, status: :unprocessable_entity}, m
|
35
|
+
end
|
36
|
+
|
37
|
+
assert_instance_method :destroy, content do |m|
|
38
|
+
assert_match %r{@post\.destroy}, m
|
39
|
+
end
|
40
|
+
|
41
|
+
assert_match %r{def post_params}, content
|
42
|
+
if Rails::VERSION::MAJOR >= 6
|
43
|
+
assert_match %r{params\.require\(:post\)\.permit\(:title, :body, images: \[\]\)}, content
|
44
|
+
else
|
45
|
+
assert_match %r{params\.require\(:post\)\.permit\(:title, :body, :images\)}, content
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
test "don't use require and permit if there are no attributes" do
|
51
|
+
run_generator %w(Post --api)
|
52
|
+
|
53
|
+
assert_file 'app/controllers/posts_controller.rb' do |content|
|
54
|
+
assert_match %r{def post_params}, content
|
55
|
+
assert_match %r{params\.fetch\(:post, \{\}\)}, content
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
if Rails::VERSION::MAJOR >= 6
|
61
|
+
test 'handles virtual attributes' do
|
62
|
+
run_generator ["Message", "content:rich_text", "video:attachment", "photos:attachments"]
|
63
|
+
|
64
|
+
assert_file 'app/controllers/messages_controller.rb' do |content|
|
65
|
+
assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
require 'test_helper'
|
1
2
|
require 'rails/generators/test_case'
|
2
3
|
require 'generators/rails/scaffold_controller_generator'
|
3
4
|
|
4
5
|
class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
|
5
6
|
tests Rails::Generators::ScaffoldControllerGenerator
|
6
|
-
arguments %w(Post title body:text)
|
7
|
+
arguments %w(Post title body:text images:attachments)
|
7
8
|
destination File.expand_path('../tmp', __FILE__)
|
8
9
|
setup :prepare_destination
|
9
10
|
|
@@ -12,7 +13,7 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
|
|
12
13
|
|
13
14
|
assert_file 'app/controllers/posts_controller.rb' do |content|
|
14
15
|
assert_instance_method :index, content do |m|
|
15
|
-
assert_match
|
16
|
+
assert_match %r{@posts = Post\.all}, m
|
16
17
|
end
|
17
18
|
|
18
19
|
assert_instance_method :show, content do |m|
|
@@ -20,7 +21,7 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
|
|
20
21
|
end
|
21
22
|
|
22
23
|
assert_instance_method :new, content do |m|
|
23
|
-
assert_match
|
24
|
+
assert_match %r{@post = Post\.new}, m
|
24
25
|
end
|
25
26
|
|
26
27
|
assert_instance_method :edit, content do |m|
|
@@ -28,29 +29,71 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
|
|
28
29
|
end
|
29
30
|
|
30
31
|
assert_instance_method :create, content do |m|
|
31
|
-
assert_match
|
32
|
-
assert_match
|
33
|
-
assert_match
|
34
|
-
assert_match
|
35
|
-
assert_match
|
36
|
-
assert_match
|
32
|
+
assert_match %r{@post = Post\.new\(post_params\)}, m
|
33
|
+
assert_match %r{@post\.save}, m
|
34
|
+
assert_match %r{format\.html \{ redirect_to post_url\(@post\), notice: "Post was successfully created\." \}}, m
|
35
|
+
assert_match %r{format\.json \{ render :show, status: :created, location: @post \}}, m
|
36
|
+
assert_match %r{format\.html \{ render :new, status: :unprocessable_entity \}}, m
|
37
|
+
assert_match %r{format\.json \{ render json: @post\.errors, status: :unprocessable_entity \}}, m
|
37
38
|
end
|
38
39
|
|
39
40
|
assert_instance_method :update, content do |m|
|
40
|
-
assert_match
|
41
|
-
assert_match
|
42
|
-
assert_match
|
43
|
-
assert_match
|
41
|
+
assert_match %r{format\.html \{ redirect_to post_url\(@post\), notice: "Post was successfully updated\." \}}, m
|
42
|
+
assert_match %r{format\.json \{ render :show, status: :ok, location: @post \}}, m
|
43
|
+
assert_match %r{format\.html \{ render :edit, status: :unprocessable_entity \}}, m
|
44
|
+
assert_match %r{format\.json \{ render json: @post.errors, status: :unprocessable_entity \}}, m
|
44
45
|
end
|
45
46
|
|
46
47
|
assert_instance_method :destroy, content do |m|
|
47
|
-
assert_match
|
48
|
-
assert_match
|
49
|
-
assert_match
|
48
|
+
assert_match %r{@post\.destroy}, m
|
49
|
+
assert_match %r{format\.html \{ redirect_to posts_url, notice: "Post was successfully destroyed\." \}}, m
|
50
|
+
assert_match %r{format\.json \{ head :no_content \}}, m
|
50
51
|
end
|
51
52
|
|
52
|
-
assert_match
|
53
|
-
|
53
|
+
assert_match %r{def post_params}, content
|
54
|
+
if Rails::VERSION::MAJOR >= 6
|
55
|
+
assert_match %r{params\.require\(:post\)\.permit\(:title, :body, images: \[\]\)}, content
|
56
|
+
else
|
57
|
+
assert_match %r{params\.require\(:post\)\.permit\(:title, :body, :images\)}, content
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
if Rails::VERSION::MAJOR >= 6
|
63
|
+
test 'controller with namespace' do
|
64
|
+
run_generator %w(Admin::Post --model-name=Post)
|
65
|
+
assert_file 'app/controllers/admin/posts_controller.rb' do |content|
|
66
|
+
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
|
68
|
+
end
|
69
|
+
|
70
|
+
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
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_instance_method :destroy, content do |m|
|
75
|
+
assert_match %r{format\.html \{ redirect_to admin_posts_url, notice: "Post was successfully destroyed\." \}}, m
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
test "don't use require and permit if there are no attributes" do
|
82
|
+
run_generator %w(Post)
|
83
|
+
|
84
|
+
assert_file 'app/controllers/posts_controller.rb' do |content|
|
85
|
+
assert_match %r{def post_params}, content
|
86
|
+
assert_match %r{params\.fetch\(:post, \{\}\)}, content
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
if Rails::VERSION::MAJOR >= 6
|
91
|
+
test 'handles virtual attributes' do
|
92
|
+
run_generator %w(Message content:rich_text video:attachment photos:attachments)
|
93
|
+
|
94
|
+
assert_file 'app/controllers/messages_controller.rb' do |content|
|
95
|
+
assert_match %r{params\.require\(:message\)\.permit\(:content, :video, photos: \[\]\)}, content
|
96
|
+
end
|
54
97
|
end
|
55
98
|
end
|
56
|
-
end
|
99
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require "bundler/setup"
|
2
|
+
|
3
|
+
require "rails"
|
4
|
+
|
5
|
+
require "jbuilder"
|
6
|
+
|
7
|
+
require "active_support/core_ext/array/access"
|
8
|
+
require "active_support/cache/memory_store"
|
9
|
+
require "active_support/json"
|
10
|
+
require "active_model"
|
11
|
+
|
12
|
+
require "active_support/testing/autorun"
|
13
|
+
require "mocha/minitest"
|
14
|
+
|
15
|
+
ActiveSupport.test_order = :random
|
16
|
+
|
17
|
+
class << Rails
|
18
|
+
def cache
|
19
|
+
@cache ||= ActiveSupport::Cache::MemoryStore.new
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Jbuilder::CollectionRenderer.collection_cache = Rails.cache
|
24
|
+
|
25
|
+
class Post < Struct.new(:id, :body, :author_name)
|
26
|
+
def cache_key
|
27
|
+
"post-#{id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Racer < Struct.new(:id, :name)
|
32
|
+
extend ActiveModel::Naming
|
33
|
+
include ActiveModel::Conversion
|
34
|
+
end
|
35
|
+
|
36
|
+
ActionView::Template.register_template_handler :jbuilder, JbuilderHandler
|
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.
|
4
|
+
version: 2.11.5
|
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:
|
11
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,67 +16,81 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '5'
|
19
|
+
version: 5.0.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '5'
|
26
|
+
version: 5.0.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
28
|
+
name: actionview
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "
|
31
|
+
- - ">="
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
33
|
+
version: 5.0.0
|
40
34
|
type: :runtime
|
41
35
|
prerelease: false
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
|
-
- - "
|
38
|
+
- - ">="
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
40
|
+
version: 5.0.0
|
47
41
|
description:
|
48
|
-
email: david@
|
42
|
+
email: david@basecamp.com
|
49
43
|
executables: []
|
50
44
|
extensions: []
|
51
45
|
extra_rdoc_files: []
|
52
46
|
files:
|
47
|
+
- ".github/workflows/ruby.yml"
|
53
48
|
- ".gitignore"
|
54
|
-
-
|
55
|
-
-
|
49
|
+
- Appraisals
|
50
|
+
- CONTRIBUTING.md
|
56
51
|
- Gemfile
|
57
|
-
- Gemfile.old
|
58
52
|
- MIT-LICENSE
|
59
53
|
- README.md
|
60
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
|
60
|
+
- gemfiles/rails_head.gemfile
|
61
61
|
- jbuilder.gemspec
|
62
62
|
- lib/generators/rails/jbuilder_generator.rb
|
63
63
|
- lib/generators/rails/scaffold_controller_generator.rb
|
64
|
+
- lib/generators/rails/templates/api_controller.rb
|
64
65
|
- lib/generators/rails/templates/controller.rb
|
65
66
|
- lib/generators/rails/templates/index.json.jbuilder
|
67
|
+
- lib/generators/rails/templates/partial.json.jbuilder
|
66
68
|
- lib/generators/rails/templates/show.json.jbuilder
|
67
69
|
- lib/jbuilder.rb
|
70
|
+
- lib/jbuilder/blank.rb
|
71
|
+
- lib/jbuilder/collection_renderer.rb
|
68
72
|
- lib/jbuilder/dependency_tracker.rb
|
73
|
+
- lib/jbuilder/errors.rb
|
74
|
+
- lib/jbuilder/jbuilder.rb
|
69
75
|
- lib/jbuilder/jbuilder_template.rb
|
76
|
+
- lib/jbuilder/key_formatter.rb
|
70
77
|
- lib/jbuilder/railtie.rb
|
71
78
|
- test/jbuilder_dependency_tracker_test.rb
|
72
79
|
- test/jbuilder_generator_test.rb
|
73
80
|
- test/jbuilder_template_test.rb
|
74
81
|
- test/jbuilder_test.rb
|
82
|
+
- test/scaffold_api_controller_generator_test.rb
|
75
83
|
- test/scaffold_controller_generator_test.rb
|
84
|
+
- test/test_helper.rb
|
76
85
|
homepage: https://github.com/rails/jbuilder
|
77
86
|
licenses:
|
78
87
|
- MIT
|
79
|
-
metadata:
|
88
|
+
metadata:
|
89
|
+
bug_tracker_uri: https://github.com/rails/jbuilder/issues
|
90
|
+
changelog_uri: https://github.com/rails/jbuilder/releases/tag/v2.11.5
|
91
|
+
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
92
|
+
source_code_uri: https://github.com/rails/jbuilder/tree/v2.11.5
|
93
|
+
rubygems_mfa_required: 'true'
|
80
94
|
post_install_message:
|
81
95
|
rdoc_options: []
|
82
96
|
require_paths:
|
@@ -85,15 +99,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
99
|
requirements:
|
86
100
|
- - ">="
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
102
|
+
version: 2.2.2
|
89
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
104
|
requirements:
|
91
105
|
- - ">="
|
92
106
|
- !ruby/object:Gem::Version
|
93
107
|
version: '0'
|
94
108
|
requirements: []
|
95
|
-
|
96
|
-
rubygems_version: 2.2.0
|
109
|
+
rubygems_version: 3.2.32
|
97
110
|
signing_key:
|
98
111
|
specification_version: 4
|
99
112
|
summary: Create JSON structures via a Builder-style DSL
|
@@ -102,4 +115,6 @@ test_files:
|
|
102
115
|
- test/jbuilder_generator_test.rb
|
103
116
|
- test/jbuilder_template_test.rb
|
104
117
|
- test/jbuilder_test.rb
|
118
|
+
- test/scaffold_api_controller_generator_test.rb
|
105
119
|
- test/scaffold_controller_generator_test.rb
|
120
|
+
- test/test_helper.rb
|
data/.travis.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
rvm:
|
4
|
-
- 1.9.3
|
5
|
-
- 2.0.0
|
6
|
-
- 2.1.0
|
7
|
-
- 2.1.1
|
8
|
-
- jruby-19mode
|
9
|
-
- rbx
|
10
|
-
|
11
|
-
gemfile:
|
12
|
-
- Gemfile.old
|
13
|
-
- Gemfile
|
14
|
-
|
15
|
-
matrix:
|
16
|
-
allow_failures:
|
17
|
-
- rvm: jruby-19mode
|
18
|
-
- rvm: rbx
|
19
|
-
|
20
|
-
notifications:
|
21
|
-
email: false
|
data/CHANGELOG.md
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
2.0.5
|
4
|
-
-----
|
5
|
-
* [Fix edgecase when json is defined as a method](https://github.com/rails/jbuilder/commit/ca711a0c0a5760e26258ce2d93c14bef8fff0ead)
|
6
|
-
|
7
|
-
2.0.4
|
8
|
-
-----
|
9
|
-
* [Add cache_if! to conditionally cache JSON fragments](https://github.com/rails/jbuilder/commit/14a5afd8a2c939a6fd710d355a194c114db96eb2)
|
10
|
-
|
11
|
-
2.0.3
|
12
|
-
-----
|
13
|
-
* [Pass options when calling cache_fragment_name](https://github.com/rails/jbuilder/commit/07c2cc7486fe9ef423d7bc821b83f6d485f330e0)
|
14
|
-
|
15
|
-
2.0.2
|
16
|
-
-----
|
17
|
-
* [Fix Dependency Tracking fail to detect single-quoted partial correctly](https://github.com/rails/jbuilder/commit/448679a6d3098eb34d137f782a05f1767711991a)
|
18
|
-
* [Prevent Dependency Tracker constants leaking into global namespace](https://github.com/rails/jbuilder/commit/3544b288b63f504f46fa8aafd1d17ee198d77536)
|
19
|
-
|
20
|
-
2.0.1
|
21
|
-
-----
|
22
|
-
* [Dependency tracking support for Rails 3 with cache_digest gem](https://github.com/rails/jbuilder/commit/6b471d7a38118e8f7645abec21955ef793401daf)
|
23
|
-
|
24
|
-
2.0.0
|
25
|
-
-----
|
26
|
-
* [Respond to PUT/PATCH API request with :ok](https://github.com/rails/jbuilder/commit/9dbce9c12181e89f8f472ac23c764ffe8438040a)
|
27
|
-
* [Remove Ruby 1.8 support](https://github.com/rails/jbuilder/commit/d53fff42d91f33d662eafc2561c4236687ecf6c9)
|
28
|
-
* [Remove deprecated two argument block call](https://github.com/rails/jbuilder/commit/07a35ee7e79ae4b06dba9dbff5c4e07c1e627218)
|
29
|
-
* [Make Jbuilder object initialize with single hash](https://github.com/rails/jbuilder/commit/38bf551db0189327aaa90b9be010c0d1b792c007)
|
30
|
-
* [Track template dependencies](https://github.com/rails/jbuilder/commit/8e73cea39f60da1384afd687cc8e5e399630d8cc)
|
31
|
-
* [Expose merge! method](https://github.com/rails/jbuilder/commit/0e2eb47f6f3c01add06a1a59b37cdda8baf24f29)
|
32
|
-
|
33
|
-
1.5.3
|
34
|
-
-----
|
35
|
-
* [Generators add `:id` column by default](https://github.com/rails/jbuilder/commit/0b52b86773e48ac2ce35d4155c7b70ad8b3e8937)
|
36
|
-
|
37
|
-
1.5.2
|
38
|
-
-----
|
39
|
-
* [Nil-collection should be treated as empty array](https://github.com/rails/jbuilder/commit/2f700bb00ab663c6b7fcb28d2967aeb989bd43c7)
|
40
|
-
|
41
|
-
1.5.1
|
42
|
-
-----
|
43
|
-
* [Expose template lookup options](https://github.com/rails/jbuilder/commit/404c18dee1af96ac6d8052a04062629ef1db2945)
|
44
|
-
|
45
|
-
1.5.0
|
46
|
-
-----
|
47
|
-
* [Do not perform any caching when `controller.perform_caching` is false](https://github.com/rails/jbuilder/commit/94633facde1ac43580f8cd5e13ae9cc83e1da8f4)
|
48
|
-
* [Add partial collection rendering](https://github.com/rails/jbuilder/commit/e8c10fc885e41b18178aaf4dcbc176961c928d76)
|
49
|
-
* [Deprecate extract! calling private methods](https://github.com/rails/jbuilder/commit/b9e19536c2105d7f2e813006bbcb8ca5730d28a3)
|
50
|
-
* [Add array of partials rendering](https://github.com/rails/jbuilder/commit/7d7311071720548047f98f14ad013c560b8d9c3a)
|
51
|
-
|
52
|
-
1.4.2
|
53
|
-
-----
|
54
|
-
* [Require MIME dependency explicitly](https://github.com/rails/jbuilder/commit/b1ed5ac4f08b056f8839b4b19b43562e81e02a59)
|
55
|
-
|
56
|
-
1.4.1
|
57
|
-
-----
|
58
|
-
* [Removed deprecated positioned arguments initializer support](https://github.com/rails/jbuilder/commit/6e03e0452073eeda77e6dfe66aa31e5ec67a3531)
|
59
|
-
* [Deprecate two-arguments block calling](https://github.com/rails/jbuilder/commit/2b10bb058bb12bc782cbcc16f6ec67b489e5ed43)
|
60
|
-
|
61
|
-
1.4.0
|
62
|
-
-----
|
63
|
-
* [Add quick collection attribute extraction](https://github.com/rails/jbuilder/commit/c2b966cf653ea4264fbb008b8cc6ce5359ebe40a)
|
64
|
-
* [Block has priority over attributes extraction](https://github.com/rails/jbuilder/commit/77c24766362c02769d81dac000b1879a9e4d4a00)
|
65
|
-
* [Meaningfull error messages when adding properties to null](https://github.com/rails/jbuilder/commit/e26764602e34b3772e57e730763d512e59489e3b)
|
66
|
-
* [Do not enforce template format, enforce handlers instead](https://github.com/rails/jbuilder/commit/72576755224b15da45e50cbea877679800ab1398)
|
67
|
-
|
68
|
-
1.3.0
|
69
|
-
-----
|
70
|
-
* [Add nil! method for nil JSON](https://github.com/rails/jbuilder/commit/822a906f68664f61a1209336bb681077692c8475)
|
71
|
-
|
72
|
-
1.2.1
|
73
|
-
-----
|
74
|
-
* [Added explicit dependency for MultiJson](https://github.com/rails/jbuilder/commit/4d58eacb6cd613679fb243484ff73a79bbbff2d2
|
75
|
-
|
76
|
-
1.2.0
|
77
|
-
-----
|
78
|
-
* Multiple documentation improvements and internal refactoring
|
79
|
-
* [Fixes fragment caching to work with latest digests](https://github.com/rails/jbuilder/commit/da937d6b8732124074c612abb7ff38868d1d96c0)
|
80
|
-
|
81
|
-
1.0.2
|
82
|
-
-----
|
83
|
-
* [Support non-Enumerable collections](https://github.com/rails/jbuilder/commit/4c20c59bf8131a1e419bb4ebf84f2b6bdcb6b0cf)
|
84
|
-
* [Ensure that the default URL is in json format](https://github.com/rails/jbuilder/commit/0b46782fb7b8c34a3c96afa801fe27a5a97118a4)
|
85
|
-
|
86
|
-
1.0.0
|
87
|
-
-----
|
88
|
-
* Adopt Semantic Versioning
|
89
|
-
* Add rails generators
|
data/Gemfile.old
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec
|
4
|
-
|
5
|
-
gem 'rake'
|
6
|
-
gem 'mocha', :require => false
|
7
|
-
gem 'actionpack', '~> 3.0'
|
8
|
-
|
9
|
-
platforms :rbx do
|
10
|
-
gem 'rubysl', '~> 2.0'
|
11
|
-
gem 'json', '~> 1.8'
|
12
|
-
gem 'rubysl-test-unit'
|
13
|
-
gem 'rubinius-developer_tools'
|
14
|
-
end
|