cuba-api 0.3.0 → 0.3.1

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.
@@ -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