Skip to content

Instantly share code, notes, and snippets.

@supernullset
Created November 9, 2012 20:16
Show Gist options
  • Save supernullset/4047960 to your computer and use it in GitHub Desktop.
Save supernullset/4047960 to your computer and use it in GitHub Desktop.
Zappa+Redis
require "sugar"
dust = require "dust"
redis = require "redis"
client = redis.createClient()
clicker = (app) ->
client.get "clicker", (e,cr) ->
client.get "timed", (e,tr) ->
app.render index: {clicker: cr, timed: tr}
update_clicker = (value) ->
client.get "clicker", (e,r) ->
temp = Number(r)
client.set "clicker", (temp+value)
timer_start = ->
client.set "timer_start", Date.now(), redis.print
timer_end = (app) ->
end = Date.now()
client.get "timer_start", (e,tr) ->
client.set "timed", (end - Number(tr))/1000
client.set("timer_start", 0)
client.set("timer_end", 0)
client.get "clicker", (e,cr) ->
app.render index: {clicker: cr, timed: (end - Number(tr))/1000}
dust = require("zappajs").app ->
client.set("clicker", 0)
client.set("timer_start", 0)
client.set("timer_end", 0)
client.set("timed", 0)
@view index: ->
doctype 5
html ->
body ->
ul ->
li -> p "clicker value: #{@clicker}"
li -> p "timer value: #{@timed}"
@get '/': ->
clicker(this)
@get '/clicker/add': ->
update_clicker(1)
@redirect '/'
@get '/clicker/add/:inc': ->
if @params.inc
update_clicker(Number @params.inc)
@redirect '/'
@get '/clicker/subtract': ->
update_clicker(-1)
@redirect '/'
@get '/clicker/subtract/:inc': ->
if @params.inc
update_clicker(Number @params.inc)
@redirect '/'
@get '/timer/start': ->
timer_start()
@redirect '/'
@get '/timer/stop': ->
timer_end(this)
@redirect '/'
dust.app.listen 3000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment