the_force 0.3.6 → 0.3.7

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/Rakefile CHANGED
@@ -7,7 +7,7 @@ exclude_file_globs = []
7
7
 
8
8
  spec = Gem::Specification.new do |s|
9
9
  s.name = "the_force"
10
- s.version = '0.3.6'
10
+ s.version = '0.3.7'
11
11
  s.author = "Ryan Ziegler"
12
12
  s.email = "info@symbolforce.com"
13
13
  s.homepage = "http://www.symbolforce.com"
@@ -0,0 +1,76 @@
1
+ #CRZ - sep 24 10 installs app to mastodon as www user
2
+ # - beware, www user needs to have custom PATH in .ssh/environment for things to work right
3
+ # - uses custom tasks for bundler support
4
+ #
5
+ # - oct 28 10 - copied from invoicing app deploy.rb
6
+ # - to deploy on a new box, first cap deploy:setup, then add database.yml on the server in shared, then deploy:cold
7
+ #
8
+ # - nov 4 - putting capistrano recipe into the_force, use like this
9
+ # require 'rubygems'
10
+ # require 'the_force'
11
+ # require 'the_force/lib/the_force/capistrano/internal/defaults'
12
+ # set :application, "amie"
13
+ # set :shared_dirs, %w(public/system log db/sqlite)
14
+ # set :shared_files, %w(config/database.yml config/cdn.yml)
15
+ # require 'the_force/lib/the_force/capistrano/internal/rails'
16
+
17
+ require 'highline'
18
+
19
+ Capistrano::Configuration.instance(:sf_internal_rails).load do
20
+ [:server_name, :application, :shared_dirs, :shared_files].each do |v|
21
+ raise "#{v} must be set to use this capistrano recipe." unless exists? v
22
+ end
23
+
24
+ role :app, "#{server_name}"
25
+ role :db, "#{server_name}", :primary => true
26
+
27
+ namespace :sf do
28
+ desc "symlink shared directories"
29
+ task :symlink_shared_dirs, :roles => :app do
30
+ for d in shared_dirs
31
+ run <<-EOF
32
+ mkdir -p #{shared_path}/#{d} &&
33
+ rm -rf #{release_path}/#{d}; true;
34
+ ln -s #{shared_path}/#{d} #{release_path}/#{d}
35
+ EOF
36
+ end
37
+ end
38
+
39
+ desc "symlinks shared files"
40
+ task :symlink_shared_files, :roles => :app do
41
+ for f in shared_files
42
+ run "mkdir -p #{deploy_to}/shared/#{File.dirname(f)}"
43
+ run "rm #{release_path}/#{f}; true"
44
+ run "ln -s #{shared_path}/#{f} #{release_path}/#{f}"
45
+ end
46
+ end
47
+
48
+ desc "set permissions on mastodon"
49
+ task :chowning, :roles => :app do
50
+ run "chown -R #{httpd_owner}.#{httpd_owner} #{release_path}"
51
+ end
52
+
53
+ desc "init and update submodules"
54
+ task :fetch_submodules, :roles => :app do
55
+ run "cd #{release_path} && git submodule update --init"
56
+ end
57
+ end
58
+
59
+ namespace :deploy do
60
+ desc "restart passenger ruby process"
61
+ task :restart, :roles => :app do
62
+ run "touch #{current_path}/tmp/restart.txt"
63
+ on_rollback do
64
+ run "touch #{current_path}/tmp/restart.txt"
65
+ end
66
+ end
67
+ end
68
+
69
+ ###CRZ - the chowning is not the last thing...some things owned by root, particularly the symlinks.
70
+ after 'deploy:update_code', 'bundler:bundle_new_release'
71
+ after 'bundler:bundle_new_release', 'sf:fetch_submodules'
72
+ after 'deploy:finalize_update', 'sf:chowning'
73
+ after 'sf:chowning', 'sf:symlink_shared_files'
74
+ after 'sf:symlink_shared_files', 'sf:symlink_shared_dirs'
75
+ after 'deploy:symlink', 'deploy:migrate'
76
+ end
@@ -2,7 +2,8 @@ require 'thread'
2
2
  begin
3
3
  require 'fastthread'
4
4
  rescue LoadError
5
- $stderr.puts "Using the ruby-core thread implementation"
5
+ #CRZ: this error msg is quite annoying
6
+ #$stderr.puts "Using the ruby-core thread implementation"
6
7
  end
7
8
 
8
9
  module TheForce
@@ -50,7 +51,7 @@ module TheForce
50
51
 
51
52
  def exception(thread, exception, *original_args)
52
53
  # Subclass this method to handle an exception within a thread.
53
- puts "Exception in thread #{thread}: #{exception}"
54
+ puts "Exception in thread #{thread}: #{exception}\n #{exception.backtrace.join("\n ")}"
54
55
  end
55
56
  end
56
57
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_force
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 3
9
- - 6
10
- version: 0.3.6
8
+ - 7
9
+ version: 0.3.7
11
10
  platform: ruby
12
11
  authors:
13
12
  - Ryan Ziegler
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-01-24 00:00:00 -04:00
17
+ date: 2012-05-06 00:00:00 -04:00
19
18
  default_executable:
20
19
  dependencies: []
21
20
 
@@ -34,6 +33,7 @@ files:
34
33
  - init.rb
35
34
  - lib/the_force/capistrano/internal/defaults.rb
36
35
  - lib/the_force/capistrano/internal/rails.rb
36
+ - lib/the_force/capistrano/tomcat.rb
37
37
  - lib/the_force/keep_trying.rb
38
38
  - lib/the_force/memoize.rb
39
39
  - lib/the_force/object_support.rb
@@ -62,27 +62,23 @@ rdoc_options:
62
62
  require_paths:
63
63
  - lib
64
64
  required_ruby_version: !ruby/object:Gem::Requirement
65
- none: false
66
65
  requirements:
67
66
  - - ">="
68
67
  - !ruby/object:Gem::Version
69
- hash: 3
70
68
  segments:
71
69
  - 0
72
70
  version: "0"
73
71
  required_rubygems_version: !ruby/object:Gem::Requirement
74
- none: false
75
72
  requirements:
76
73
  - - ">="
77
74
  - !ruby/object:Gem::Version
78
- hash: 3
79
75
  segments:
80
76
  - 0
81
77
  version: "0"
82
78
  requirements: []
83
79
 
84
80
  rubyforge_project:
85
- rubygems_version: 1.3.7
81
+ rubygems_version: 1.3.6
86
82
  signing_key:
87
83
  specification_version: 3
88
84
  summary: Common code for Symbolforce