Class: Skyline::Cli::Init
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Skyline::Cli::Init
- Includes:
- Thor::Actions
- Defined in:
- lib/skyline/cli/init.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_config_gem ⇒ Object
- #add_default_pages_route ⇒ Object
- #copy_assets ⇒ Object
- #create_development_upload_paths ⇒ Object
- #create_skyline_config ⇒ Object
- #create_stub_tasks_file ⇒ Object
- #create_template_path ⇒ Object
- #remove_default_rails_assets ⇒ Object
- #verify_rails_dir ⇒ Object
Class Method Details
Instance Method Details
#add_config_gem ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/skyline/cli/init.rb', line 23 def add_config_gem environment_rb = (self.target_dir + "config/environment.rb") if File.read(environment_rb) =~ /^\s*config.gem\s+[\":']skylinecms[\"']?(.+[\":']version[\"']?\s*=>\s*[\"'](.+)[\"'])?/i say_status "exist", "Already found gem version #{$2}, not doing anything, check gem dependency manually", :blue else say "=> Adding config.gem line to environment.rb" inject_into_file environment_rb, :after => "Rails::Initializer.run do |config|\n" do " config.gem \"skylinecms\", :version => \"#{Skyline::VERSION::STRING}\"\n" end end end |
#add_default_pages_route ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/skyline/cli/init.rb', line 80 def add_default_pages_route routes_rb = self.target_dir + "config/routes.rb" route_string = "map.connect '*url', :controller => \"skyline/site/pages\", :action => \"show\"" say "=> Add default pages route" if File.read(routes_rb) =~ /#{Regexp.escape(route_string)}$/ say_status "exist", "default pages route", :blue else inject_into_file routes_rb, :after => "map.connect ':controller/:action/:id.:format'\n" do "\n" + " # The default Skyline pages route\n" + " #{route_string}\n" end end end |
#copy_assets ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/skyline/cli/init.rb', line 45 def copy_assets say "=> Copying assets" public_dir = (self.target_dir + "public/skyline") if public_dir.exist? || File.symlink?(public_dir) if shell.file_collision("public/skyline") FileUtils.rm_rf(public_dir) else return end end directory "public/skyline/images", public_dir + "images", :recursive => true directory "public/skyline/stylesheets", public_dir + "stylesheets", :recursive => true directory "public/skyline/javascripts", public_dir + "javascripts", :recursive => true end |
#create_development_upload_paths ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/skyline/cli/init.rb', line 67 def create_development_upload_paths say "=> Creating development upload paths" empty_directory self.target_dir + "tmp" empty_directory self.target_dir + "tmp/upload" empty_directory self.target_dir + "tmp/cache/media_files/cache" empty_directory self.target_dir + "tmp/cache/rss_sections/cache" end |
#create_skyline_config ⇒ Object
62 63 64 65 |
# File 'lib/skyline/cli/init.rb', line 62 def create_skyline_config say "=> Creating config/initializers/skyline_configuration.rb" copy_file self.template_dir + "config/initializers/skyline_configuration.rb", self.target_dir + "config/initializers/skyline_configuration.rb" end |
#create_stub_tasks_file ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/skyline/cli/init.rb', line 35 def create_stub_tasks_file tasks_dir = (self.target_dir + "lib/tasks") say "=> Creating lib/tasks directory" empty_directory tasks_dir say "=> Creating lib/tasks/skyline.rake" copy_file self.template_dir + "tasks/skyline.rake", tasks_dir + "skyline.rake" end |
#create_template_path ⇒ Object
75 76 77 78 |
# File 'lib/skyline/cli/init.rb', line 75 def create_template_path say "=> Creating skyline template path" empty_directory self.target_dir + "app/templates" end |
#remove_default_rails_assets ⇒ Object
96 97 98 99 100 101 102 103 104 |
# File 'lib/skyline/cli/init.rb', line 96 def remove_default_rails_assets say "=> Removing default rails assets" %w{public/index.html public/images/rails.png}.each do |f| if (self.target_dir + f).exist? say_status "removing", f FileUtils.rm(self.target_dir + f) end end end |
#verify_rails_dir ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/skyline/cli/init.rb', line 13 def verify_rails_dir say "=> Verifying if this is a Rails(like) app" unless (self.target_dir + "lib").exist? && (self.target_dir + "public").exist? && (self.target_dir + "config/environment.rb").exist? raise Thor::Error, "This does not seem like a valid Rails app (need lib, public and config/environment.rb)" end end |