Class: Weapon
Class Method Summary collapse
Instance Method Summary collapse
- #config_bootstrap ⇒ Object
- #custom_i18n ⇒ Object
- #makesure_in_git ⇒ Object
- #push_to_github ⇒ Object
- #setup_mina_deploy ⇒ Object
- #setup_settings_ui ⇒ Object
Class Method Details
.source_root ⇒ Object
7 8 9 |
# File 'lib/weapon.rb', line 7 def self.source_root File.dirname(__FILE__) end |
Instance Method Details
#config_bootstrap ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'lib/weapon.rb', line 91 def config_bootstrap File.open("Gemfile", "a").write("\ngem 'bootstrap-sass'") run "bundle" #config bootstrap stylesheets File.open('app/assets/javascripts/application.js', 'a') { |f| f.write("\n//= require bootstrap-sprockets")} File.open('app/assets/stylesheets/application.scss', 'a') { |f| f.write("\n@import 'bootstrap-sprockets';\n@import 'bootstrap';") } run "rm app/assets/stylesheets/application.css" end |
#custom_i18n ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/weapon.rb', line 60 def custom_i18n invoke :makesure_in_git puts "custom i18n" File.open("Gemfile", "a").write("\ngem 'slim-rails'\ngem 'simple_form', '~> 3.1.0'") run "bundle" unless File.exist?('config/locales/zh-CN.yml') copy_file 'support/custom_i18n/zh-CN.yml', 'config/locales/zh-CN.yml' end invoke :config_bootstrap run "rails g simple_form:install --bootstrap" copy_file 'support/custom_i18n/_form.html.slim', 'lib/templates/slim/scaffold/_form.html.slim' copy_file 'support/custom_i18n/index.html.slim', 'lib/templates/slim/scaffold/index.html.slim' copy_file 'support/custom_i18n/new.html.slim', 'lib/templates/slim/scaffold/new.html.slim' copy_file 'support/custom_i18n/edit.html.slim', 'lib/templates/slim/scaffold/edit.html.slim' copy_file 'support/custom_i18n/show.html.slim', 'lib/templates/slim/scaffold/show.html.slim' copy_file 'support/custom_i18n/controller.rb', 'lib/templates/rails/i18n_scaffold_controller/controller.rb' copy_file 'support/custom_i18n/i18n_scaffold_controller_generator.rb', 'lib/generators/rails/i18n_scaffold_controller/i18n_scaffold_controller_generator.rb' inject_into_file 'config/application.rb', after: "# -- all .rb files in that directory are automatically loaded.\n" do " config.generators.template_engine = :slim\n config.generators.scaffold_controller = \"i18n_scaffold_controller\"\n config.i18n.default_locale = \"zh-CN\"\n RUBY\n end\n run \"rails g simple_form:install --bootstrap\"\nend\n" |
#makesure_in_git ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/weapon.rb', line 12 def makesure_in_git run "spring stop" unless (run "git remote -v") puts "this project should in version controll use git" run "git init" run "git add *" run "git commit -a -m 'first commit'" end end |
#push_to_github ⇒ Object
101 102 103 104 105 106 107 |
# File 'lib/weapon.rb', line 101 def push_to_github invoke :makesure_in_git puts "pull to github" run 'gem install hub' run "hub create #{File.basename(Dir.getwd)}" run "hub push -u origin master" end |
#setup_mina_deploy ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/weapon.rb', line 23 def setup_mina_deploy invoke :makesure_in_git puts "setup mina deploy" run "mina init" username = ask("input your user name on deploy host:") File.open('config/deploy.rb', 'a') { |f| f.write("\nset :user, '#{username}' ")} domain = ask("input your deploy host, like example.com or 123.100.100.100:") gsub_file "config/deploy.rb", "'foobar.com'", "'" + domain + "'" directory = ask("input your deploy directory:") directory = directory.gsub(/\/$/, "") gsub_file "config/deploy.rb", "/var/www/foobar.com", directory repository = ask("input your git remote url to pull from, like [email protected]:seaify/weapon.git ") gsub_file "config/deploy.rb", "git://...", repository setup_dir_command = 'ssh ' + username + '@' + domain + " -t 'mkdir -p " + directory + ';chown -R ' + username + ' ' + directory + "'" run setup_dir_command run 'mina setup' run 'scp config/database.yml ' + username + '@' + domain + ':' + directory + '/shared/config/' run 'mina deploy' end |
#setup_settings_ui ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/weapon.rb', line 47 def setup_settings_ui invoke :makesure_in_git #inject_into_file "Gemfile", "gem 'rails-settings-ui', '~> 0.3.0'\n gem 'rails-settings-cached', '0.4.1'\n", :before => /^end/ File.open("Gemfile", "a").write("\ngem 'rails-settings-ui', '~> 0.3.0'\n gem 'rails-settings-cached', '0.4.1'\n") run "bundle" run "rails g settings setting" run "rails g rails_settings_ui:install" run "rake db:migrate" copy_file 'support/rails_settings_ui/rails_settings_ui.rb', 'config/initializers/rails_settings_ui.rb' copy_file 'support/rails_settings_ui/setting.rb', 'app/models/setting.rb' end |