lib/bones/generators/install_generator.rb in bones-rails-0.1.0 vs lib/bones/generators/install_generator.rb in bones-rails-1.0.0

- old
+ new

@@ -2,16 +2,40 @@ require 'rails/generators' module Bones module Generators class InstallGenerator < Rails::Generators::Base - #source_root File.expand_path('../templates', __FILE__) - desc "This is the description" + desc "Moves assets out of the gem directory and into the visible asset pipeline" def add_assets - prepend_to_file "app/assets/stylesheets/application.scss", "@import 'bones';\n" - settings_file = File.join(File.dirname(__FILE__),"..","..","..","app","assets","stylesheets","bones","config","bones_config.scss") - create_file "app/assets/stylesheets/bones_config.scss", File.read(settings_file) + styles_dir = "#{Rails.root}/app/assets/stylesheets" + bones_dir = "#{File.dirname(__FILE__)}/../../../app/assets/stylesheets/bones" + + # make sure application is scss file + if !File.exist?("#{styles_dir}/application.scss") + if File.exist?("#{styles_dir}/application.css") + `mv #{styles_dir}/application.css #{styles_dir}/application.scss` + elsif File.exist?("#{styles_dir}/application.css.scss") + `mv #{styles_dir}/application.css.scss #{styles_dir}/application.scss` + else + `touch #{styles_dir}/application.scss` + end + end + + # add "@import 'bones/bones'; to application.scss" + prepend_to_file "app/assets/stylesheets/application.scss", "@import 'bones/bones';\n" + # make directory for bones files + `mkdir #{styles_dir}/bones` + puts "--> created directory: app/assets/stylesheets/bones" + # copy config directory + `cp -R #{bones_dir}/config/ #{styles_dir}/bones/bones-config` + puts "--> copied Bones config files into app/assets/stylesheets/bones/bones-config" + # copy main config file + `cp #{bones_dir}/config.scss #{styles_dir}/bones/bones.scss` + puts "--> copied main Bones configuration file into app/assets/stylesheets/bones" + + # success! + puts "\n--> Bones is ready.\n\nHooray! Edit files in app/assets/stylesheets/bones/bones-config to your liking and watch your app change on the fly!" end end end end \ No newline at end of file