rails_pwnerer 0.6.81 → 0.6.82

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/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.6.82. Switched to zerg_support for process management + mysql encoding bugfix.
2
+
1
3
  v0.6.81. Removed extra check for database resets. It just stands in the way.
2
4
 
3
5
  v0.6.80. UTF-8 when creating mysql databases.
@@ -77,7 +77,7 @@ ENDSQL
77
77
  !(/mysql/ =~ configuration['production']['adapter'])
78
78
  configuration['production']['adapter'] = 'mysql2'
79
79
  end
80
- configuration['production']['encoding'] ||= 'utf-8'
80
+ configuration['production']['encoding'] ||= 'utf8'
81
81
  configuration['production'].merge! 'database' => db_name, 'username' => db_user, 'password' => db_pass
82
82
  configuration['production'].merge! mysql_host_info()
83
83
  File.open(config_file, 'w') { |f| YAML.dump(configuration, f) }
@@ -1,41 +1,11 @@
1
1
  # extends Base with process management features
2
-
3
- begin
4
- require 'sys/proctable'
5
- rescue Exception
6
- # the sys-proctable gem isn't available during scaffolding
7
- # (or if the compilation breaks for some reason); mock it
8
-
9
- module Sys
10
- end
11
-
12
- module Sys::ProcTable
13
- class ProcInfo
14
- def initialize(pid, cmdline)
15
- @pid = pid
16
- @cmdline = cmdline
17
- end
18
- attr_reader :pid, :cmdline
19
- end
20
-
21
- def self.ps
22
- retval = []
23
- ps_output = `ps ax`
24
- ps_output.each_line do |pline|
25
- pdata = pline.split(nil, 5)
26
- pinfo = ProcInfo.new(pdata[0].strip, pdata[4].strip)
27
- retval << pinfo
28
- end
29
- return retval
30
- end
31
- end
32
- end
2
+ require 'zerg_support'
33
3
 
34
4
  module RailsPwnerer::Base
35
5
  # returns information about a process
36
6
  def process_info(pid = nil)
37
7
  info = Hash.new
38
- Sys::ProcTable.ps.each do |process|
8
+ Zerg::Support::ProcTable.ps.each do |process|
39
9
  item = { :cmdline => process.cmdline, :pid => process.pid.to_s }
40
10
 
41
11
  if pid.nil?
@@ -50,4 +20,8 @@ module RailsPwnerer::Base
50
20
  return nil
51
21
  end
52
22
  end
23
+
24
+ def kill_tree
25
+ Zerg::Support::Process.kill_tree pid
26
+ end
53
27
  end
@@ -7,6 +7,9 @@ class RailsPwnerer::Scaffolds::Gems
7
7
  # The gem repository gets wiped on new Debian and Ubuntu installs, so we
8
8
  # need to reinstall ourselves.
9
9
  install_gems %w(rails_pwnerer)
10
+
11
+ # Process management.
12
+ install_gems %w(zerg_support)
10
13
  end
11
14
 
12
15
  def install_databases
@@ -1,3 +1,5 @@
1
+ require 'zerg_support'
2
+
1
3
  module RailsPwnerer::Util
2
4
  # Complex procedure for killing a process or a bunch of process replicas
3
5
  # kill_command is the script that's supposed to kill the process / processes (tried first)
@@ -38,7 +40,7 @@ module RailsPwnerer::Util
38
40
  # avoid killing innocent victims
39
41
  if pinfo[pid].nil? or process_patterns.all? { |pattern| process_cmdline.index pattern }
40
42
  print "Killing #{pid}: #{process_cmdline}\n" if options[:verbose]
41
- Process.kill 'TERM', pid.to_i
43
+ kill_tree pid.to_i
42
44
  end
43
45
  rescue
44
46
  # just in case the file gets wiped before we see it
@@ -56,7 +58,7 @@ module RailsPwnerer::Util
56
58
  pinfo.each do |pid, info|
57
59
  next unless process_patterns.all? { |pattern| info[:cmdline].index pattern }
58
60
  print "Killing #{pid}: #{pinfo[pid][:cmdline]}\n" if options[:verbose]
59
- Process.kill 'TERM', pid.to_i
61
+ kill_tree pid.to_i
60
62
  end
61
63
  end
62
64
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rails_pwnerer}
5
- s.version = "0.6.81"
5
+ s.version = "0.6.82"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Victor Costan"]
9
- s.date = %q{2010-10-17}
9
+ s.date = %q{2010-10-21}
10
10
  s.default_executable = %q{bin/rpwn}
11
11
  s.description = %q{Rails deployment hack.}
12
12
  s.email = %q{victor@costan.us}
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_pwnerer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 165
4
+ hash: 163
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 81
10
- version: 0.6.81
9
+ - 82
10
+ version: 0.6.82
11
11
  platform: ruby
12
12
  authors:
13
13
  - Victor Costan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-17 00:00:00 -04:00
18
+ date: 2010-10-21 00:00:00 -04:00
19
19
  default_executable: bin/rpwn
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency