rack-datamapper-session 0.2 → 0.3

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