class @CookieStore INT = /^\d+$/ @onBlocked: -> get: (key) -> value = Cookies.get(key) value = parseInt(value, 10) if value? and INT.test(value) value set: (key, value) -> if value == false @del(key) return value = 1 if value == true value = parseInt(value, 10) if value and INT.test?(value) Cookies.set(key, '' + value, path: '/', expires: 1e8) @constructor.onBlocked(key, value, @get(key)) if @get(key) != value return del: (key) -> Cookies.expire(key) return reset: -> try for cookie in document.cookie.split(/;\s?/) Cookies.expire(cookie.split('=')[0]) return catch dump: -> result = {} for cookie in document.cookie.split(/;\s?/) when cookie[0] isnt '_' cookie = cookie.split('=') result[cookie[0]] = cookie[1] result