Capcode 0.8.8 → 0.8.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <title>Faye demo: chat client</title>
7
+ <link rel="stylesheet" href="/public/style.css" type="text/css" media="screen">
8
+ <script src="/public/jquery.js" type="text/javascript"></script>
9
+ <script src="/comet.js" type="text/javascript"></script>
10
+ <script src="/public/soapbox.js" type="text/javascript"></script>
11
+ </head>
12
+ <body>
13
+ <div class="container">
14
+
15
+ <h1><em>Soapbox</em> | a Twitter-style chat app</h1>
16
+
17
+ <form id="enterUsername">
18
+ <label for="username">Pick a username</label>
19
+ <input type="text" name="username" id="username">
20
+ <input type="submit" value="Go">
21
+ </form>
22
+
23
+ <div id="app">
24
+ <form id="addFollowee">
25
+ <label for="followee">Follow</label>
26
+ <input type="text" name="followee" id="followee">
27
+ <input type="submit" value="Go">
28
+ </form>
29
+
30
+ <form id="postMessage">
31
+ <label for="message">Post a message</label><br>
32
+ <textarea name="message" id="message" rows="3" cols="40"></textarea>
33
+ <input type="submit" value="Go">
34
+ </form>
35
+
36
+ <ul id="stream">
37
+ </ul>
38
+ </div>
39
+
40
+ <script type="text/javascript">
41
+ Comet = new Faye.Client('/comet');
42
+ Comet.connect();
43
+
44
+ Soapbox.init(Comet);
45
+ </script>
46
+
47
+ </div>
48
+ </body>
49
+ </html>
50
+
@@ -128,4 +128,4 @@ ol.CodeRay li { white-space: pre }
128
128
  .CodeRay .del .del { color: #800; font-weight:bold }
129
129
  .CodeRay .chg .chg { color: #66f; }
130
130
  .CodeRay .head .head { color: #f4f; }
131
-
131
+
@@ -724,7 +724,7 @@ module Capcode
724
724
  end
725
725
 
726
726
  # Start server
727
- case conf[:server]
727
+ case conf[:server].to_s
728
728
  when "mongrel"
729
729
  puts "** Starting Mongrel on #{conf[:host]}:#{conf[:port]}"
730
730
  Rack::Handler::Mongrel.run( app, {:Port => conf[:port], :Host => conf[:host]} ) { |server|
@@ -735,6 +735,11 @@ module Capcode
735
735
  Rack::Handler::WEBrick.run( app, {:Port => conf[:port], :BindAddress => conf[:host]} ) { |server|
736
736
  trap "SIGINT", proc { server.shutdown }
737
737
  }
738
+ when "thin"
739
+ puts "** Starting Thin on #{conf[:host]}:#{conf[:port]}"
740
+ Rack::Handler::Thin.run( app, {:Port => conf[:port], :Host => conf[:host]} ) { |server|
741
+ trap "SIGINT", proc { server.stop }
742
+ }
738
743
  end
739
744
  end
740
745
  end
@@ -0,0 +1,27 @@
1
+ require 'rubygems'
2
+ begin
3
+ require 'mongoid'
4
+ rescue LoadError => e
5
+ raise MissingLibrary, "Mongoid could not be loaded (is it installed?): #{e.message}"
6
+ end
7
+ require 'yaml'
8
+ require 'logger'
9
+
10
+ module Capcode
11
+ module Resource
12
+ end
13
+
14
+ Base = Mongoid::Document
15
+
16
+ class << self
17
+ def db_connect( dbfile, logfile )
18
+ dbconfig = YAML::load(File.open(dbfile)).keys_to_sym
19
+
20
+ connection = Mongo::Connection.new(dbconfig[:host], dbconfig[:port])
21
+ Mongoid.database = connection.db(dbconfig[:database])
22
+ if dbconfig[:username]
23
+ Mongoid.database.authenticate(dbconfig[:username], dbconfig[:password])
24
+ end
25
+ end
26
+ end
27
+ end
@@ -5,7 +5,7 @@ module Capcode
5
5
  # Options :
6
6
  # * <tt>:port</tt> = Listen port (default: 3000)
7
7
  # * <tt>:host</tt> = Listen host (default: 0.0.0.0)
8
- # * <tt>:server</tt> = Server type (webrick or mongrel)
8
+ # * <tt>:server</tt> = Server type (webrick, mongrel or thin)
9
9
  # * <tt>:log</tt> = Output logfile (default: STDOUT)
10
10
  # * <tt>:session</tt> = Session parameters. See Rack::Session for more informations
11
11
  # * <tt>:pid</tt> = PID file (default: $0.pid)
@@ -16,10 +16,15 @@ module Capcode
16
16
  f = f.to_s
17
17
  layout = opts.delete(:layout)||:layout
18
18
 
19
- __mab = Mab.new({}, self) {
19
+ assigns = {}
20
+ self.instance_variables.delete_if {|x| ["@response", "@env", "@request"].include?(x) }.each do |ivar|
21
+ assigns[ivar.gsub( /^@/, "" )] = self.instance_variable_get(ivar)
22
+ end
23
+
24
+ __mab = Mab.new(assigns.merge( opts ), self) {
20
25
  if self.respond_to?(layout)
21
26
  self.send(layout.to_s) { |*args|
22
- #@@__ARGS__ = args
27
+ # @@__ARGS__ = args
23
28
  Capcode::Helpers.args = args
24
29
  self.send(f)
25
30
  }
@@ -1,3 +1,3 @@
1
1
  module Capcode
2
- CAPCOD_VERION="0.8.8"
2
+ CAPCOD_VERION="0.8.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Capcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.8
4
+ version: 0.8.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Gr\xC3\xA9goire Lejeune"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-17 00:00:00 +01:00
12
+ date: 2009-12-21 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -78,10 +78,15 @@ files:
78
78
  - doc/rdoc/files/lib/capcode/base/db_rb.html
79
79
  - doc/rdoc/files/lib/capcode/configuration_rb.html
80
80
  - doc/rdoc/files/lib/capcode/helpers/auth_rb.html
81
+ - doc/rdoc/files/lib/capcode/render/binary_rb.html
82
+ - doc/rdoc/files/lib/capcode/render/email_rb.html
81
83
  - doc/rdoc/files/lib/capcode/render/erb_rb.html
82
84
  - doc/rdoc/files/lib/capcode/render/haml_rb.html
83
85
  - doc/rdoc/files/lib/capcode/render/json_rb.html
84
86
  - doc/rdoc/files/lib/capcode/render/markaby_rb.html
87
+ - doc/rdoc/files/lib/capcode/render/mustache_rb.html
88
+ - doc/rdoc/files/lib/capcode/render/none_rb.html
89
+ - doc/rdoc/files/lib/capcode/render/redirect_rb.html
85
90
  - doc/rdoc/files/lib/capcode/render/sass_rb.html
86
91
  - doc/rdoc/files/lib/capcode/render/static_rb.html
87
92
  - doc/rdoc/files/lib/capcode/render/text_rb.html
@@ -98,6 +103,7 @@ files:
98
103
  - lib/capcode/base/couchdb.rb
99
104
  - lib/capcode/base/db.rb
100
105
  - lib/capcode/base/dm.rb
106
+ - lib/capcode/base/mongodb.rb
101
107
  - lib/capcode/base/sq.rb
102
108
  - lib/capcode/configuration.rb
103
109
  - lib/capcode/core_ext.rb
@@ -129,6 +135,9 @@ files:
129
135
  - examples/blog-couchdb.yml
130
136
  - examples/blog-dm.rb
131
137
  - examples/blog-dm.yml
138
+ - examples/blog-mongodb-run.rb
139
+ - examples/blog-mongodb.rb
140
+ - examples/blog-mongodb.yml
132
141
  - examples/blog-sq.rb
133
142
  - examples/blog-sq.yml
134
143
  - examples/erb/cf.rhtml
@@ -167,6 +176,13 @@ files:
167
176
  - examples/rss.rb
168
177
  - examples/sample.rb
169
178
  - examples/session.rb
179
+ - examples/soapbox/public/jquery.js
180
+ - examples/soapbox/public/soapbox.js
181
+ - examples/soapbox/public/style.css
182
+ - examples/soapbox/README.rdoc
183
+ - examples/soapbox/soapbox-client.rb
184
+ - examples/soapbox/soapbox.rb
185
+ - examples/soapbox/views/index.rhtml
170
186
  - examples/static/coderay.css
171
187
  - examples/static/index.html
172
188
  - examples/test/index.html
@@ -185,11 +201,17 @@ post_install_message: |+
185
201
  If you want to use WebDAV renderer, you must install rack_dav.
186
202
  If you want to use Mail renderer, you must install mail.
187
203
 
188
- If For more information about Capcode, see
204
+ If you want to use ActiveRecord, you must install active_record.
205
+ If you want to use DataMapper, you must install dm-core.
206
+ If you want to use Sequel, you must install sequel.
207
+ If you want to use CouchDB, you must install couch_foo.
208
+ If you want to use MongoDB, you must install mongoid.
209
+
210
+ For more information about Capcode, see
189
211
  http://capcode.rubyforge.org
190
212
 
191
213
  You can also read the Capcode book (fr) at
192
- http://algorithmique.net/capcode
214
+ http://algorithmique.net/capcode.html
193
215
 
194
216
  rdoc_options:
195
217
  - --quiet