cuba-api 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -33,10 +33,10 @@ module CubaApi
33
33
 
34
34
  def current_user( user = nil )
35
35
  if user
36
- session['user'] = self.class.sessions.to_session( user )
36
+ session[ 'user' ] = self.class.sessions.to_session( user )
37
37
  @_current_user = user
38
- else
39
- @_current_user ||= self.class.sessions.from_session( session['user'] )
38
+ elsif env[ 'rack.session' ]
39
+ @_current_user ||= self.class.sessions.from_session( session[ 'user' ] )
40
40
  end
41
41
  end
42
42
 
@@ -1,4 +1,5 @@
1
1
  require 'ixtlan/babel/factory'
2
+ require 'multi_json'
2
3
  module CubaApi
3
4
  module InputFilter
4
5
 
@@ -36,7 +37,7 @@ module CubaApi
36
37
 
37
38
  def parse_request_body
38
39
  if env[ 'CONTENT_TYPE' ] == 'application/json'
39
- JSON.parse( req.body.read )
40
+ MultiJson.load( req.body.read )
40
41
  else
41
42
  {}
42
43
  end
@@ -39,9 +39,33 @@ module CubaApi
39
39
 
40
40
  def expires_in( minutes )
41
41
  now = DateTime.now
42
+ res[ 'Date' ] = now.rfc2822
42
43
  res[ 'Expires' ] = ( now + minutes / 1440.0 ).rfc2822
43
44
  end
44
45
 
46
+ def browser_only_cache
47
+ res[ 'Date' ] = DateTime.now.rfc2822
48
+ res[ 'Expires' ] = "Fri, 01 Jan 1990 00:00:00 GMT"
49
+ res[ 'Cache-Control' ] = "private, max-age=0, must-revalidate"
50
+ end
51
+
52
+ def browser_only_cache_no_store
53
+ browser_only_cache
54
+ res[ 'Cache-Control' ] += ", no-store"
55
+ end
56
+
57
+ def no_cache_no_store
58
+ no_cache
59
+ res["Cache-Control"] += ", no-store"
60
+ end
61
+
62
+ def no_cache
63
+ res["Date"] = Time.now.rfc2822
64
+ res["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
65
+ res["Pragma"] = "no-cache"
66
+ res["Cache-Control"] = "no-cache, must-revalidate"
67
+ end
68
+
45
69
  def content_type( mime )
46
70
  res[ 'Content-Type' ] = mime if mime
47
71
  end
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: cuba-api
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.0
5
+ version: 0.3.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Christian Meier
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-22 00:00:00.000000000 Z
12
+ date: 2013-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cuba
@@ -59,19 +59,35 @@ dependencies:
59
59
  none: false
60
60
  prerelease: false
61
61
  type: :runtime
62
+ - !ruby/object:Gem::Dependency
63
+ name: multi_json
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.6'
69
+ none: false
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.6'
75
+ none: false
76
+ prerelease: false
77
+ type: :runtime
62
78
  - !ruby/object:Gem::Dependency
63
79
  name: json
64
80
  version_requirements: !ruby/object:Gem::Requirement
65
81
  requirements:
66
82
  - - "~>"
67
83
  - !ruby/object:Gem::Version
68
- version: 1.7.6
84
+ version: '1.6'
69
85
  none: false
70
86
  requirement: !ruby/object:Gem::Requirement
71
87
  requirements:
72
88
  - - "~>"
73
89
  - !ruby/object:Gem::Version
74
- version: 1.7.6
90
+ version: '1.6'
75
91
  none: false
76
92
  prerelease: false
77
93
  type: :development