wpcap 0.2.4 → 0.2.6

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.
data/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # WPcap
2
2
 
3
- WPcap is a set of capistrano recipes designed to deploy wordpress instaliations to ubuntu 12.04 and up. It provides database and asset sync tasks, per deploy mysql backups, a helper appication to setup a brand new wordpress install ready to be deployed.
3
+ WPcap is a set of capistrano recipes designed to deploy wordpress instaliations to ubuntu 12.04 and up. It provides database and asset sync tasks, per deploy mysql backups, a helper appication to setup a brand new wordpress install ready to be deployed.
4
4
 
5
- WPcap is opinionated, and currently reasonably narrow minded.
5
+ WPcap is opinionated, and currently reasonably narrow minded.
6
6
 
7
7
  WPcap expectations
8
8
 
9
9
  * Local Macine is a Mac running MAMP (for now)
10
- * Remote Server is a brand new Ubuntu Server
10
+ * Remote Server is a brand new Ubuntu Server
11
11
  * Passwordless access to remote server has be established (ssh keys) **Capistrano Requirment**
12
12
  * Using a SMTP Mailer Plugin for E-Mail delivery ie. wp-mail-smtp
13
13
 
@@ -18,7 +18,7 @@ WPcap server configuration
18
18
  * mysql > 5.5
19
19
  * memcached
20
20
  * varnish (Optional)
21
-
21
+
22
22
  * **Core**
23
23
  * git
24
24
  * debconf-utils
@@ -33,7 +33,7 @@ Install it:
33
33
  ## Usage
34
34
 
35
35
  Create a new projet
36
-
36
+
37
37
  wpcap create mynewproject
38
38
 
39
39
  Convert an existing project to WPcap (Incomplete)
@@ -41,7 +41,7 @@ Convert an existing project to WPcap (Incomplete)
41
41
  wpcap build PATH-TO-WORDPRESS-FOLDER
42
42
 
43
43
  Build a remote server
44
-
44
+
45
45
  cap deploy:install
46
46
 
47
47
  Setup a remote server for this wordpress install
@@ -51,30 +51,29 @@ Setup a remote server for this wordpress install
51
51
  Deploy your latest code to the server
52
52
 
53
53
  cap deploy
54
-
55
- Push Local Database and Assets to remote server
54
+
55
+ Push Local Database and Assets to remote server (will update aboslute URLS in wordpress post content)
56
56
 
57
57
  cap db:push
58
-
59
- Pull Remote Database and Assets to local enviroment
58
+
59
+ Pull Remote Database and Assets to local enviroment (will update aboslute URLS in wordpress post content)
60
60
 
61
61
  cap db:pull
62
-
62
+
63
63
  List Backups and Resotre
64
64
 
65
65
  cap backups
66
-
66
+
67
67
  ## Todo
68
68
 
69
69
  * Covert a predone wordpress install into a wpcap style directory
70
- * Do not require MAMP
71
70
  * Allow users to customize templates by placing them in their config directory (think devise generators for views)
72
71
  * Automate mysql_secure_installation
73
- * Offsite (s3) Backups
72
+ * Offsite (s3) Backups
74
73
  * Backup Asset Directory
75
74
  * Add Sendmail Receipe and Config (Maybe?)
76
-
77
-
75
+
76
+
78
77
 
79
78
  ## Contributing
80
79
 
@@ -21,11 +21,20 @@ configuration.load do
21
21
  chars = (('a'..'z').to_a + ('0'..'9').to_a) - %w(i o 0 1 l 0)
22
22
  (1..size).collect{|a| chars[rand(chars.size)] }.join
23
23
  end
24
-
24
+
25
25
  def remote_file_exists?(full_path)
26
26
  'true' == capture("if [ -e #{full_path} ]; then echo 'true'; fi").strip
27
27
  end
