kue 0.0.8 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -6,3 +6,4 @@ test_app/*
6
6
  *.swp
7
7
  *.swo
8
8
  *.log
9
+ .idea
@@ -2,7 +2,6 @@ rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- - rbx-2.0
6
5
  - jruby
7
6
  - ruby-head
8
- - ree
7
+ - ree
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_path = 'lib'
20
20
 
21
- s.add_dependency 'activerecord', '~> 3.1.3'
21
+ s.add_dependency 'activerecord', '~> 3.2.3'
22
22
  s.add_development_dependency 'rspec'
23
23
  s.add_development_dependency 'sqlite3'
24
24
  s.add_development_dependency 'pry'
data/lib/kue.rb CHANGED
@@ -5,35 +5,35 @@ module Kue
5
5
  module Store
6
6
  def self.included(base)
7
7
  base.send :extend, ClassMethods
8
- base.send :set_table_name, :kue_settings
9
- base.send :set_primary_key, :key
8
+ base.send :table_name=, :kue_settings
9
+ base.send :primary_key=, :key
10
10
  end
11
-
12
- module ClassMethods
11
+
12
+ module ClassMethods
13
13
  def keys
14
14
  KueStore.all.map(&:key).map(&:to_sym)
15
15
  end
16
-
16
+
17
17
  def [](key)
18
18
  entry = KueStore.find_by_key(key)
19
19
  entry ? YAML.load(entry.value) : nil
20
20
  end
21
-
21
+
22
22
  def []=(key, value)
23
23
  raise KueNilKeyError if key.nil?
24
24
  setting = KueStore.find_or_create_by_key(key)
25
25
  setting.value = value.to_yaml
26
26
  setting.save!
27
27
  end
28
-
28
+
29
29
  def delete!(key)
30
30
  KueStore.delete_all(:key => key)
31
31
  end
32
-
32
+
33
33
  def exists?(key)
34
34
  self[key].present?
35
35
  end
36
-
36
+
37
37
  def clear!
38
38
  KueStore.destroy_all
39
39
  end
@@ -1,3 +1,3 @@
1
1
  module Kue
2
- VERSION = "0.0.8"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -4,46 +4,53 @@ describe KueStore do
4
4
  it 'should have the kue_settings table correctly setup' do
5
5
  ActiveRecord::Base.connection.table_exists?(:kue_settings).should be_true
6
6
  end
7
-
7
+
8
8
  it 'should save a new key and value' do
9
9
  proc { KueStore[:key_one] = "Key One"}.should_not raise_error
10
10
  end
11
-
11
+
12
12
  it 'should retrieve a keys value' do
13
13
  KueStore[:key_two] = "Key Two"
14
14
  KueStore[:key_two].should == "Key Two"
15
15
  end
16
-
16
+
17
17
  it 'should save and retrieve complex objects' do
18
- proc { KueStore[:key_three] = Math }.should_not raise_error
19
- KueStore[:key_three].sqrt(100).should == 10
18
+ # Build a new class to have something to store and retrieve.
19
+ class Foo
20
+ attr_accessor :bar
21
+ end
22
+ foo = Foo.new
23
+ foo.bar = 42
24
+ # Store and retrieve the instance.
25
+ proc { KueStore[:key_three] = foo }.should_not raise_error
26
+ KueStore[:key_three].bar.should == 42
20
27
  end
21
-
28
+
22
29
  it 'should check for existance' do
23
30
  KueStore.exists?(:non_existant).should be_false
24
31
 
25
32
  KueStore[:existant] = 109
26
33
  KueStore.exists?(:existant).should be_true
27
34
  end
28
-
35
+
29
36
  it 'should delete a key and value' do
30
37
  KueStore[:delete_me] = 1098
31
38
  KueStore.exists?(:delete_me).should be_true
32
39
  KueStore.delete!(:delete_me).should be_true
33
40
  KueStore.exists?(:delete_me).should be_false
34
41
  end
35
-
42
+
36
43
  it 'should not throw an error when deleting a key that does not exist' do
37
44
  proc { KueStore.delete!(:non_existant) }.should_not raise_error
38
45
  end
39
-
46
+
40
47
  it 'should list all keys' do
41
48
  KueStore[:k1] = 1
42
49
  KueStore[:k2] = 2
43
50
  KueStore[:k3] = 3
44
51
  KueStore.keys.should == [:k1, :k2, :k3]
45
52
  end
46
-
53
+
47
54
  it 'should clear the store' do
48
55
  KueStore[:k1] = 1
49
56
  KueStore[:k2] = 2
@@ -51,18 +58,18 @@ describe KueStore do
51
58
  KueStore.clear!
52
59
  KueStore.keys.should be_empty
53
60
  end
54
-
61
+
55
62
  it 'should count all items in the store' do
56
63
  KueStore[:k1] = 1
57
64
  KueStore[:k2] = 2
58
65
  KueStore[:k3] = 3
59
66
  KueStore.count.should == 3
60
67
  end
61
-
68
+
62
69
  it 'should fail hard if a nil key is passed to []=' do
63
70
  proc { KueStore[nil] = 1 }.should raise_error(Kue::KueNilKeyError)
64
71
  end
65
-
72
+
66
73
  it 'should return nil if a nil key is passed to []' do
67
74
  KueStore[nil].should be_nil
68
75
  end
@@ -72,7 +79,7 @@ describe 'Using Kue::Store outside of the KueStore class - introducing BlueStore
72
79
  class BlueStore < ActiveRecord::Base
73
80
  include Kue::Store
74
81
  end
75
-
82
+
76
83
  it 'should be able to be used as a kue store' do
77
84
  BlueStore[:ok] = "One"
78
85
  BlueStore[:ok].should == "One"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-27 00:00:00.000000000 Z
12
+ date: 2012-05-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &70172748691000 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 3.1.3
21
+ version: 3.2.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70172748691000
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.3
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &70172748689860 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70172748689860
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: sqlite3
38
- requirement: &70172748688420 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70172748688420
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: pry
49
- requirement: &70172748687560 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,7 +69,12 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70172748687560
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  description: Store arbitrary key value pairs for your application using kue's simple
59
79
  api'
60
80
  email:
@@ -98,11 +118,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
118
  version: '0'
99
119
  requirements: []
100
120
  rubyforge_project: kue
101
- rubygems_version: 1.8.10
121
+ rubygems_version: 1.8.21
102
122
  signing_key:
103
123
  specification_version: 3
104
124
  summary: Kue is a simple key value store that uses ActiveRecord.
105
- test_files:
106
- - spec/config/database.yml
107
- - spec/kue_spec.rb
108
- - spec/spec_helper.rb
125
+ test_files: []