bonethug 0.0.67 → 0.0.68

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +0 -0
  3. data/ISSUES.txt +0 -0
  4. data/LICENSE.txt +0 -0
  5. data/README.md +0 -0
  6. data/Rakefile +0 -0
  7. data/TODO.txt +5 -4
  8. data/bin/bonethug +0 -0
  9. data/bin/thug +0 -0
  10. data/bonethug.gemspec +0 -0
  11. data/config/backup.rb +0 -0
  12. data/config/cnf.yml +184 -177
  13. data/config/deploy.rb +68 -26
  14. data/config/schedule.rb +0 -0
  15. data/config/syncer.rb +0 -0
  16. data/lib/bonethug/cli.rb +242 -242
  17. data/lib/bonethug/conf.rb +0 -0
  18. data/lib/bonethug/installer.rb +378 -378
  19. data/lib/bonethug/utils.rb +0 -0
  20. data/lib/bonethug/version.rb +2 -2
  21. data/lib/bonethug/watcher.rb +0 -0
  22. data/lib/bonethug.rb +0 -0
  23. data/lib/tasks/bonethug.rake +0 -0
  24. data/scripts/ubuntu_setup.sh +0 -0
  25. data/scripts/ubuntu_setup_2.4.sh +106 -0
  26. data/skel/base/.gitignore +0 -0
  27. data/skel/base/Gemfile +0 -0
  28. data/skel/base/README.md +0 -0
  29. data/skel/base/config/example/.gitkeep +0 -0
  30. data/skel/base/lib/.gitkeep +0 -0
  31. data/skel/base/log/.gitkeep +0 -0
  32. data/skel/base/public/favicon.ico +0 -0
  33. data/skel/base/public/robots.txt +0 -0
  34. data/skel/project_types/drupal/.gitignore +0 -0
  35. data/skel/project_types/drupal/composer.json +0 -0
  36. data/skel/project_types/drupal/lib/flush_drupal_cache.php +0 -0
  37. data/skel/project_types/drupal/public/sites/all/themes/project/.keep +0 -0
  38. data/skel/project_types/drupal/public/sites/default/development.settings.php +0 -0
  39. data/skel/project_types/drupal/public/sites/default/production.settings.php +0 -0
  40. data/skel/project_types/drupal/public/sites/default/settings.php +0 -0
  41. data/skel/project_types/drupal/public/sites/default/staging.settings.php +0 -0
  42. data/skel/project_types/drupal6/.gitignore +0 -0
  43. data/skel/project_types/drupal6/composer.json +0 -0
  44. data/skel/project_types/drupal6/lib/flush_drupal_cache.php +0 -0
  45. data/skel/project_types/drupal6/public/sites/all/themes/project/.keep +0 -0
  46. data/skel/project_types/drupal6/public/sites/default/development.settings.php +0 -0
  47. data/skel/project_types/drupal6/public/sites/default/production.settings.php +0 -0
  48. data/skel/project_types/drupal6/public/sites/default/settings.php +0 -0
  49. data/skel/project_types/drupal6/public/sites/default/staging.settings.php +0 -0
  50. data/skel/project_types/drupal7/.gitignore +0 -0
  51. data/skel/project_types/drupal7/composer.json +0 -0
  52. data/skel/project_types/drupal7/lib/flush_drupal_cache.php +0 -0
  53. data/skel/project_types/drupal7/public/sites/all/themes/project/.keep +0 -0
  54. data/skel/project_types/drupal7/public/sites/default/development.settings.php +0 -0
  55. data/skel/project_types/drupal7/public/sites/default/production.settings.php +0 -0
  56. data/skel/project_types/drupal7/public/sites/default/settings.php +0 -0
  57. data/skel/project_types/drupal7/public/sites/default/staging.settings.php +0 -0
  58. data/skel/project_types/drupal8/.gitignore +0 -0
  59. data/skel/project_types/drupal8/composer.json +0 -0
  60. data/skel/project_types/drupal8/lib/flush_drupal_cache.php +0 -0
  61. data/skel/project_types/drupal8/public/sites/all/themes/project/.keep +0 -0
  62. data/skel/project_types/drupal8/public/sites/default/development.settings.php +0 -0
  63. data/skel/project_types/drupal8/public/sites/default/production.settings.php +0 -0
  64. data/skel/project_types/drupal8/public/sites/default/settings.php +0 -0
  65. data/skel/project_types/drupal8/public/sites/default/staging.settings.php +0 -0
  66. data/skel/project_types/php/.gitignore +0 -0
  67. data/skel/project_types/php/composer.json +0 -0
  68. data/skel/project_types/rails3/Gemfile +0 -0
  69. data/skel/project_types/rails3/README.md +0 -0
  70. data/skel/project_types/rails4/Gemfile +0 -0
  71. data/skel/project_types/rails4/README.md +0 -0
  72. data/skel/project_types/rails4/app/assets/fonts/.keep +0 -0
  73. data/skel/project_types/rails4/app/assets/images/.keep +0 -0
  74. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-114x114.png +0 -0
  75. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-120x120.png +0 -0
  76. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-144x144.png +0 -0
  77. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-152x152.png +0 -0
  78. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-57x57.png +0 -0
  79. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-60x60.png +0 -0
  80. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-72x72.png +0 -0
  81. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-76x76.png +0 -0
  82. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon.png +0 -0
  83. data/skel/project_types/rails4/app/assets/images/favicons/favicon.ico +0 -0
  84. data/skel/project_types/rails4/app/assets/images/favicons/iconifier-readme.txt +0 -0
  85. data/skel/project_types/rails4/app/assets/javascripts/application.js +0 -0
  86. data/skel/project_types/rails4/app/assets/javascripts/lte-ie8-shims.js +0 -0
  87. data/skel/project_types/rails4/app/assets/javascripts/main.js.coffee +0 -0
  88. data/skel/project_types/rails4/app/assets/stylesheets/application.css.scss +0 -0
  89. data/skel/project_types/rails4/app/assets/stylesheets/main.scss +0 -0
  90. data/skel/project_types/rails4/app/controllers/errors_controller.rb +0 -0
  91. data/skel/project_types/rails4/app/helpers/application_helper.rb +0 -0
  92. data/skel/project_types/rails4/app/views/application/index.html.erb +0 -0
  93. data/skel/project_types/rails4/app/views/errors/not_found.html.erb +0 -0
  94. data/skel/project_types/rails4/app/views/errors/server_error.html.erb +0 -0
  95. data/skel/project_types/rails4/app/views/layouts/application.html.erb +0 -0
  96. data/skel/project_types/rails4/config/application.rb +0 -0
  97. data/skel/project_types/rails4/config/environments/development.rb +0 -0
  98. data/skel/project_types/rails4/config/environments/production.rb +0 -0
  99. data/skel/project_types/rails4/config/environments/staging.rb +0 -0
  100. data/skel/project_types/rails4/config/environments/test.rb +0 -0
  101. data/skel/project_types/rails4/config/routes.rb +0 -0
  102. data/skel/project_types/silverstripe3/.bowerrc +0 -0
  103. data/skel/project_types/silverstripe3/.gitignore +0 -0
  104. data/skel/project_types/silverstripe3/README.md +0 -0
  105. data/skel/project_types/silverstripe3/bower.json +0 -0
  106. data/skel/project_types/silverstripe3/composer.json +26 -26
  107. data/skel/project_types/silverstripe3/lib/ss_loadconf.php +0 -0
  108. data/skel/project_types/silverstripe3/public/.htaccess +0 -0
  109. data/skel/project_types/silverstripe3/public/_ss_environment.php +0 -0
  110. data/skel/project_types/silverstripe3/public/assets/error-404.html +0 -0
  111. data/skel/project_types/silverstripe3/public/assets/error-500.html +0 -0
  112. data/skel/project_types/silverstripe3/public/index.php.bak +0 -0
  113. data/skel/project_types/silverstripe3/public/project/.htaccess +0 -0
  114. data/skel/project_types/silverstripe3/public/project/_config/config.yml +0 -0
  115. data/skel/project_types/silverstripe3/public/project/_config.php +0 -0
  116. data/skel/project_types/silverstripe3/public/project/code/Controllers/.gitkeep +0 -0
  117. data/skel/project_types/silverstripe3/public/project/code/Extensions/.gitkeep +0 -0
  118. data/skel/project_types/silverstripe3/public/project/code/Forms/.gitkeep +0 -0
  119. data/skel/project_types/silverstripe3/public/project/code/Objects/.gitkeep +0 -0
  120. data/skel/project_types/silverstripe3/public/project/code/Pages/HomePage.php +0 -0
  121. data/skel/project_types/silverstripe3/public/project/code/Pages/Page.php +0 -0
  122. data/skel/project_types/silverstripe3/public/project/code/Pages/RootPage.php +0 -0
  123. data/skel/project_types/silverstripe3/public/project/code/Tasks/.gitkeep +0 -0
  124. data/skel/project_types/silverstripe3/public/project/coffee/application.js.coffee +0 -0
  125. data/skel/project_types/silverstripe3/public/project/javascript/.gitkeep +0 -0
  126. data/skel/project_types/silverstripe3/public/silverstripe-cache/.gitkeep +0 -0
  127. data/skel/project_types/silverstripe3/public/themes/project/css/.gitkeep +0 -0
  128. data/skel/project_types/silverstripe3/public/themes/project/css/editor.css +0 -0
  129. data/skel/project_types/silverstripe3/public/themes/project/css/typography.css +0 -0
  130. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-114x114.png +0 -0
  131. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-120x120.png +0 -0
  132. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-144x144.png +0 -0
  133. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-152x152.png +0 -0
  134. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-57x57.png +0 -0
  135. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-60x60.png +0 -0
  136. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-72x72.png +0 -0
  137. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-76x76.png +0 -0
  138. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon.png +0 -0
  139. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/favicon.ico +0 -0
  140. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/iconifier-readme.txt +0 -0
  141. data/skel/project_types/silverstripe3/public/themes/project/scss/_functions.scss +0 -0
  142. data/skel/project_types/silverstripe3/public/themes/project/scss/_mixins.scss +0 -0
  143. data/skel/project_types/silverstripe3/public/themes/project/scss/_vars.scss +0 -0
  144. data/skel/project_types/silverstripe3/public/themes/project/scss/main.scss +0 -0
  145. data/skel/project_types/silverstripe3/public/themes/project/scss/typography.scss +0 -0
  146. data/skel/project_types/silverstripe3/public/themes/project/templates/Includes/.gitkeep +0 -0
  147. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Page.ss +0 -0
  148. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Security.ss +0 -0
  149. data/skel/project_types/silverstripe3/public/themes/project/templates/Page.ss +0 -0
  150. data/skel/skel.yml +0 -0
  151. metadata +3 -2
