kyototycoon 0.6.0 → 0.6.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.
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: