Class: Gluttonberg::InstallerGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Gluttonberg::InstallerGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/gluttonberg/installer/installer_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_memory_store_config_in_production ⇒ Object
- #bootstrap_data ⇒ Object
- #create_default_public_layout ⇒ Object
- #create_delayed_job_script_file ⇒ Object
- #create_migration_file ⇒ Object
- #create_page_descriptions_file ⇒ Object
- #create_sitemaprb_file ⇒ Object
- #localization_config ⇒ Object
- #run_migration ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 11 def self.next_migration_number(dirname) if ActiveRecord::Base. Time.now.utc.strftime("%Y%m%d%H%M%S") else "%.3d" % (current_migration_number(dirname) + 1) end end |
.source_root ⇒ Object
7 8 9 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 7 def self.source_root @source_root ||= File.join(File.dirname(__FILE__), 'templates') end |
Instance Method Details
#add_memory_store_config_in_production ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 82 def add_memory_store_config_in_production data = [] file_path = File.join(Rails.root, "config", "environments" , "production.rb" ) file = File.new(file_path) file.each_line do |line| data << line end file.close file = File.new(file_path , "w" ) data.reverse.each_with_index do |line, index| if line.include?("end") data[data.length-index-1] = " config.cache_store = :memory_store\nend\n" break end end file.puts(data.join("")) file.close end |
#bootstrap_data ⇒ Object
48 49 50 51 52 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 48 def bootstrap_data rake("gluttonberg:library:bootstrap") rake("gluttonberg:generate_default_locale") rake("gluttonberg:generate_or_update_default_settings") end |
#create_default_public_layout ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 36 def create_default_public_layout #create pages folder path = File.join(Rails.root, "app", "views" , "pages" ) FileUtils.mkdir(path) unless File.exists?(path) #copy layout into host app template "public.html.haml", File.join('app/views/layouts', "public.html.haml") end |
#create_delayed_job_script_file ⇒ Object
19 20 21 22 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 19 def create_delayed_job_script_file template 'delayed_job_script', 'script/delayed_job' chmod 'script/delayed_job', 0755 end |
#create_migration_file ⇒ Object
24 25 26 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 24 def create_migration_file migration_template 'gluttonberg_migration.rb', 'db/migrate/gluttonberg_migration.rb' end |
#create_page_descriptions_file ⇒ Object
28 29 30 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 28 def create_page_descriptions_file copy_file 'page_descriptions.rb', 'config/page_descriptions.rb' end |
#create_sitemaprb_file ⇒ Object
32 33 34 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 32 def create_sitemaprb_file copy_file 'sitemap.rb', 'config/sitemap.rb' end |
#localization_config ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 54 def localization_config application %{ # Gluttonberg Related config # config.cms_based_public_css = false # config.custom_js_for_cms = false config.localize = false # By Default gluttonberg applications are localized. If you do not want localized application then uncomment following line. # By default membership system is disabled. uncommenting following line make it enabled. # if email_verification is true then newly registered members have to verify their email address # config.enable_members = {:email_verification => true} # By default photo gallery is not visible in backend. # config.enable_gallery = true # You can customize your thumbnails. For geometry values please read ImageMagick documentation config.thumbnails = { :jwysiwyg_image => {:label => "Thumb for jwysiwyg", :filename => "_jwysiwyg_image", :geometry => "250x200"} } } end |
#run_migration ⇒ Object
44 45 46 |
# File 'lib/generators/gluttonberg/installer/installer_generator.rb', line 44 def run_migration rake("db:migrate") end |