jbuilder 2.0.6 → 2.11.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +108 -0
  3. data/.gitignore +4 -1
  4. data/Appraisals +25 -0
  5. data/CONTRIBUTING.md +106 -0
  6. data/Gemfile +4 -12
  7. data/MIT-LICENSE +1 -1
  8. data/README.md +171 -45
  9. data/Rakefile +15 -10
  10. data/gemfiles/rails_5_0.gemfile +10 -0
  11. data/gemfiles/rails_5_1.gemfile +10 -0
  12. data/gemfiles/rails_5_2.gemfile +10 -0
  13. data/gemfiles/rails_6_0.gemfile +10 -0
  14. data/gemfiles/rails_6_1.gemfile +10 -0
  15. data/gemfiles/rails_head.gemfile +10 -0
  16. data/jbuilder.gemspec +20 -6
  17. data/lib/generators/rails/jbuilder_generator.rb +13 -2
  18. data/lib/generators/rails/scaffold_controller_generator.rb +9 -3
  19. data/lib/generators/rails/templates/api_controller.rb +63 -0
  20. data/lib/generators/rails/templates/controller.rb +16 -20
  21. data/lib/generators/rails/templates/index.json.jbuilder +1 -4
  22. data/lib/generators/rails/templates/partial.json.jbuilder +16 -0
  23. data/lib/generators/rails/templates/show.json.jbuilder +1 -1
  24. data/lib/jbuilder/blank.rb +11 -0
  25. data/lib/jbuilder/collection_renderer.rb +109 -0
  26. data/lib/jbuilder/dependency_tracker.rb +1 -1
  27. data/lib/jbuilder/errors.rb +24 -0
  28. data/lib/jbuilder/jbuilder.rb +7 -0
  29. data/lib/jbuilder/jbuilder_template.rb +213 -65
  30. data/lib/jbuilder/key_formatter.rb +34 -0
  31. data/lib/jbuilder/railtie.rb +31 -6
  32. data/lib/jbuilder.rb +148 -114
  33. data/test/jbuilder_dependency_tracker_test.rb +3 -4
  34. data/test/jbuilder_generator_test.rb +31 -4
  35. data/test/jbuilder_template_test.rb +313 -195
  36. data/test/jbuilder_test.rb +615 -219
  37. data/test/scaffold_api_controller_generator_test.rb +70 -0
  38. data/test/scaffold_controller_generator_test.rb +62 -19
  39. data/test/test_helper.rb +36 -0
  40. metadata +38 -23
  41. data/.travis.yml +0 -21
  42. data/CHANGELOG.md +0 -89
  43. 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 /@posts = Post\.all/, m
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 /@post = Post\.new/, m
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 /@post = Post\.new\(post_params\)/, m
32
- assert_match /@post\.save/, m
33
- assert_match /format\.html \{ redirect_to @post, notice: 'Post was successfully created\.' \}/, m
34
- assert_match /format\.json \{ render :show, status: :created, location: @post \}/, m
35
- assert_match /format\.html \{ render :new \}/, m
36
- assert_match /format\.json \{ render json: @post\.errors, status: :unprocessable_entity \}/, m
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 /format\.html \{ redirect_to @post, notice: 'Post was successfully updated\.' \}/, m
41
- assert_match /format\.json \{ render :show, status: :ok, location: @post \}/, m
42
- assert_match /format\.html \{ render :edit \}/, m
43
- assert_match /format\.json \{ render json: @post.errors, status: :unprocessable_entity \}/, m
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 /@post\.destroy/, m
48
- assert_match /format\.html { redirect_to posts_url \}/, m
49
- assert_match /format\.json \{ head :no_content \}/, m
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(/def post_params/, content)
53
- assert_match(/params\.require\(:post\)\.permit\(:title, :body\)/, content)
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
@@ -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.0.6
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: 2014-04-08 00:00:00.000000000 Z
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: 3.0.0
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: 3.0.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '5'
26
+ version: 5.0.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: multi_json
28
+ name: actionview
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
31
+ - - ">="
38
32
  - !ruby/object:Gem::Version
39
- version: '1.2'
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: '1.2'
40
+ version: 5.0.0
47
41
  description:
48
- email: david@37signals.com
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
- - ".travis.yml"
55
- - CHANGELOG.md
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: 1.9.3
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
- rubyforge_project:
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