28
-
28
+
29
+ def set_local_uri
30
+ httpd_conf = File.read(local_httpd_conf_path)
31
+ document_root = httpd_conf.match(/^(?!#)DocumentRoot "(.+)"\n/)[1]
32
+ apache_listen = httpd_conf.match(/^(?!#)Listen ([0-9]{1,16})\n/)[1]
33
+ current_path = Dir.pwd
34
+ set(:local_uri , "http://localhost:#{apache_listen}#{Dir.pwd.gsub(document_root, '')}/app")
35
+ end
36
+
37
+
29
38
  def run_with_tty(server, cmd)
30
39
  # looks like total pizdets
31
40
  command = []
@@ -43,7 +52,17 @@ configuration.load do
43
52
  default_run_options[:pty] = true
44
53
  ssh_options[:forward_agent] = true
45
54
  set :use_sudo , false
46
-
55
+ set :newrelic , true
56
+
57
+ if mamp
58
+ set_default :local_mysql_path , "/Applications/MAMP/Library/bin/"
59
+ set_default :local_httpd_conf_path , "/Applications/MAMP/conf/apache/httpd.conf"
60
+ else
61
+ set_default :local_mysql_path , ""
62
+ set_default :local_httpd_conf_path , "/etc/apache2/httpd.conf"
63
+ end
64
+ set_local_uri
65
+
47
66
  namespace :deploy do
48
67
  desc "Install everything onto the server"
49
68
  task :install do
@@ -51,7 +70,7 @@ configuration.load do
51
70
  run "#{sudo} apt-get -y install git debconf-utils python-software-properties"
52
71
  end
53
72
  end
54
-
73
+
55
74
  desc "Tail all or a single remote file"
56
75
  task :tail do
57
76
  ENV["LOGFILE"] ||= "*.log"
@@ -60,4 +79,4 @@ configuration.load do
60
79
  break if stream == :err
61
80
  end
62
81
  end
63
- end
82
+ end
@@ -175,10 +175,12 @@ configuration.load do
175
175
 
176
176
  def fetch_db_config(remote = false)
177
177
  if remote
178
- YAML.load( capture("cat /etc/wpcap/database.yml"))
178
+ config = YAML.load( capture("cat /etc/wpcap/database.yml") )
179
179
  else
180
- YAML.load(File.open("config/database.yml"))
180
+ config = YAML.load(File.open("config/database.yml"))
181
181
  end
182
+
183
+ config || {}
182
184
  end
183
185
 
184
186
  # Sets database variables from remote database.yaml
@@ -187,12 +189,12 @@ configuration.load do
187
189
  load_stage = load_stage.to_s
188
190
 
189
191
  if !db_config
190
- Wpcap::Utility.error("No Database Configuratons Found")
192
+ Wpcap::Utility.error("No Database Configurations Found")
191
193
  abort
192
194
  end
193
195
 
194
196
  if remote_config(:db_priv_pass).nil?
195
- Wpcap::Utility.error "This no privleged user for this server found in servers ssh enviroment profile (did you set it up with wpcap?)"
197
+ Wpcap::Utility.error "This no privileged user for this server found in servers ssh environment profile (did you set it up with wpcap?)"
196
198
  abort
197
199
  end
198
200
 
@@ -216,7 +218,7 @@ configuration.load do
216
218
  set :db_username , "#{application.split(".").first}_#{stage}"
217
219
  set :db_database , "#{application.split(".").first}_#{stage}"
218
220
  set :db_password , random_password(16)
219
- set :db_prefix , db_config["development"]["prefix"]
221
+ set :db_prefix , "wp_" || db_config["development"]["prefix"]
220
222
 
221
223
  run "mkdir -p #{shared_path}/config"
222
224
  template "mysql.yml.erb", "#{shared_path}/config/database.yml"
@@ -25,6 +25,9 @@ set :uploads_path, "assets"
25
25
  #Are you using MAMP on your local machine?
26
26
  set :mamp , true
27
27
 
28
+ #Are you using intense nginx rewrites or WP3 Total Cache?
29
+ set :custom_nginx , false
30
+
28
31
  # if you want to clean up old releases on each deploy uncomment this:
29
32
  set :keep_releases, 5
30
33
  after "deploy", "deploy:cleanup"
@@ -8,3 +8,9 @@ set :user, "root"
8
8
  set :application_url, "your full url here including the protocol (https/http)"
9
9
  server "your server address or url here", :web, :app, :db, primary: true
10
10
 
11
+ # Database Backup Path
12
+ set :backups_path, "#{deploy_to}/backups"
13
+ set :keep_backups, 5
14
+
15
+ # if you want to clean up old backups on each deploy uncomment this:
16
+ # after :deploy , 'backups:cleanup'
@@ -1,6 +1,6 @@
1
1
  server {
2
2
  listen 80;
3
- server_name <%= application %>, <%= application_url.gsub(/^https?:\/\//, "") %>, www.<%= application %>, www.<%= application_url.gsub(/^https?:\/\//, "") %> ;
3
+ server_name <%= application %> <%= application_url.gsub(/^https?:\/\//, "") %> www.<%= application %> www.<%= application_url.gsub(/^https?:\/\//, "") %> ;
4
4
  root <%= current_path %>/app;
5
5
  index index.php;
6
6
 
@@ -15,43 +15,51 @@ server {
15
15
  rewrite ^/assets/js/(.*)$ /wp-content/themes/<%= wp_template %>/assets/js/$1 last;
16
16
  rewrite ^/assets/img/(.*)$ /wp-content/themes/<%= wp_template %>/assets/img/$1 last;
17
17
  }
18
-
18
+
19
19
  location ^~ /plugins/ {
20
20
  rewrite ^/plugins/(.*)$ /wp-content/plugins/$1 last;
21
21
  }
22
-
22
+
23
23
  location = /favicon.ico {
24
24
  log_not_found off;
25
25
  access_log off;
26
26
  }
27
-
27
+
28
28
  location = /robots.txt {
29
29
  allow all;
30
30
  log_not_found off;
31
31
  access_log off;
32
32
  }
33
-
33
+
34
34
  location / {
35
35
  try_files $uri $uri/ /index.php?$args;
36
36
  }
37
-
37
+
38
38
  location ~ \.php$ {
39
39
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
40
40
  fastcgi_pass unix:/var/run/php5-fpm.sock;
41
41
  fastcgi_index index.php;
42
42
  include fastcgi_params;
43
+ <% if newrelic %>
44
+ if (extension_loaded ('newrelic')) {
45
+ newrelic_set_appname ("<% application %>;All Virtual Hosts");
46
+ }
47
+ <% end%>
43
48
  }
44
-
49
+
45
50
  if (-f $document_root/system/maintenance.html) {
46
51
  return 503;
47
52
  }
48
-
53
+
49
54
  error_page 503 @maintenance;
50
55
  location @maintenance {
51
56
  rewrite ^(.*)$ /system/maintenance.html last;
52
57
  break;
53
58
  }
54
-
59
+
60
+ <% if custom_nginx %>
55
61
  include <%= shared_path %>/config/nginx.conf;
62
+ <% end %>
63
+
56
64
 
57
65
  }
@@ -7,24 +7,18 @@ Capistrano.configuration(:must_exist)
7
7
 
8
8
  configuration.load do
9
9
  extraction_terms = [ {"DB_CHARSET" => "encoding"}, {"DB_NAME" => "database"} , {"DB_USER" => "username"} , {"DB_PASSWORD" => "password" } , {"DB_HOST" => "host"}]
10
-
10
+
11
11
  set_default :uploads_path, "wp-content/uploads"
12
12
 
13
- if mamp
14
- set_default :local_mysql_path , "/Applications/MAMP/Library/bin/"
15
- set_default :local_httpd_conf_path , "/Applications/MAMP/conf/apache/httpd.conf"
16
- else
17
- set_default :local_mysql_path , ""
18
- set_default :local_httpd_conf_path , "/etc/apache2/httpd.conf"
19
- end
20
13
 
21
14
 
22
- namespace :db do
15
+
16
+ namespace :db do
23
17
  desc "Alias for db:mysql:pull"
24
18
  task :pull , :roles => :db do
25
19
  db.mysql.pull
26
20
  end
27
-
21
+
28
22
  desc "Alias for db:mysql:push"
29
23
  task :push , :roles => :db do
30
24
  db.mysql.push
@@ -38,44 +32,41 @@ configuration.load do
38
32
 
39
33
  run "rm -Rf #{shared_path}/pids"
40
34
  run "rm -Rf #{shared_path}/system"
41
-
35
+
42
36
  # create shared directories
43
37
  run "mkdir -p #{shared_path}/uploads"
44
38
  run "mkdir -p #{shared_path}/cache"
45
39
  run "mkdir -p #{shared_path}/logs"
46
40
  run "mkdir -p #{shared_path}/config"
47
41
  run "mkdir -p #{backups_path}"
48
-
42
+
49
43
  # setup for wp total cache
50
- run "touch #{shared_path}/config/nginx.conf"
51
-
44
+ run "touch #{shared_path}/config/nginx.conf" if custom_nginx
45
+
52
46
  # set correct permissions
53
47
  run "chmod -R 755 #{latest_release}/app/wp-content/plugins"
54
48
  run "chmod -R 775 #{shared_path}/uploads"
55
49
  run "chmod -R 775 #{shared_path}/cache"
56
50
  run "chmod -R 755 #{latest_release}"
57
- run "chown -R -h #{user}:www-data #{latest_release}"
58
- run "chown -R -h #{user}:www-data #{shared_path}"
59
51
  end
60
-
52
+
61
53
  desc "[internal] Touches up the released code. This is called by update_code after the basic deploy finishes."
62
54
  task :finalize_update, :roles => :web, :except => { :no_release => true } do
63
55
  # remove shared directories
64
56
  run "rm -Rf #{latest_release}/app/#{uploads_path}"
65
57
  run "rm -Rf #{latest_release}/wp-content/cache"
66
- run "rm -Rf #{latest_release}/nginx.conf"
67
58
 
68
59
  # Removing cruft files.
69
60
  run "rm -Rf #{latest_release}/license.txt"
70
61
  run "rm -Rf #{latest_release}/readme.html"
71
-
62
+
72
63
  end
73
64
  desc "[internal] Verify Code and repo is ready to be released"
74
65
  task :check_code, :except => { :no_release => true } do
75
66
  #make sure the user has actually set up the wordpress install
76
67
  unless File.exists?("app/wp-config.php")
77
68
  Wpcap::Utility.error("This Wordpress Installation does not appear to have a wp-config.php file (Please create one at app/wp-config.php )")
78
- abort
69
+ abort
79
70
  end
80
71
  end
81
72
  before "deploy", "deploy:check_code"
@@ -83,13 +74,17 @@ configuration.load do
83
74
  end
84
75
 
85
76
  namespace :wordpress do
86
-
77
+
87
78
  desc "Links the correct settings file"
88
79
  task :symlink, :roles => :web, :except => { :no_release => true } do
89
80
  run "ln -nfs #{shared_path}/uploads #{latest_release}/app/#{uploads_path}"
90
81
  run "ln -nfs #{shared_path}/cache #{latest_release}/app/wp-content/cache"
91
- run "rm #{shared_path}/config/nginx.conf"
92
- run "ln -nfs #{shared_path}/config/nginx.conf #{latest_release}/app/nginx.conf"
82
+
83
+ if custom_nginx
84
+ run "rm -f #{shared_path}/config/nginx.conf"
85
+ run "ln -nfs #{shared_path}/config/nginx.conf #{latest_release}/app/nginx.conf"
86
+ end
87
+
93
88
  end
94
89
 
95
90
  desc "Generate a wp-config.php based upon the app server geneated db password"
@@ -98,83 +93,87 @@ configuration.load do
98
93
  wpconfig = run_locally "cat app/wp-config.php"
99
94
  stage_config = "/tmp/wp-config.#{stage}"
100
95
  db.mysql.prepare_env
101
-
96
+
102
97
  extraction_terms.each do |env|
103
98
  term = env.keys.first
104
99
  sym = env.values.first
105
100
  wpconfig = wpconfig.gsub(/define\('#{term}', '.{1,16}'\);/, "define\('#{term}', '#{send("db_"+sym)}');")
106
101
  end
107
- #define('DB_NAME', 'database_name');
102
+
108
103
  wpconfig = wpconfig.gsub(/\$table_prefix = '.{1,16}';/, "$table_prefix = '#{send("db_prefix")}';")
109
104
  File.open(stage_config, 'w') {|f| f.write(wpconfig) }
110
105
  upload stage_config, "#{latest_release}/app/wp-config.php"
111
106
  run_locally "rm #{stage_config}"
112
107
  end
113
-
108
+
114
109
  desc "Sync Local Assets to Remote"
115
- task "assets_push", :roles => :web do
110
+ task "assets_push", :roles => :web do
116
111
  servers = find_servers_for_task(current_task)
117
112
  servers.each do |server|
118
113
  run_locally "if [ -d app/#{uploads_path} ]; then rsync -avhru app/#{uploads_path}/* -delete -e 'ssh -p #{port}' #{user}@#{server}:#{shared_path}/uploads; fi"
119
114
  end
120
115
  end
121
-
116
+
122
117
  desc "Sync Remote Assets to Local"
123
- task "assets_pull", :roles => :web do
118
+ task "assets_pull", :roles => :web do
124
119
  servers = find_servers_for_task(current_task)
125
120
  servers.each do |server|
126
121
  run_locally "if [ -d app/#{uploads_path} ]; then rsync -avhru -delete -e 'ssh -p #{port}' #{user}@#{server}:#{shared_path}/uploads/* app/#{uploads_path}; fi"
127
122
  end
128
123
  end
129
-
124
+
130
125
  desc "Extract PHP DB Env Vars"
131
126
  task :extract_local_db, :except => { :no_release => true } do
132
127
  wpconfig = run_locally "cat app/wp-config.php"
133
128
  dev_env = {"development" => {}}
134
129
  extraction_terms.each do |env|
135
- db.mysql.prepare_env
136
130
  term = env.keys.first
137
131
  sym = env.values.first
138
132
  dev_env["development"][sym] = wpconfig.match(/define\('#{term}', '(.{1,16})'\);/)[1]
139
133
  end
140
-
134
+
141
135
  dev_env["development"]["prefix"] = wpconfig.match(/\$table_prefix = '(.{1,16})';/)[1]
142
136
  db.mysql.update_db_config(dev_env)
143
137
  print dev_env
144
138
  end
145
139
  before "deploy:setup", "wordpress:extract_local_db"
146
-
140
+
147
141
  desc "Set URL in database"
148
142
  task :updatedb, :roles => :db, :except => { :no_release => true } do
149
143
  db.mysql.prepare_env
144
+
150
145
  run "mysql -u #{db_username} -p #{db_database} -e 'UPDATE #{db_prefix}options SET option_value = \"#{application_url}\" WHERE option_name = \"siteurl\" OR option_name = \"home\"'" do |ch, stream, out|
151
146
  ch.send_data "#{db_password}\n" if out =~ /^Enter password:/
152
147
  puts out
153
- end
148
+ end
149
+
150
+ run "mysql -u #{db_username} -p #{db_database} -e 'UPDATE #{db_prefix}posts SET post_content = REPLACE(post_content, \"#{local_uri}\", \"#{application_url}\")'" do |ch, stream, out|
151
+ ch.send_data "#{db_password}\n" if out =~ /^Enter password:/
152
+ puts out
153
+ end
154
154
  end
155
155
  after "db:mysql:push", "wordpress:updatedb"
156
156
  after "db:mysql:push", "wordpress:assets_push"
157
-
157
+
158
158
  desc "Set URL in local database"
159
159
  task :update_local_db, :except => { :no_release => true } do
160
160
  db.mysql.prepare_env(:development)
161
- httpd_conf = File.read(local_httpd_conf_path)
162
- document_root = httpd_conf.match(/^(?!#)DocumentRoot "(.+)"\n/)[1]
163
- apache_listen = httpd_conf.match(/^(?!#)Listen ([0-9]{1,16})\n/)[1]
164
- current_path = Dir.pwd
165
- local_uri = "http://localhost:#{apache_listen}#{Dir.pwd.gsub(document_root, '')}/app"
161
+
166
162
  run_locally "#{local_mysql_path}mysql -u #{db_username} -p#{db_password} #{db_database} -e 'UPDATE #{db_prefix}options SET option_value = \"#{local_uri}\" WHERE option_name = \"siteurl\" OR option_name = \"home\"'"
163
+ #Update Absolute URLs for wordpress content (if content is editied locally it will not push correctly to other stages)
164
+ run_locally "#{local_mysql_path}mysql -u #{db_username} -p#{db_password} #{db_database} -e 'UPDATE #{db_prefix}posts SET post_content = REPLACE(post_content, \"#{application_url}\", \"#{local_uri}\")'"
167
165
  end
166
+
168
167
  after "db:mysql:pull", "wordpress:update_local_db"
169
168
  after "db:mysql:pull", "wordpress:assets_pull"
170
-
169
+
171
170
  desc "[internal] Protect system files"
172
171
  task :protect, :except => { :no_release => true } do
173
172
  run "chmod 444 #{latest_release}/app/wp-config.php*"
174
- # run "cd #{current_path} && chown -R #{user} . && find . -type d -print0 | xargs -0 chmod 755"
175
- #run "cd #{shared_path}/uploads && chown -R #{user} . && chmod 755 -R ."
173
+ run "cd #{current_path} && chown -R #{user} . && find . -type d -print0 | xargs -0 chmod 755"
174
+ run "cd #{shared_path}/uploads && chown -R #{user} . && chmod 755 -R ."
176
175
  end
177
-
176
+
178
177
  desc "[internal] get current wp template from local db"
179
178
  task :current_wp_template, :except => { :no_release => true } do
180
179
  db.mysql.prepare_env(:development)
@@ -186,9 +185,9 @@ configuration.load do
186
185
  end
187
186
  end
188
187
  before "nginx:setup", "wordpress:current_wp_template"
189
-
188
+
190
189
  after "wordpress:symlink", "wordpress:create_config"
191
190
  after "wordpress:create_config", "wordpress:protect"
192
191
  after "deploy", "wordpress:symlink"
193
192
  end
194
- end
193
+ end
@@ -1,3 +1,3 @@
1
1
  module Wpcap
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.6"
3
3
  end
metadata CHANGED
@@ -1,168 +1,158 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: wpcap
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 6
10
+ version: 0.2.6
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Russell Osborne
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-12-19 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-06-01 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: capistrano
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: railsless-deploy
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
38
32
  type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: railsless-deploy
39
36
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: thor
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
54
46
  type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: thor
55
50
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
63
  name: guard
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
71
64
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: guard-rspec
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
86
74
  type: :development
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: guard-rspec
87
78
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: webmock
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
102
88
  type: :development
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: webmock
103
92
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: rb-fsevent
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
118
102
  type: :development
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: rb-fsevent
119
106
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rspec
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
134
116
  type: :development
117
+ version_requirements: *id007
118
+ - !ruby/object:Gem::Dependency
119
+ name: rspec
135
120
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: fakefs
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
121
+ requirement: &id008 !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ hash: 3
127
+ segments:
128
+ - 0
129
+ version: "0"
150
130
  type: :development
131
+ version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
133
+ name: fakefs
151
134
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
135
+ requirement: &id009 !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
143
+ version: "0"
144
+ type: :development
145
+ version_requirements: *id009
158
146
  description: A Tool to Setup, Maintain, and Deploy Capistrano Driven Wordpress Sites
159
- email:
147
+ email:
160
148
  - russell@burningpony.com
161
- executables:
149
+ executables:
162
150
  - wpcap
163
151
  extensions: []
152
+
164
153
  extra_rdoc_files: []
165
- files:
154
+
155
+ files:
166
156
  - .gitignore
167
157
  - .rspec
168
158
  - Gemfile
@@ -201,30 +191,38 @@ files:
201
191
  - wpcap.gemspec
202
192
  homepage: https://github.com/rposborne/wpcap
203
193
  licenses: []
194
+
204
195
  post_install_message:
205
196
  rdoc_options: []
206
- require_paths:
197
+
198
+ require_paths:
207
199
  - lib
208
- required_ruby_version: !ruby/object:Gem::Requirement
200
+ required_ruby_version: !ruby/object:Gem::Requirement
209
201
  none: false
210
- requirements:
211
- - - ! '>='
212
- - !ruby/object:Gem::Version
213
- version: '0'
214
- required_rubygems_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ hash: 3
206
+ segments:
207
+ - 0
208
+ version: "0"
209
+ required_rubygems_version: !ruby/object:Gem::Requirement
215
210
  none: false
216
- requirements:
217
- - - ! '>='
218
- - !ruby/object:Gem::Version
219
- version: '0'
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ hash: 3
215
+ segments:
216
+ - 0
217
+ version: "0"
220
218
  requirements: []
219
+
221
220
  rubyforge_project:
222
221
  rubygems_version: 1.8.24
223
222
  signing_key:
224
223
  specification_version: 3
225
- summary: A Tool to Setup, Maintain, and Deploy Capistrano Driven Wordpress Sites on
226
- any cloud server or linux macine
227
- test_files:
224
+ summary: A Tool to Setup, Maintain, and Deploy Capistrano Driven Wordpress Sites on any cloud server or linux macine
225
+ test_files:
228
226
  - spec/binary/wpcap_spec.rb
229
227
  - spec/spec_helper.rb
230
228
  - spec/test_payloads/existing/wp-config.php