rack-datamapper-session 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,8 +3,8 @@ require 'dm-core'
3
3
 
4
4
  module Rack
5
5
  module Session
6
- class Rack::Session::DataMapperSession
7
- include ::DataMapper::Resource
6
+ class DataMapperSession
7
+ include DataMapper::Resource
8
8
 
9
9
  property :id, Serial
10
10
  property :sid, String, :length => 128
@@ -14,10 +14,26 @@ module Rack
14
14
  data[key]
15
15
  end
16
16
 
17
+ def fetch key
18
+ data[key]
19
+ end
20
+
17
21
  def []= key, value
18
22
  data[key] = value
19
23
  end
20
24
 
25
+ def store key, value
26
+ data[key] = value
27
+ end
28
+
29
+ def delete key
30
+ data.delete key
31
+ end
32
+
33
+ def clear
34
+ data.clear
35
+ end
36
+
21
37
  def data
22
38
  self.data_object ||= {}
23
39
  end
@@ -29,12 +45,12 @@ module Rack
29
45
 
30
46
  class DataMapper < Abstract::ID
31
47
  def get_session(env, sid)
32
- session = Rack::Session::DataMapperSession.first(:sid => sid) if sid
48
+ session = DataMapperSession.first(:sid => sid) if sid
33
49
 
34
50
  unless sid and session
35
51
  env['rack.errors'].puts("Session '#{sid.inspect}' not found, initializing...") if $VERBOSE and not sid.nil?
36
52
  sid = generate_sid
37
- session = Rack::Session::DataMapperSession.new(:sid => sid)
53
+ session = DataMapperSession.new(:sid => sid)
38
54
  raise 'Unable to store session' unless session.save
39
55
  end
40
56
 
@@ -46,13 +62,13 @@ module Rack
46
62
  expiry = options[:expire_after]
47
63
  expiry = expiry.nil? ? 0 : expiry + 1
48
64
 
49
- session = Rack::Session::DataMapperSession.first(:sid => sid) if sid
65
+ session = DataMapperSession.first(:sid => sid) if sid
50
66
 
51
67
  if options[:renew] or options[:drop]
52
68
  session.destroy
53
69
  return false if options[:drop]
54
70
  sid = generate_sid
55
- session = Rack::Session::DataMapperSession.new(:sid => sid)
71
+ session = DataMapperSession.new(:sid => sid)
56
72
  end
57
73
 
58
74
  session.data = new_session.data
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'rack-datamapper-session'
5
- s.version = '0.2'
5
+ s.version = '0.3'
6
6
 
7
7
  s.authors = ['Phil Pirozhkov']
8
8
  s.date = '2009-11-03'
@@ -12,4 +12,5 @@ Gem::Specification.new do |s|
12
12
  s.summary ='Datamapper session for any Rack based application'
13
13
 
14
14
  s.add_dependency 'rack', '>= 1.0'
15
+ s.add_dependency 'dm-core', '>= 0.9.10'
15
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-datamapper-session
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.2"
4
+ version: "0.3"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phil Pirozhkov
@@ -22,6 +22,16 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: "1.0"
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: dm-core
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.10
34
+ version:
25
35
  description: Datamapper session for any Rack based application. Don't forget to automigrate.
26
36
  email:
27
37
  - pirj@mail.ru