Class: Feedshub::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/feedshub/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/feedshub/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 feedshub\/feeds/)
      style_require_block = "\r\n*= require feedshub/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 feedshub\/feeds/)
      js_require_block = "\r\n//= require feedshub/feeds"
      append_to_file js_manifest, js_require_block
    end
  else
    copy_file 'application.js', 'app/assets/javascripts/application.js'
  end
end

#add_configObject



43
44
45
46
47
48
49
50
# File 'lib/generators/feedshub/install/install_generator.rb', line 43

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

#add_scriptsObject



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

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

#add_stylesObject



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

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

#copy_scheduleObject



52
53
54
# File 'lib/generators/feedshub/install/install_generator.rb', line 52

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

#run_tasksObject



56
57
58
# File 'lib/generators/feedshub/install/install_generator.rb', line 56

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