doozer 0.2.1 → 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.
data/README.rdoc CHANGED
@@ -7,16 +7,20 @@
7
7
  * Clustering ala Mongrel::Cluster
8
8
 
9
9
  == Requirements
10
- * Ruby < 1.9 (untestested on Ruby 1.9 as of now)
11
- * Rack (http://rack.rubyforge.org) gem (0.9.1 or 1.0.0)
12
- * Any http server supported by Rack
13
- * ActiveRecord, DataMapper or Sequel (only if you need DB support)
10
+ * Ruby < 1.9 (untested on Ruby 1.9 as of now)
11
+ * Rack (http://rack.rubyforge.org) gem (0.9.1, 1.0.0, or 1.0.1)
12
+ * Any http server supported by Rack out of the box (CGI, FastCGI, Mongrel, EventedMongrel, SwiftipliedMongrel, WEBrick, LSWS, SCGI, or Thin)
13
+ * ActiveRecord, DataMapper, or Sequel (only if you need DB support)
14
+
15
+ == Gems
16
+ * As of version >= 0.2.0, the doozer gem is now distributed via gemcutter.
17
+ * The project homepage is here: http://gemcutter.org/gems/doozer
14
18
 
15
19
  == Getting Started
16
20
  1. Install the gem(s):
17
- - gem sources -a http://gems.github.com (if you haven't already)
21
+ - gem sources -a http://gemcutter.org (if you haven't already)
18
22
  - sudo gem install rack
19
- - sudo gem install grippy-doozer
23
+ - sudo gem install doozer
20
24
  2. Run 'doozer test-app' to generate the base application skeleton.
21
25
  3. Fire up the application in development mode
22
26
  - cd test-app
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/doozer.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{doozer}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["grippy"]
12
- s.date = %q{2009-10-22}
12
+ s.date = %q{2009-10-23}
13
13
  s.default_executable = %q{doozer}
14
14
  s.description = %q{This GEM provides a small, barebones framework for creating MVC Rack applications.}
15
15
  s.email = %q{gmelton@whorde.com}
data/lib/doozer/app.rb CHANGED
@@ -35,32 +35,31 @@ module Doozer
35
35
  controller = controller_klass.new({:env=>env, :route=>route, :extra_params=>extra_params, :port=>@options[:Port]})
36
36
 
37
37
  # call after_initialize test for excludes
38
- execution_time('controller.after_initialize',:start)
38
+ #execution_time('controller.after_initialize',:start)
39
39
  controller.after_initialize if not controller_klass.after_initialize_exclude.include?(route.action.to_sym)
40
- execution_time(nil, :end)
40
+ #execution_time(nil, :end)
41
41
 
42
42
  begin
43
43
 
44
44
  # call before_filter test for excludes
45
- execution_time('controller.before_filter',:start)
45
+ #execution_time('controller.before_filter',:start)
46
46
  controller.before_filter if not controller_klass.before_filter_exclude.include?(route.action.to_sym)
47
- execution_time(nil,:end)
47
+ #execution_time(nil,:end)
48
48
 
49
49
  # call the action method
50
- execution_time('controller.method(route.action).call',:start)
50
+ #execution_time('controller.method(route.action).call',:start)
51
51
  controller.method(route.action).call()
52
- execution_time(nil,:end)
52
+ #execution_time(nil,:end)
53
53
 
54
54
  # call after_filter test for excludes
55
- execution_time('controller.after_filter',:start)
55
+ #execution_time('controller.after_filter',:start)
56
56
  controller.after_filter if not controller_klass.after_filter_exclude.include?(route.action.to_sym)
57
- execution_time(nil, :end)
57
+ #execution_time(nil, :end)
58
58
 
59
59
  # render controller...
60
- execution_time('controller.render_result',:start)
61
- # r = Rack::Response.new(controller.render_controller(view, layout), route.status, {"Content-Type" => route.content_type})
60
+ #execution_time('controller.render_result',:start)
62
61
  r = Rack::Response.new(controller.render_result, route.status, {"Content-Type" => route.content_type})
63
- execution_time(nil,:end)
62
+ #execution_time(nil,:end)
64
63
  r.set_cookie('flash',{:value=>nil, :path=>'/'})
65
64
  r.set_cookie('session',{:value=>controller.session_to_cookie(), :path=>'/'})
66
65
 
@@ -20,6 +20,7 @@ clusters = Doozer::Configs.symbolize_keys(config[:clusters])
20
20
  @server = clusters[:server]
21
21
  @config = DOOZER_PATH + '/doozer/rackup/server.ru'
22
22
  @test_config = DOOZER_PATH + '/doozer/rackup/test.rb'
23
+ @config_file = '' #optional config file to use instead of the default unicorn config
23
24
  @apps = []
24
25
 
25
26
  for app in clusters[:apps]
@@ -59,6 +60,29 @@ def start
59
60
  system("ps -aux | grep rackup")
60
61
  end
61
62
 
63
+ # Call to start unicorn server
64
+ #
65
+ # Set the app.yml clusters server to unicorn complete with one ip:port value.
66
+ #
67
+ # You can also pass an optional value -c FILE to override the default unicorn conf.
68
+ #
69
+ # See Unicorn::Configurator for more details => http://unicorn.bogomips.org/Unicorn/Configurator.html
70
+ #
71
+ # You'll need to create your own scripts for stoping and restarting.
72
+ #
73
+ # See this page for details => http://unicorn.bogomips.org/SIGNALS.html
74
+ def start_unicorn
75
+ printf "Starting unicorn... \n"
76
+ for app in @apps
77
+ # unicorn
78
+ @config_file = "-c #{@config_file}" if @config_file != ''
79
+ cmd = "unicorn -p #{app[:port]} -E #{@env.to_s} -o #{app[:ip]} #{@daemonize} #{@config_file} #{@config}"
80
+ printf "Command: #{cmd}\n"
81
+ system(cmd)
82
+ break
83
+ end
84
+ end
85
+
62
86
  # Calls stop() and then start()
63
87
  def restart
64
88
  stop
@@ -101,6 +125,10 @@ opts = OptionParser.new("", 24, ' ') { |opts|
101
125
  opts.on("-E", "--env ENVIRONMENT", "default: development || deployment") { | e |
102
126
  @env = e.downcase.to_sym
103
127
  }
128
+ opts.on("-c", "--config-file FILE", "optional config file to use for server (supported by unicorn, etc.)") { | cf |
129
+ @config_file = cf || ''
130
+ }
131
+
104
132
  opts.on_tail("-h", "--help", "Show this message") do
105
133
  puts opts
106
134
  exit
@@ -113,7 +141,7 @@ opts = OptionParser.new("", 24, ' ') { |opts|
113
141
 
114
142
  case @command
115
143
  when :start
116
- start()
144
+ @server != 'unicorn' ? start() : start_unicorn()
117
145
  when :restart
118
146
  restart()
119
147
  when :stop
@@ -2,7 +2,7 @@ module Doozer
2
2
  module Version
3
3
  MAJOR=0
4
4
  MINOR=2
5
- PATCH=1
5
+ PATCH=2
6
6
  STRING=[MAJOR, MINOR, PATCH].join('.')
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doozer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - grippy
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-22 00:00:00 -07:00
12
+ date: 2009-10-23 00:00:00 -07:00
13
13
  default_executable: doozer
14
14
  dependencies: []
15
15