Class: Spree::SiteGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Spree::SiteGenerator
- Defined in:
- lib/generators/spree/site/site_generator.rb
Instance Attribute Summary collapse
-
#lib_name ⇒ Object
readonly
Returns the value of attribute lib_name.
Class Method Summary collapse
Instance Method Summary collapse
- #additional_tweaks ⇒ Object
- #config_spree_yml ⇒ Object
- #configure_application ⇒ Object
- #create_overrides_directory ⇒ Object
- #include_seed_data ⇒ Object
- #install_migrations ⇒ Object
- #remove_unneeded_files ⇒ Object
- #setup_assets ⇒ Object
Instance Attribute Details
#lib_name ⇒ Object (readonly)
Returns the value of attribute lib_name.
8 9 10 |
# File 'lib/generators/spree/site/site_generator.rb', line 8 def lib_name @lib_name end |
Class Method Details
.source_paths ⇒ Object
10 11 12 |
# File 'lib/generators/spree/site/site_generator.rb', line 10 def self.source_paths [File.('../templates', __FILE__)] end |
Instance Method Details
#additional_tweaks ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/generators/spree/site/site_generator.rb', line 26 def additional_tweaks @lib_name = [:lib_name] return unless File.exists? 'public/robots.txt' append_file "public/robots.txt", <<-ROBOTS User-agent: * Disallow: /checkouts Disallow: /orders Disallow: /countries Disallow: /line_items Disallow: /password_resets Disallow: /states Disallow: /user_sessions Disallow: /users ROBOTS end |
#config_spree_yml ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/generators/spree/site/site_generator.rb', line 14 def config_spree_yml create_file "config/spree.yml" do settings = { 'version' => Spree.version } settings.to_yaml end end |
#configure_application ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/generators/spree/site/site_generator.rb', line 63 def configure_application application <<-APP config.middleware.use "SeoAssist" config.middleware.use "RedirectLegacyProductUrl" config.to_prepare do #loads application's model / class decorators Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c| Rails.configuration.cache_classes ? require(c) : load(c) end #loads application's deface view overrides Dir.glob(File.join(File.dirname(__FILE__), "../app/overrides/*.rb")) do |c| Rails.application.config.cache_classes ? require(c) : load(c) end end APP append_file "config/environment.rb", "\nActiveRecord::Base.include_root_in_json = true\n" end |
#create_overrides_directory ⇒ Object
59 60 61 |
# File 'lib/generators/spree/site/site_generator.rb', line 59 def create_overrides_directory empty_directory "app/overrides" end |
#include_seed_data ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/generators/spree/site/site_generator.rb', line 84 def include_seed_data append_file "db/seeds.rb", <<-SEEDS \n SpreeCore::Engine.load_seed if defined?(SpreeCore) SpreeAuth::Engine.load_seed if defined?(SpreeAuth) SEEDS end |
#install_migrations ⇒ Object
92 93 94 95 96 97 98 99 100 |
# File 'lib/generators/spree/site/site_generator.rb', line 92 def install_migrations puts "Copying migrations..." cmd = 'bundle exec rake railties:install:migrations' silence_stream(STDOUT) do silence_warnings do run cmd end end end |
#remove_unneeded_files ⇒ Object
22 23 24 |
# File 'lib/generators/spree/site/site_generator.rb', line 22 def remove_unneeded_files remove_file "public/index.html" end |
#setup_assets ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/generators/spree/site/site_generator.rb', line 43 def setup_assets remove_file "app/assets/javascripts/application.js" remove_file "app/assets/stylesheets/application.css" remove_file "app/assets/images/rails.png" %w{javascripts stylesheets images}.each do |path| empty_directory "app/assets/#{path}/store" empty_directory "app/assets/#{path}/admin" end template "app/assets/javascripts/store/all.js" template "app/assets/javascripts/admin/all.js" template "app/assets/stylesheets/store/all.css" template "app/assets/stylesheets/admin/all.css" end |