nsisam 0.1.0 → 0.1.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/README.rdoc +2 -2
- data/Rakefile +1 -5
- data/VERSION +1 -1
- data/lib/client.rb +3 -1
- data/lib/errors.rb +8 -0
- data/nsisam.gemspec +70 -0
- data/spec/nsisam_spec.rb +41 -21
- metadata +19 -17
data/README.rdoc
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
= nsisam
|
2
2
|
|
3
|
-
|
3
|
+
Just a simple and lightweight package to access a SAM node using Ruby.
|
4
4
|
|
5
5
|
== Contributing to nsisam
|
6
|
-
|
6
|
+
|
7
7
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
8
8
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
9
9
|
* Fork the project.
|
data/Rakefile
CHANGED
@@ -30,11 +30,7 @@ require 'rspec/core'
|
|
30
30
|
require 'rspec/core/rake_task'
|
31
31
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
32
32
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
33
|
-
|
34
|
-
|
35
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
36
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
37
|
-
spec.rcov = true
|
33
|
+
spec.rspec_opts = "--color --format nested"
|
38
34
|
end
|
39
35
|
|
40
36
|
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/client.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require "json"
|
2
2
|
require "net/http"
|
3
|
+
require "errors"
|
3
4
|
|
4
5
|
module Client
|
6
|
+
|
5
7
|
class Client
|
6
8
|
|
7
9
|
def initialize(url)
|
@@ -49,8 +51,8 @@ module Client
|
|
49
51
|
response = Net::HTTP.start @url, @port do |http|
|
50
52
|
http.request(request)
|
51
53
|
end
|
54
|
+
raise NSISam::Errors::Client::KeyNotFoundError if response.code == "404"
|
52
55
|
JSON.parse(response.body)
|
53
56
|
end
|
54
|
-
|
55
57
|
end
|
56
58
|
end
|
data/lib/errors.rb
ADDED
data/nsisam.gemspec
ADDED
@@ -0,0 +1,70 @@
|
|
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 = "nsisam"
|
8
|
+
s.version = "0.1.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Douglas Camata"]
|
12
|
+
s.date = "2012-02-12"
|
13
|
+
s.description = "A simple gem to access a SAM node. For more info about SAM\n visit www.github.com/nsi-iff/sam_buildout."
|
14
|
+
s.email = "d.camata@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/client.rb",
|
28
|
+
"lib/errors.rb",
|
29
|
+
"lib/nsisam.rb",
|
30
|
+
"nsisam.gemspec",
|
31
|
+
"spec/nsisam_spec.rb",
|
32
|
+
"spec/spec_helper.rb"
|
33
|
+
]
|
34
|
+
s.homepage = "http://github.com/nsi-iff/nsisam-ruby"
|
35
|
+
s.licenses = ["MIT"]
|
36
|
+
s.require_paths = ["lib"]
|
37
|
+
s.rubygems_version = "1.8.15"
|
38
|
+
s.summary = "A simple gem to access a SAM service."
|
39
|
+
|
40
|
+
if s.respond_to? :specification_version then
|
41
|
+
s.specification_version = 3
|
42
|
+
|
43
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
45
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
|
47
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
48
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
49
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
50
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
51
|
+
else
|
52
|
+
s.add_dependency(%q<json>, [">= 0"])
|
53
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
55
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
56
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
57
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
58
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
59
|
+
end
|
60
|
+
else
|
61
|
+
s.add_dependency(%q<json>, [">= 0"])
|
62
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
63
|
+
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
64
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
65
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
66
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
67
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
data/spec/nsisam_spec.rb
CHANGED
@@ -11,36 +11,56 @@ describe NSISam do
|
|
11
11
|
@keys.each { |key| @nsisam.delete(key) }
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
context "storing" do
|
15
|
+
it "can store a value in SAM" do
|
16
|
+
response = @nsisam.store("something")
|
17
|
+
response.should_not be_nil
|
18
|
+
response.should have_key("key")
|
19
|
+
response.should have_key("checksum")
|
19
20
|
|
20
|
-
|
21
|
+
@keys.push(response["key"])
|
22
|
+
end
|
21
23
|
end
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
context "deleting" do
|
26
|
+
it "can delete a stored value" do
|
27
|
+
key = @nsisam.store("delete this")["key"]
|
28
|
+
response = @nsisam.delete(key)
|
29
|
+
response["deleted"].should be_true
|
30
|
+
end
|
31
|
+
|
32
|
+
it "raises error when key not found" do
|
33
|
+
expect { @nsisam.delete("i dont exist") }.to raise_error(NSISam::Errors::Client::KeyNotFoundError)
|
34
|
+
end
|
27
35
|
end
|
28
36
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
37
|
+
context "retrieving" do
|
38
|
+
it "can retrieve a stored value" do
|
39
|
+
key = @nsisam.store("retrieve this")["key"]
|
40
|
+
response = @nsisam.get(key)
|
41
|
+
response["data"].should == "retrieve this"
|
42
|
+
|
43
|
+
@keys.push(key)
|
44
|
+
end
|
33
45
|
|
34
|
-
|
46
|
+
it "raises error when key not found" do
|
47
|
+
expect { @nsisam.get("non existing key") }.to raise_error(NSISam::Errors::Client::KeyNotFoundError)
|
48
|
+
end
|
35
49
|
end
|
36
50
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
51
|
+
context "updating" do
|
52
|
+
it "can update values in keys already stored" do
|
53
|
+
key = @nsisam.store("update this")["key"]
|
54
|
+
response = @nsisam.update(key, "updated")
|
55
|
+
response["key"].should == key
|
56
|
+
response.should have_key("checksum")
|
57
|
+
|
58
|
+
@keys.push(key)
|
59
|
+
end
|
42
60
|
|
43
|
-
|
61
|
+
it "raises error when key not found" do
|
62
|
+
expect { @nsisam.update("ruby is fast", "foo") }.to raise_error(NSISam::Errors::Client::KeyNotFoundError)
|
63
|
+
end
|
44
64
|
end
|
45
65
|
|
46
66
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nsisam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70252524589480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70252524589480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70252524588120 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70252524588120
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70252524584740 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.8.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70252524584740
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc
|
49
|
-
requirement: &
|
49
|
+
requirement: &70252524533140 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '3.12'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70252524533140
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70252524530400 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70252524530400
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70252524529100 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.8.3
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70252524529100
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: simplecov
|
82
|
-
requirement: &
|
82
|
+
requirement: &70252524528200 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70252524528200
|
91
91
|
description: ! "A simple gem to access a SAM node. For more info about SAM\n visit
|
92
92
|
www.github.com/nsi-iff/sam_buildout."
|
93
93
|
email: d.camata@gmail.com
|
@@ -105,7 +105,9 @@ files:
|
|
105
105
|
- Rakefile
|
106
106
|
- VERSION
|
107
107
|
- lib/client.rb
|
108
|
+
- lib/errors.rb
|
108
109
|
- lib/nsisam.rb
|
110
|
+
- nsisam.gemspec
|
109
111
|
- spec/nsisam_spec.rb
|
110
112
|
- spec/spec_helper.rb
|
111
113
|
homepage: http://github.com/nsi-iff/nsisam-ruby
|
@@ -123,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
125
|
version: '0'
|
124
126
|
segments:
|
125
127
|
- 0
|
126
|
-
hash:
|
128
|
+
hash: 4537102661431384406
|
127
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
130
|
none: false
|
129
131
|
requirements:
|