data/lib/bonethug/cli.rb CHANGED
@@ -1,243 +1,243 @@
1
- require 'rbconfig'
2
-
3
- module Bonethug
4
- class CLI
5
-
6
- def self.handle(bin_name = 'thug')
7
-
8
- # what are we doing?
9
- task = ARGV[0] || 'help'
10
-
11
- case task
12
-
13
- when 'help'
14
-
15
- display_help
16
-
17
- when 'version'
18
-
19
- puts 'bonethug v' + VERSION + ' - build date: ' + BUILD_DATE
20
- exit
21
-
22
- when 'auth'
23
-
24
- # handle args
25
- env = ARGV[1]
26
-
27
- # validate
28
- unless env
29
- puts 'Usage: ' + bin_name + ' auth [environment]'
30
- return
31
- end
32
-
33
- exec "export to=#{env} && bundle exec mina -f .bonethug/deploy.rb auth --verbose"
34
-
35
- when 'install'
36
-
37
- # handle args
38
- type = ARGV[1]
39
- location = ARGV[2] || '.'
40
-
41
- # validate
42
- unless type
43
- puts 'Usage: ' + bin_name + ' install [type] [location]'
44
- return
45
- end
46
-
47
- # run the installer
48
- Installer.install type, location
49
-
50
- when 'init-db', 'init-local-db'
51
-
52
- # handle args
53
- env = ARGV.last
54
- admin_user = ARGV.length == 3 ? ARGV[1] : 'root'
55
-
56
- # validate
57
- unless env
58
- puts 'Usage: ' + bin_name + ' ' + task + ' [admin_user] [environment]'
59
- return
60
- end
61
-
62
- if task == 'init-local-db'
63
- Installer.execute_init_mysql_db_script env, admin_user
64
- else
65
- exec "export to=#{env} && export admin_user=#{admin_user} && bundle exec mina -f .bonethug/deploy.rb init_db --verbose"
66
- end
67
-
68
- when 'setup-env'
69
-
70
- # handle args
71
- env = ARGV.last
72
-
73
- # validate
74
- unless env
75
- puts 'Usage: ' + bin_name + ' setup-env [environment]'
76
- return
77
- end
78
-
79
- # find the file
80
- gem_dir = File.expand_path File.dirname(__FILE__) + '/../..'
81
- script = gem_dir + '/scripts/ubuntu_setup.sh'
82
-
83
- if env == 'show'
84
-
85
- puts "---------------"
86
- puts "Pre"
87
- puts "---------------\n"
88
- puts File.read script
89
-
90
- puts "\n---------------"
91
- puts "Parsed"
92
- puts "---------------"
93
- puts Installer.parse_sh File.read(script)
94
-
95
- elsif env == 'local'
96
- exec 'sudo bash ' + script
97
-
98
- else
99
- exec "export to=#{env} && bundle exec mina -f .bonethug/deploy.rb setup_env --verbose"
100
-
101
- end
102
-
103
- when 'init', 'update'
104
-
105
- # handle args
106
- location = ARGV[1] || '.'
107
-
108
- # validate
109
- unless location
110
- puts 'Usage: ' + bin_name + ' #{task} [location]'
111
- return
112
- end
113
-
114
- # run the initaliser
115
- Installer.bonethugise(location, task.to_sym)
116
-
117
- when 'run',
118
- 'rake',
119
- 'drush',
120
- 'drush-local',
121
- 'sake'
122
-
123
- # get env
124
- environment = ARGV.last
125
-
126
- # handle args
127
- if task == 'run'
128
- cmd_task = ARGV[1]
129
- args = ARGV[2..(ARGV.length-2)]
130
- else
131
- case task
132
- when 'rake'
133
- cmd_task = 'rake'
134
- when 'drush', 'drush-local'
135
- cmd_task = File.expand_path('./vendor/drush/drush/drush') + ' -r ' + File.expand_path('./public')
136
- when 'sake'
137
- cmd_task = 'public/framework/sake'
138
- end
139
- args = ARGV[1..(ARGV.length-2)]
140
- end
141
-
142
- if task == 'drush-local'
143
-
144
- env_cmd = RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i ? 'set' : 'export'
145
- cmd = env_cmd + " APPLICATION_ENV=#{environment} && #{cmd_task} #{args.join(' ')}"
146
- puts
147
- exec cmd
148
-
149
- else
150
-
151
- # build command
152
- run = "\"run[#{cmd_task} #{args.join(' ')}]\""
153
-
154
- # do it!
155
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb #{run} --verbose"
156
-
157
- end
158
-
159
- when 'deploy',
160
- 'setup',
161
- 'remote-backup',
162
- 'local-backup',
163
- 'sync-backup-to',
164
- 'sync-backup-from',
165
- 'sync-local-to',
166
- 'sync-local-from',
167
- 'init-db',
168
- 'force-unlock',
169
- 'cleanup'
170
-
171
- # handle args
172
- environment = ARGV[1]
173
-
174
- # validate
175
- unless environment
176
- puts 'Usage: thug #{task} [environment]'
177
- return
178
- end
179
-
180
- case task
181
-
182
- # Setup and Deploy
183
- when 'deploy'
184
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy --verbose"
185
- when 'setup'
186
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb setup --verbose"
187
-
188
- # remote mina scripts
189
- when 'init-db'
190
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb init_db --verbose"
191
- when 'force-unlock'
192
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy:force_unlock --verbose"
193
- when 'cleanup'
194
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy:cleanup --verbose"
195
-
196
- # Snapshot Backup
197
- when 'remote-backup'
198
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb backup --verbose"
199
- when 'local-backup'
200
- exec "export to=#{environment} && bundle exec astrails-safe .bonethug/backup.rb"
201
-
202
- # Synchronised backup
203
- when 'sync-backup-to'
204
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb sync_to --verbose"
205
- when 'sync-backup-from'
206
- exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb sync_from --verbose"
207
-
208
- when 'sync-local-to'
209
- exec "ruby .bonethug/syncer.rb sync_local_to #{environment}"
210
- when 'sync-local-from'
211
- exec "ruby .bonethug/syncer.rb sync_local_from #{environment}"
212
- end
213
-
214
- when 'watch'
215
-
216
- # handle args
217
- type = ARGV[1] || 'coffee_sass'
218
- location = ARGV[2] || '.'
219
- watch_only = ARGV[3] || nil
220
-
221
- # run the installer
222
- Watcher.watch type, location, watch_only
223
-
224
- when 'clean'
225
-
226
- location = ARGV[1] || '.'
227
- Installer.clean location
228
-
229
- else
230
-
231
- # We didn't find a task
232
- puts 'Task not found'
233
-
234
- end
235
-
236
- end
237
-
238
- def self.display_help(bin_name = 'thug')
239
- puts 'Usage: ' + bin_name + ' task [argument]...'
240
- end
241
-
242
- end
1
+ require 'rbconfig'
2
+
3
+ module Bonethug
4
+ class CLI
5
+
6
+ def self.handle(bin_name = 'thug')
7
+
8
+ # what are we doing?
9
+ task = ARGV[0] || 'help'
10
+
11
+ case task
12
+
13
+ when 'help'
14
+
15
+ display_help
16
+
17
+ when 'version'
18
+
19
+ puts 'bonethug v' + VERSION + ' - build date: ' + BUILD_DATE
20
+ exit
21
+
22
+ when 'auth'
23
+
24
+ # handle args
25
+ env = ARGV[1]
26
+
27
+ # validate
28
+ unless env
29
+ puts 'Usage: ' + bin_name + ' auth [environment]'
30
+ return
31
+ end
32
+
33
+ exec "export to=#{env} && bundle exec mina -f .bonethug/deploy.rb auth --verbose"
34
+
35
+ when 'install'
36
+
37
+ # handle args
38
+ type = ARGV[1]
39
+ location = ARGV[2] || '.'
40
+
41
+ # validate
42
+ unless type
43
+ puts 'Usage: ' + bin_name + ' install [type] [location]'
44
+ return
45
+ end
46
+
47
+ # run the installer
48
+ Installer.install type, location
49
+
50
+ when 'init-db', 'init-local-db'
51
+
52
+ # handle args
53
+ env = ARGV.last
54
+ admin_user = ARGV.length == 3 ? ARGV[1] : 'root'
55
+
56
+ # validate
57
+ unless env
58
+ puts 'Usage: ' + bin_name + ' ' + task + ' [admin_user] [environment]'
59
+ return
60
+ end
61
+
62
+ if task == 'init-local-db'
63
+ Installer.execute_init_mysql_db_script env, admin_user
64
+ else
65
+ exec "export to=#{env} && export admin_user=#{admin_user} && bundle exec mina -f .bonethug/deploy.rb init_db --verbose"
66
+ end
67
+
68
+ when 'setup-env'
69
+
70
+ # handle args
71
+ env = ARGV.last
72
+
73
+ # validate
74
+ unless env
75
+ puts 'Usage: ' + bin_name + ' setup-env [environment]'
76
+ return
77
+ end
78
+
79
+ # find the file
80
+ gem_dir = File.expand_path File.dirname(__FILE__) + '/../..'
81
+ script = gem_dir + '/scripts/ubuntu_setup.sh'
82
+
83
+ if env == 'show'
84
+
85
+ puts "---------------"
86
+ puts "Pre"
87
+ puts "---------------\n"
88
+ puts File.read script
89
+
90
+ puts "\n---------------"
91
+ puts "Parsed"
92
+ puts "---------------"
93
+ puts Installer.parse_sh File.read(script)
94
+
95
+ elsif env == 'local'
96
+ exec 'sudo bash ' + script
97
+
98
+ else
99
+ exec "export to=#{env} && bundle exec mina -f .bonethug/deploy.rb setup_env --verbose"
100
+
101
+ end
102
+
103
+ when 'init', 'update'
104
+
105
+ # handle args
106
+ location = ARGV[1] || '.'
107
+
108
+ # validate
109
+ unless location
110
+ puts 'Usage: ' + bin_name + ' #{task} [location]'
111
+ return
112
+ end
113
+
114
+ # run the initaliser
115
+ Installer.bonethugise(location, task.to_sym)
116
+
117
+ when 'run',
118
+ 'rake',
119
+ 'drush',
120
+ 'drush-local',
121
+ 'sake'
122
+
123
+ # get env
124
+ environment = ARGV.last
125
+
126
+ # handle args
127
+ if task == 'run'
128
+ cmd_task = ARGV[1]
129
+ args = ARGV[2..(ARGV.length-2)]
130
+ else
131
+ case task
132
+ when 'rake'
133
+ cmd_task = 'rake'
134
+ when 'drush', 'drush-local'
135
+ cmd_task = File.expand_path('./vendor/drush/drush/drush') + ' -r ' + File.expand_path('./public')
136
+ when 'sake'
137
+ cmd_task = 'public/framework/sake'
138
+ end
139
+ args = ARGV[1..(ARGV.length-2)]
140
+ end
141
+
142
+ if task == 'drush-local'
143
+
144
+ env_cmd = RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i ? 'set' : 'export'
145
+ cmd = env_cmd + " APPLICATION_ENV=#{environment} && #{cmd_task} #{args.join(' ')}"
146
+ puts
147
+ exec cmd
148
+
149
+ else
150
+
151
+ # build command
152
+ run = "\"run[#{cmd_task} #{args.join(' ')}]\""
153
+
154
+ # do it!
155
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb #{run} --verbose"
156
+
157
+ end
158
+
159
+ when 'deploy',
160
+ 'setup',
161
+ 'remote-backup',
162
+ 'local-backup',
163
+ 'sync-backup-to',
164
+ 'sync-backup-from',
165
+ 'sync-local-to',
166
+ 'sync-local-from',
167
+ 'init-db',
168
+ 'force-unlock',
169
+ 'cleanup'
170
+
171
+ # handle args
172
+ environment = ARGV[1]
173
+
174
+ # validate
175
+ unless environment
176
+ puts 'Usage: thug #{task} [environment]'
177
+ return
178
+ end
179
+
180
+ case task
181
+
182
+ # Setup and Deploy
183
+ when 'deploy'
184
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy --verbose"
185
+ when 'setup'
186
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb setup --verbose"
187
+
188
+ # remote mina scripts
189
+ when 'init-db'
190
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb init_db --verbose"
191
+ when 'force-unlock'
192
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy:force_unlock --verbose"
193
+ when 'cleanup'
194
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb deploy:cleanup --verbose"
195
+
196
+ # Snapshot Backup
197
+ when 'remote-backup'
198
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb backup --verbose"
199
+ when 'local-backup'
200
+ exec "export to=#{environment} && bundle exec astrails-safe .bonethug/backup.rb"
201
+
202
+ # Synchronised backup
203
+ when 'sync-backup-to'
204
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb sync_to --verbose"
205
+ when 'sync-backup-from'
206
+ exec "export to=#{environment} && bundle exec mina -f .bonethug/deploy.rb sync_from --verbose"
207
+
208
+ when 'sync-local-to'
209
+ exec "ruby .bonethug/syncer.rb sync_local_to #{environment}"
210
+ when 'sync-local-from'
211
+ exec "ruby .bonethug/syncer.rb sync_local_from #{environment}"
212
+ end
213
+
214
+ when 'watch'
215
+
216
+ # handle args
217
+ type = ARGV[1] || 'coffee_sass'
218
+ location = ARGV[2] || '.'
219
+ watch_only = ARGV[3] || nil
220
+
221
+ # run the installer
222
+ Watcher.watch type, location, watch_only
223
+
224
+ when 'clean'
225
+
226
+ location = ARGV[1] || '.'
227
+ Installer.clean location
228
+
229
+ else
230
+
231
+ # We didn't find a task
232
+ puts 'Task not found'
233
+
234
+ end
235
+
236
+ end
237
+
238
+ def self.display_help(bin_name = 'thug')
239
+ puts 'Usage: ' + bin_name + ' task [argument]...'
240
+ end
241
+
242
+ end
243
243
  end
data/lib/bonethug/conf.rb CHANGED
File without changes