Class: Stackoverfeeds::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/stackoverfeeds/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_assetsObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 10

def add_assets
  css_manifest = 'app/assets/stylesheets/application.css'

  if File.exist?(css_manifest)
    content = File.read(css_manifest)
    unless content.match(/require_tree\s+\.\s*$/) || content.match(/require stackoverfeeds\/feeds/)
      style_require_block = "\r\n*= require stackoverfeeds/feeds\r\n"
      insert_into_file css_manifest, style_require_block, :before => "*/"
    end
  else
    copy_file 'application.css', 'app/assets/stylesheets/application.css'
  end

  js_manifest = 'app/assets/javascripts/application.js'
  if File.exist?(js_manifest)
    content = File.read(js_manifest)
    unless content.match(/require_tree\s+\.\s*$/) || content.match(/require stackoverfeeds\/feeds/)
      js_require_block = "\r\n//= require stackoverfeeds/feeds"
      append_to_file js_manifest, js_require_block
    end
  else
    copy_file 'application.js', 'app/assets/javascripts/application.js'
  end
end

#add_configObject



47
48
49
50
51
52
53
54
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 47

def add_config
  unless File.read('config/application.rb').match(/stackoverfeeds\/config.yml/)
    conf_manifest = 'config/stackoverfeeds/config.yml'
    env_update = "\r\nENV.update YAML.load(File.read(File.expand_path('../stackoverfeeds/config.yml', __FILE__)))\n"
    copy_file 'config.yml', conf_manifest
    append_to_file 'config/application.rb', env_update
  end
end

#add_imagesObject



43
44
45
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 43

def add_images
  copy_file 'sprites.png', 'app/assets/images/stackoverfeeds/sprites.png'
end

#add_routesObject



56
57
58
59
60
61
62
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 56

def add_routes
  routes = 'config/routes.rb'
  unless File.read(routes).match(/stackoverfeeds/)
    routes_update = "\r\n\r\n  mount Stackoverfeeds::Engine => '\/stackoverfeeds'\n"
    insert_into_file routes, routes_update, :after => "Application.routes.draw do"
  end
end

#add_scriptsObject



39
40
41
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 39

def add_scripts
  copy_file 'feeds.js', 'app/assets/javascripts/stackoverfeeds/feeds.js'
end

#add_stylesObject



35
36
37
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 35

def add_styles
  copy_file 'feeds.css', 'app/assets/stylesheets/stackoverfeeds/feeds.css'
end

#copy_scheduleObject



64
65
66
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 64

def copy_schedule
  copy_file 'schedule.rb', 'config/stackoverfeeds/schedule.rb'
end

#run_tasksObject



68
69
70
# File 'lib/generators/stackoverfeeds/install/install_generator.rb', line 68

def run_tasks
  exec('rake stackoverfeeds:install:migrations')
end