weapon 0.1.8 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c17d5aa92f11ab117c8f72f1711a9d54170a05b1
4
- data.tar.gz: f8029457742912dcb175d1b8338c73b6f4f43b12
3
+ metadata.gz: a7b98eef2fed257f65d7a388c123f7265d3a0111
4
+ data.tar.gz: 545bc73a573868385e9c900cf2b0c8617a50a493
5
5
  SHA512:
6
- metadata.gz: b90fd5b2a576d6ec6afa5781b82d5c79f1aceec00c21bd32731610e87a7a18c09ec3a44e81bc7dfdc6a3af8bdf678f417cfa8f7d6420c23abd0adc522226d9bc
7
- data.tar.gz: fddfccbe41fa614423de3f4d45251707976cfe6aadba6916c8cb8b4f2002817095e78426f560fd5a27571c7caea2024bcf10a88493fd8dbe108ac4fd3699df29
6
+ metadata.gz: bfb7909bf9c3cabeb2cf381490ddcc570d20f8f3908453e2c7d5d67b334f8ace4c1a48489a9c42949f7d4b698b83b1db6480a309d12b58faafed0ec1b690d1fd
7
+ data.tar.gz: 8bf36672904e2e173cd9ec95f444915b197aa1c2911c8e563ee46a3279b6882c24a6b34491939f4d01f226c9b9da1b3a0d1ab8b05b56233383681104d0e4f82b
@@ -0,0 +1,15 @@
1
+ class BuildActiveadminPagesGenerator < Rails::Generators::Base
2
+ source_root File.expand_path("../templates", __FILE__)
3
+
4
+ def build_pages
5
+ Rails.application.eager_load!
6
+
7
+ all_models = ActiveRecord::Base.descendants
8
+
9
+ all_models.each do |model_ins|
10
+
11
+ end
12
+
13
+
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ class WeaponGenerator < Rails::Generators::NamedBase
2
+ source_root File.expand_path('../templates', __FILE__)
3
+
4
+ def generate_grape_entity
5
+ names = args[0].split('/')
6
+ column_names = names[-1].camelize.constantize.column_names
7
+ infos = column_names.map {|column| "expose :#{column}"}
8
+ a = Magicfile.new
9
+ a.append_modules(names[0..-2])
10
+ a.append_class(names[-1].camelize, 'Grape::Entity')
11
+ a.append_string_lines(infos)
12
+ a.to_file("app/#{args[0]}.rb")
13
+ end
14
+
15
+
16
+ end
@@ -1,6 +1,6 @@
1
- upstream app_name_for_replace {
1
+ upstream staging_app_name_for_replace {
2
2
  # Path to Unicorn SOCK file, as defined previously
3
- server unix:/tmp/app_name_for_replace.unicorn.sock;
3
+ server unix:deploy_directory_for_replace_staging/current/tmp/unicorn.sock;
4
4
  }
5
5
 
6
6
  server {
@@ -12,15 +12,15 @@ server {
12
12
  # Application root, as defined previously
13
13
  root deploy_directory_for_replace_staging/current/public;
14
14
 
15
- try_files $uri @app_name_for_replace;
16
- access_log /var/log/nginx/app_name_for_replace_access.log;
17
- error_log /var/log/nginx/app_name_for_replace_error.log;
15
+ try_files $uri @staging_app_name_for_replace;
16
+ access_log /var/log/nginx/staging_app_name_for_replace_access.log;
17
+ error_log /var/log/nginx/staging_app_name_for_replace_error.log;
18
18
 
19
- location @app_name_for_replace{
19
+ location @staging_app_name_for_replace{
20
20
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
21
21
  proxy_set_header Host $http_host;
22
22
  proxy_redirect off;
23
- proxy_pass http://app_name_for_replace;
23
+ proxy_pass http://staging_app_name_for_replace;
24
24
  }
25
25
 
26
26
  error_page 500 502 503 504 /500.html;
@@ -1,6 +1,6 @@
1
1
  upstream app_name_for_replace {
2
2
  # Path to Unicorn SOCK file, as defined previously
3
- server unix:/tmp/app_name_for_replace.unicorn.sock;
3
+ server unix:deploy_directory_for_replace/current/tmp/unicorn.sock;
4
4
  }
5
5
 
6
6
  server {
@@ -3,7 +3,7 @@ app_path = File.expand_path( File.join(File.dirname(__FILE__), '..', '..'))
3
3
  worker_processes 4
4
4
  preload_app true
5
5
  timeout 180
6
- listen '/tmp/unicorn.sock'
6
+ listen "#{app_path}/tmp/unicorn.sock"
7
7
  pid "#{app_path}/tmp/pids/unicorn.pid"
8
8
  user 'username_for_replace', 'username_for_replace'
9
9
  stderr_path "log/unicorn_err.log"
@@ -3,7 +3,7 @@ app_path = File.expand_path( File.join(File.dirname(__FILE__), '..', '..'))
3
3
  worker_processes 1
4
4
  preload_app true
5
5
  timeout 180
6
- listen '/tmp/unicorn-staging.sock'
6
+ listen "#{app_path}/tmp/unicorn.sock"
7
7
  pid "#{app_path}/tmp/pids/unicorn-staging.pid"
8
8
  user 'username_for_replace', 'username_for_replace'
9
9
  stderr_path "log/unicorn-stagingerr.log"
@@ -3,11 +3,17 @@ class ModelFromSqlGenerator < Rails::Generators::Base
3
3
 
4
4
  def build_models
5
5
  tables = ActiveRecord::Base.connection.tables
6
- tables.each do |table_name|
6
+
7
+ Rails.application.eager_load!
8
+ in_models = ActiveRecord::Base.descendants.map(&:table_name)
9
+ ap in_models
10
+ new_tables = tables - in_models - ['schema_migrations', 'ar_internal_metadata']
11
+
12
+ new_tables.each do |table_name|
7
13
  generate "model #{table_name} --skip-migration" # or whatever you want here
8
14
  model_file = "app/models/#{table_name.singularize}.rb"
9
15
  inject_into_file model_file, before: "end\n" do <<-'RUBY'
10
- self.table_name = table_name_replace
16
+ self.table_name = "table_name_replace"
11
17
  RUBY
12
18
  end
13
19
  gsub_file model_file, 'table_name_replace', table_name
@@ -35,7 +35,7 @@ class Weapon < Thor
35
35
 
36
36
 
37
37
  desc "setup_mina_unicorn", "setup mina deploy and unicorn server"
38
- def setup_mina_unicorn
38
+ def setup_mina_unicorn(user_host)
39
39
  makesure_in_git
40
40
  repo_path = `git config --get remote.origin.url`.strip()
41
41
  return puts "at least one remote url should be set before we start!!!".colorize(:red) unless repo_path.present?
@@ -59,7 +59,7 @@ class Weapon < Thor
59
59
  puts "setup mina deploy"
60
60
 
61
61
  app_name = `pwd`.split('/')[-1].strip()
62
- username, domain = ask("input your username && host like seaify@1.2.3.4: ").split('@')
62
+ username, domain = user_host.split('@')
63
63
  deploy_directory = "/home/#{username}/#{app_name}"
64
64
 
65
65
 
@@ -98,15 +98,28 @@ class Weapon < Thor
98
98
 
99
99
  run 'scp config/database.yml ' + username + '@' + domain + ':' + deploy_directory + '/shared/config/'
100
100
  run 'scp config/application.yml ' + username + '@' + domain + ':' + deploy_directory + '/shared/config/'
101
- run 'scp config/secrets.yml ' + username + '@' + domain + ':' + deploy_directory + '/shared/config/'
101
+
102
+ run 'cp config/secrets.yml config/production_secrets.yml'
103
+ gsub_file "config/production_secrets.yml", "production", "staging"
104
+ gsub_file "config/production_secrets.yml", "test", "production"
105
+ run 'scp config/production_secrets.yml ' + username + '@' + domain + ':' + deploy_directory + '/shared/config/secrets.yml'
106
+ run "rm config/production_secrets.yml"
107
+
108
+ ## for staging
102
109
 
103
110
  run 'cp config/database.yml config/staging_database.yml'
104
111
  gsub_file "config/staging_database.yml", "production", "staging"
105
112
  run 'scp config/staging_database.yml ' + username + '@' + domain + ':' + deploy_directory + '_staging/shared/config/database.yml'
106
113
  run "rm config/staging_database.yml"
114
+
115
+ run 'cp config/secrets.yml config/staging_secrets.yml'
116
+ gsub_file "config/staging_secrets.yml", "development", "staging"
117
+ run 'scp config/staging_secrets.yml ' + username + '@' + domain + ':' + deploy_directory + '_staging/shared/config/secrets.yml'
118
+ run "rm config/staging_secrets.yml"
119
+
107
120
  run 'scp config/application.yml ' + username + '@' + domain + ':' + deploy_directory + '_staging/shared/config/'
108
- run 'scp config/secrets.yml ' + username + '@' + domain + ':' + deploy_directory + '_staging/shared/config/'
109
121
 
122
+ ## run mina setup && deploy
110
123
  run 'mina deploy' if staging.present?
111
124
  run 'mina production deploy'
112
125
  run 'git add config/ .gitignore staging-unicorn-nginx.conf unicorn-nginx.conf'
@@ -124,10 +137,24 @@ class Weapon < Thor
124
137
  copy_file 'support/model_from_sql/model_from_sql_generator.rb', 'lib/generators/model_from_sql/model_from_sql_generator.rb'
125
138
  run 'git add lib/'
126
139
  run 'rails g model_from_sql'
127
- run 'git add app/ test/ lib/'
140
+ run 'git add app/'
141
+ run 'git add spec/'
142
+ run 'git add test/'
143
+ run 'git add lib/'
128
144
  run 'git commit -a -m "add model_from_sql generator and build models from sql"'
129
145
  end
130
146
 
147
+ desc "build all activeadmin page ", "build all activeadmin page"
148
+ def build_activeadmin_pages
149
+ makesure_in_git
150
+ FileUtils.mkdir_p "lib/generators/build_activeadmin_pages"
151
+ copy_file 'support/build_activeadmin_pages/build_activeadmin_pages_generator.rb', 'lib/generators/build_activeadmin_pages/build_activeadmin_pages_generator.rb'
152
+ run 'git add lib/'
153
+ run 'rails g build_activeadmin_pages'
154
+ run 'git add app/ test/ lib/'
155
+ run 'git commit -a -m "add build_activeadmin_pages generator and build pages from model"'
156
+ end
157
+
131
158
  desc "setup_settings_ui", "setup settings ui"
132
159
  def setup_settings_ui
133
160
  makesure_in_git
@@ -196,6 +223,7 @@ class Weapon < Thor
196
223
  makesure_in_git
197
224
 
198
225
  gem 'enumerize'
226
+ gem 'aasm'
199
227
  gem 'slim-rails'
200
228
  gem 'sass-rails', '~> 5.0'
201
229
  gem 'bootstrap-sass'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weapon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - seaify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-02 00:00:00.000000000 Z
11
+ date: 2016-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -89,6 +89,7 @@ extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
91
  - bin/weapon
92
+ - lib/support/build_activeadmin_pages/build_activeadmin_pages_generator.rb
92
93
  - lib/support/create_gem/basic.bin
93
94
  - lib/support/create_gem/basic.gemspec
94
95
  - lib/support/create_gem/basic.rb
@@ -101,6 +102,7 @@ files:
101
102
  - lib/support/custom_i18n/show.html.slim
102
103
  - lib/support/custom_i18n/zh-CN.yml
103
104
  - lib/support/exception_slack_notify/exception_notification.rb
105
+ - lib/support/grape_entity/grape_entity_generator.rb
104
106
  - lib/support/mina_unicorn/deploy.rb
105
107
  - lib/support/mina_unicorn/deploy_production.rb
106
108
  - lib/support/mina_unicorn/deploy_staging.rb