diff --git a/bootscaf.gemspec b/bootscaf.gemspec index 39a2335..b638856 100644 --- a/bootscaf.gemspec +++ b/bootscaf.gemspec @@ -19,6 +19,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_dependency "thor" + spec.add_dependency "rails" spec.add_development_dependency "rspec" end diff --git a/lib/bootscaf/cli.rb b/lib/bootscaf/cli.rb index 2cc15b7..53cf210 100644 --- a/lib/bootscaf/cli.rb +++ b/lib/bootscaf/cli.rb @@ -1,6 +1,7 @@ # encoding: utf-8 require 'thor' require 'net/http' +require 'rails' # Detect Rails version require_relative 'utils.rb' require_relative 'version.rb' @@ -64,7 +65,11 @@ def nest(nestpath) print `sed #{icmd} -e 's/#{modelname.capitalize} - $/#{modelname.capitalize} - #{singularized_ancestors.last.capitalize} <%= @#{singularized_ancestors.last}.id %>/' app/views/#{modelname}/index.html.erb` print `sed #{icmd} -e 's/.html_safe, "\\/", /.html_safe, [#{singularized_ancestors.map{|sa| "@#{sa}"}.join(', ')}], /' app/views/#{modelname}/index.html.erb` print `sed #{icmd} -e 's/.html_safe, \\[:new, :#{singular_modelname}\\], /.html_safe, [:new, #{singularized_ancestors.map{|sa| "@#{sa}"}.join(', ')}, :#{singular_modelname}], /' app/views/#{modelname}/index.html.erb` - print `sed #{icmd} -e 's/Listing #{modelname.capitalize}$/Listing #{modelname.capitalize}\\\n #{singularized_ancestors.last.capitalize} <%= @#{singularized_ancestors.last}.id %><\\/small>/' app/views/#{modelname}/index.html.erb` + if Rails::VERSION::MAJOR >= 5 + print `sed #{icmd} -e 's/#{modelname.capitalize}$/#{modelname.capitalize}\\\n #{singularized_ancestors.last.capitalize} <%= @#{singularized_ancestors.last}.id %><\\/small>/' app/views/#{modelname}/index.html.erb` + else + print `sed #{icmd} -e 's/Listing #{modelname.capitalize}$/Listing #{modelname.capitalize}\\\n #{singularized_ancestors.last.capitalize} <%= @#{singularized_ancestors.last}.id %><\\/small>/' app/views/#{modelname}/index.html.erb` + end print `sed #{icmd} -e 's/data-href="<%= #{singular_modelname}_path(#{singular_modelname}) %>"/data-href="<%= polymorphic_path([#{singularized_ancestors.map{|sa| "@#{sa}"}.join(', ')}, #{singular_modelname}]) %>"/' app/views/#{modelname}/index.html.erb` print `sed #{icmd} -e 's/, #{singular_modelname} %><\\/td>/, [#{singularized_ancestors.map{|sa| "@#{sa}"}.join(', ')}, #{singular_modelname}] %><\\/td>/' app/views/#{modelname}/index.html.erb` @@ -220,7 +225,11 @@ def update(modelname = nil) print "Updating app/views/#{modelname}/index.html.erb. " print `sed #{icmd} -e 's/

<%= notice %><\\/p>//' app/views/#{modelname}/index.html.erb` - print `sed #{icmd} -e 's/

Listing \\(.*\\)s<\\/h1>/<% content_for :page_title do %>\\\n\\1s - \\\n<% end %>\\\n
\\\n