module SpreeI18n
  module Generators
    class InstallGenerator < Rails::Generators::Base
      class_option :auto_run_migrations, :type => :boolean, :default => true

      def add_javascripts
        append_file "app/assets/javascripts/admin/all.js", "//= require admin/spree_i18n"
        append_file "app/assets/javascripts/store/all.js", "//= require store/spree_i18n"
      end

      def add_stylesheets
        inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/spree_i18n\n",
          :before => /\*\//, :verbose => true
      end

      def add_migrations
        run 'rake railties:install:migrations FROM=spree_i18n'
      end

      def run_migrations
         if options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask "Would you like to run the migrations now? [Y/n]")
           run 'rake db:migrate'
         else
           puts "Skiping rake db:migrate, don't forget to run it!"
         end
      end
    end
  end
end

module SpreeI18n
  module Generators
    class InstallGenerator < Rails::Generators::Base
      class_option :auto_run_migrations, :type => :boolean, :default => true

      def add_javascripts
        append_file "app/assets/javascripts/admin/all.js", "//= require admin/spree_i18n\n"
        append_file "app/assets/javascripts/store/all.js", "//= require store/spree_i18n\n"
      end

      def add_stylesheets
        inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/spree_i18n\n",
          :before => /\*\//, :verbose => true
      end

      def add_migrations
        run 'rake railties:install:migrations FROM=spree_i18n'
      end

      def run_migrations
         if options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask "Would you like to run the migrations now? [Y/n]")
           run 'rake db:migrate'
         else
           puts "Skiping rake db:migrate, don't forget to run it!"
         end
      end
    end
  end
end

Add newline for append_file arguments in add_javascripts (install)
Add newline for append_file arguments in add_javascripts (install)

Using append_file without a new line in add_javascripts() causes the
file `all.js' to be saved without a new line at the end and making the
next (different) plugin install fail to write valid data to this file.
For example after installing spree_reviews which appends jquery.rating
to all.js the diff looks like:

   -//= require store/spree_i18n
   \ No newline at end of file
   +//= require store/spree_i18n//= require jquery.rating

Added '\n' suffix for the string arguments of append_file to fix.

Signed-off-by: Ali Polatel <0f146d6181d0bc316e9106f837f865c4cdfe1dea@ozguryazilim.com.tr>
