kue 0.0.8 → 0.1.0

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/.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: []