stash 1.0.0 → 2.0.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.
@@ -1,16 +0,0 @@
1
- # Strings are Stash's most basic type, and the only non-collection type
2
- # They store exactly that, a string, and nothing more
3
- class Stash::String
4
- def initialize(key, adapter = Stash.default.adapter)
5
- @key, @adapter = key.to_s, adapter
6
- end
7
-
8
- def to_string
9
- @adapter.get @key
10
- end
11
- alias_method :to_s, :to_string
12
-
13
- def inspect
14
- "#<Stash::String[:#{@key}]: #{to_s}>"
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe Stash::Hash do
4
- before :each do
5
- @hash = Stash::Hash[:foobar]
6
- @hash.clear
7
- end
8
-
9
- it "clears hashes" do
10
- @hash[:foo] = "a"
11
- @hash[:bar] = "b"
12
- @hash.clear
13
- @hash.to_hash.should == {}
14
- end
15
-
16
- it "sets and gets strings from hashes" do
17
- @hash[:foo].should be_nil
18
- @hash[:foo] = "42"
19
- @hash[:foo].should == "42"
20
- end
21
-
22
- it "casts to a Ruby hash" do
23
- @hash.should be_empty
24
- @hash['foo'] = 'a'
25
- @hash['bar'] = 'b'
26
-
27
- @hash.to_hash.should == {'foo'=>'a', 'bar'=>'b'}
28
- end
29
- end
@@ -1,65 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe Stash::List do
4
- before :each do
5
- @list = Stash::List[:foobar]
6
- @list.clear
7
- end
8
-
9
- it "clears lists" do
10
- @list << "x"
11
- @list << "y"
12
- @list << "z"
13
- @list.clear
14
- @list.to_a.should == []
15
- end
16
-
17
- it "pushes to lists" do
18
- # Normal syntax
19
- @list.push "zomg"
20
-
21
- # Cool syntax
22
- @list << "wtf"
23
-
24
- @list.to_a.should == ["zomg", "wtf"]
25
- end
26
-
27
- it "unshifts to lists" do
28
- @list.unshift "omfg"
29
- @list.unshift "lulz"
30
-
31
- @list.to_a.should == ["lulz", "omfg"]
32
- end
33
-
34
- it "pops from lists" do
35
- @list << "x"
36
- @list << "y"
37
- @list << "z"
38
- @list.pop.should == "z"
39
- @list.to_a.should == ["x", "y"]
40
- end
41
-
42
- it "shifts from lists" do
43
- @list << "x"
44
- @list << "y"
45
- @list << "z"
46
- @list.shift.should == "x"
47
- @list.to_a.should == ["y", "z"]
48
- end
49
-
50
- it "knows its length" do
51
- @list.length.should == 0
52
-
53
- @list << "x"
54
- @list << "y"
55
- @list << "z"
56
- @list.length.should == 3
57
- end
58
-
59
- it "knows if it's empty" do
60
- @list.should be_empty
61
-
62
- @list << "something"
63
- @list.should_not be_empty
64
- end
65
- end
@@ -1 +0,0 @@
1
- --color
@@ -1,12 +0,0 @@
1
- $LOAD_PATH.unshift File.dirname(__FILE__)
2
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
-
4
- require 'stash'
5
- require 'rspec'
6
- require 'rspec/autorun'
7
-
8
- # Connect to Redis
9
- Stash.setup :default, :adapter => :redis,
10
- :namespace => 'stash_test',
11
- :host => '127.0.0.1',
12
- :port => 6379
@@ -1,9 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe Stash::String do
4
- it "stores strings" do
5
- Stash[:foobar] = "baz"
6
- Stash[:foobar].should be_an_instance_of(Stash::String)
7
- Stash[:foobar].to_s.should == "baz"
8
- end
9
- end
@@ -1,68 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{stash}
8
- s.version = "1.0.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Tony Arcieri"]
12
- s.date = %q{2010-12-07}
13
- s.description = %q{Stash maps the facilities provided by data structures servers onto classes which mimic Ruby's built-in types}
14
- s.email = %q{tony@medioh.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.markdown"
18
- ]
19
- s.files = [
20
- ".document",
21
- "LICENSE",
22
- "README.markdown",
23
- "Rakefile",
24
- "VERSION",
25
- "lib/stash.rb",
26
- "lib/stash/class_methods.rb",
27
- "lib/stash/hash.rb",
28
- "lib/stash/list.rb",
29
- "lib/stash/redis_adapter.rb",
30
- "lib/stash/string.rb",
31
- "spec/hash_spec.rb",
32
- "spec/list_spec.rb",
33
- "spec/spec.opts",
34
- "spec/spec_helper.rb",
35
- "spec/string_spec.rb",
36
- "stash.gemspec"
37
- ]
38
- s.homepage = %q{http://github.com/tarcieri/stash}
39
- s.require_paths = ["lib"]
40
- s.rubygems_version = %q{1.3.7}
41
- s.summary = %q{Abstract interface to data structures servers}
42
- s.test_files = [
43
- "spec/hash_spec.rb",
44
- "spec/list_spec.rb",
45
- "spec/spec_helper.rb",
46
- "spec/string_spec.rb"
47
- ]
48
-
49
- if s.respond_to? :specification_version then
50
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
- s.specification_version = 3
52
-
53
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<redis>, ["~> 2.1.0"])
55
- s.add_runtime_dependency(%q<redis-namespace>, ["~> 0.10.0"])
56
- s.add_development_dependency(%q<rspec>, [">= 2.2.0"])
57
- else
58
- s.add_dependency(%q<redis>, ["~> 2.1.0"])
59
- s.add_dependency(%q<redis-namespace>, ["~> 0.10.0"])
60
- s.add_dependency(%q<rspec>, [">= 2.2.0"])
61
- end
62
- else
63
- s.add_dependency(%q<redis>, ["~> 2.1.0"])
64
- s.add_dependency(%q<redis-namespace>, ["~> 0.10.0"])
65
- s.add_dependency(%q<rspec>, [">= 2.2.0"])
66
- end
67
- end
68
-