kyototycoon 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/Changes.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v0.6.1
2
+
3
+ * fix issue #4 for cursor seize method. thanks genki!
4
+
1
5
  ## v0.6.0
2
6
 
3
7
  * added KyotoTycoon::Cursor for cursor support
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kyototycoon (0.6.0)
4
+ kyototycoon (0.6.1)
5
5
  msgpack
6
6
 
7
7
  GEM
@@ -3,11 +3,11 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = %q{kyototycoon}
6
- s.version = "0.6.0"
6
+ s.version = "0.6.1"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["uu59"]
10
- s.date = %q{2011-08-10}
10
+ s.date = %q{2011-08-11}
11
11
  s.default_executable = %q{kyototycoon-console}
12
12
  s.description = %q{KyotoTycoon client for Ruby}
13
13
  s.email = %q{k@uu59.org}
@@ -14,7 +14,7 @@ require "kyototycoon/tsvrpc/skinny.rb"
14
14
  require "kyototycoon/stream.rb"
15
15
 
16
16
  class KyotoTycoon
17
- VERSION = '0.6.0'
17
+ VERSION = '0.6.1'
18
18
 
19
19
  attr_accessor :colenc, :connect_timeout, :servers
20
20
  attr_reader :serializer, :logger, :db
@@ -8,7 +8,7 @@ class KyotoTycoon
8
8
  def initialize(kt, cur)
9
9
  @kt = kt
10
10
  @cur = cur
11
- at_exit { delete! }
11
+ ObjectSpace.define_finalizer(self){delete!}
12
12
  end
13
13
 
14
14
  def each(&block)
@@ -71,9 +71,9 @@ class KyotoTycoon
71
71
  [res["key"], res["value"]]
72
72
  end
73
73
 
74
- def seize(xt=nil)
75
- res = request('/rpc/cur_seize', {"xt" => xt})
76
- [res["key"], res["value"]]
74
+ def seize
75
+ res = request('/rpc/cur_seize')
76
+ [res["key"], res["value"], (res["xt"].nil? ? nil : Time.at(res["xt"].to_i) )]
77
77
  end
78
78
 
79
79
  def remove
@@ -26,10 +26,19 @@ describe KyotoTycoon do
26
26
  @kt["34foo"].should be_nil
27
27
 
28
28
  cur.jump('55')
29
- cur.seize.should == ["55foo","foo55"]
29
+ cur.seize.should == ["55foo","foo55", nil]
30
30
  @kt["55foo"].should be_nil
31
31
  end
32
32
 
33
+ it 'should seize xt' do
34
+ xt = Time.now.to_i + 100
35
+ #@kt.logger= STDOUT
36
+ @kt.set('foo', 'foo', xt * -1)
37
+ cur = @kt.cursor
38
+ cur.jump('foo')
39
+ cur.seize.should == ["foo", "foo", Time.at(xt)]
40
+ end
41
+
33
42
  it 'should handle cursor steps' do
34
43
  # If you got failed in this section, it's a KyotoCabinet's bug
35
44
  # It has been fixed at KyotoCabinet 1.2.70
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kyototycoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-10 00:00:00.000000000 +10:00
12
+ date: 2011-08-11 00:00:00.000000000 +10:00
13
13
  default_executable: kyototycoon-console
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: msgpack
17
- requirement: &2152635020 !ruby/object:Gem::Requirement
17
+ requirement: &2152408360 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152635020
25
+ version_requirements: *2152408360
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2152632340 !ruby/object:Gem::Requirement
28
+ requirement: &2152403740 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.1.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2152632340
36
+ version_requirements: *2152403740
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bundler
39
- requirement: &2152631480 !ruby/object:Gem::Requirement
39
+ requirement: &2152402740 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.0.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2152631480
47
+ version_requirements: *2152402740
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: jeweler
50
- requirement: &2152627020 !ruby/object:Gem::Requirement
50
+ requirement: &2152401580 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.5.1
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2152627020
58
+ version_requirements: *2152401580
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: simplecov
61
- requirement: &2152621760 !ruby/object:Gem::Requirement
61
+ requirement: &2152400420 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2152621760
69
+ version_requirements: *2152400420
70
70
  description: KyotoTycoon client for Ruby
71
71
  email: k@uu59.org
72
72
  executables:
@@ -119,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  segments:
121
121
  - 0
122
- hash: -4066968270942491999
122
+ hash: -3220289171828331669
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  none: false
125
125
  requirements: