From 100bca496ccb3ede597bb650447adc15bad9627f Mon Sep 17 00:00:00 2001 From: Alfredo Gallegos Date: Sun, 5 Feb 2017 17:29:30 -0600 Subject: [PATCH 1/4] change gemfile to rails 5 release gemfile --- gemfiles/rails_5_0.gemfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gemfiles/rails_5_0.gemfile b/gemfiles/rails_5_0.gemfile index a467394c..12885c7a 100644 --- a/gemfiles/rails_5_0.gemfile +++ b/gemfiles/rails_5_0.gemfile @@ -6,8 +6,8 @@ gem "rake" gem "mocha", :require => false gem "appraisal" gem "pry" -gem "railties", ">= 5.0.0.beta2", "< 5.1" -gem "actionpack", ">= 5.0.0.beta2", "< 5.1" -gem "activemodel", ">= 5.0.0.beta2", "< 5.1" +gem "railties", "~> 5.0.0" +gem "actionpack", "~> 5.0.0" +gem "activemodel", "~> 5.0.0" gemspec :path => "../" From 532ca8a20d37b661b87cf3eaceb3c07cfa065681 Mon Sep 17 00:00:00 2001 From: Alfredo Gallegos Date: Sun, 5 Feb 2017 19:20:24 -0600 Subject: [PATCH 2/4] adds failing tests --- .../jbuilder_generator_with_namespace_test.rb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/jbuilder_generator_with_namespace_test.rb diff --git a/test/jbuilder_generator_with_namespace_test.rb b/test/jbuilder_generator_with_namespace_test.rb new file mode 100644 index 00000000..9969998b --- /dev/null +++ b/test/jbuilder_generator_with_namespace_test.rb @@ -0,0 +1,38 @@ +require 'test_helper' +require 'rails/generators/test_case' +require 'generators/rails/jbuilder_generator' + +class JbuilderGeneratorWithNamespaceTest < Rails::Generators::TestCase + tests Rails::Generators::JbuilderGenerator + arguments %w(api/foo bar:integer baz:string) + destination File.expand_path('../tmp', __FILE__) + setup :prepare_destination + + test 'all views are generated' do + run_generator + + %w(index show).each do |view| + assert_file "app/views/api/foos/#{view}.json.jbuilder" + end + assert_file "app/views/api/foos/_api_foo.json.jbuilder" + end + + test 'the files are correctly structured to work' do + run_generator + + assert_file 'app/views/api/foos/index.json.jbuilder' do |content| + assert_match %r{json.array! @api_foos, partial: 'api/foos/api_foo', as: :api_foo}, content + end + + assert_file 'app/views/api/foos/show.json.jbuilder' do |content| + assert_match %r{json.partial! \"api/foos/api_foo\", api_foo: @api_foo}, content + end + + assert_file 'app/views/api/foos/_api_foo.json.jbuilder' do |content| + assert_match %r{json\.extract! api_foo, :id, :bar, :baz, :created_at, :updated_at}, content + assert_match %r{json\.url api_foo_url\(api_foo, format: :json\)}, content + end + + + end +end From 1e1778c6838f1eeafe629b29106847b8973caa3b Mon Sep 17 00:00:00 2001 From: Alfredo Gallegos Date: Sun, 5 Feb 2017 20:32:25 -0600 Subject: [PATCH 3/4] directories in index and show templates are now correctly generated see github issue #379 --- lib/generators/rails/templates/index.json.jbuilder | 2 +- lib/generators/rails/templates/show.json.jbuilder | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/generators/rails/templates/index.json.jbuilder b/lib/generators/rails/templates/index.json.jbuilder index 4667ef54..00f15ecb 100644 --- a/lib/generators/rails/templates/index.json.jbuilder +++ b/lib/generators/rails/templates/index.json.jbuilder @@ -1 +1 @@ -json.array! @<%= plural_table_name %>, partial: '<%= plural_table_name %>/<%= singular_table_name %>', as: :<%= singular_table_name %> \ No newline at end of file +json.array! @<%= plural_table_name %>, partial: '<%= plural_table_name.gsub('_', '/') %>/<%= singular_table_name %>', as: :<%= singular_table_name %> diff --git a/lib/generators/rails/templates/show.json.jbuilder b/lib/generators/rails/templates/show.json.jbuilder index 683a29c1..90257b2a 100644 --- a/lib/generators/rails/templates/show.json.jbuilder +++ b/lib/generators/rails/templates/show.json.jbuilder @@ -1 +1 @@ -json.partial! "<%= plural_table_name %>/<%= singular_table_name %>", <%= singular_table_name %>: @<%= singular_table_name %> \ No newline at end of file +json.partial! "<%= plural_table_name.gsub('_', '/') %>/<%= singular_table_name %>", <%= singular_table_name %>: @<%= singular_table_name %> From ec8268917e1a4bad56f52e51c65efecf601a9775 Mon Sep 17 00:00:00 2001 From: Alfredo Gallegos Date: Fri, 21 Apr 2017 16:54:13 -0500 Subject: [PATCH 4/4] whitespace fixes --- test/jbuilder_generator_with_namespace_test.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/jbuilder_generator_with_namespace_test.rb b/test/jbuilder_generator_with_namespace_test.rb index 9969998b..7e21a380 100644 --- a/test/jbuilder_generator_with_namespace_test.rb +++ b/test/jbuilder_generator_with_namespace_test.rb @@ -32,7 +32,5 @@ class JbuilderGeneratorWithNamespaceTest < Rails::Generators::TestCase assert_match %r{json\.extract! api_foo, :id, :bar, :baz, :created_at, :updated_at}, content assert_match %r{json\.url api_foo_url\(api_foo, format: :json\)}, content end - - end end