stumie 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/.bundle/config +2 -0
- data/.gitignore +1 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +12 -0
- data/Rakefile +18 -0
- data/VERSION +1 -0
- data/lib/stumie.rb +26 -0
- data/stumie.gemspec +50 -0
- data/test/test_helper.rb +10 -0
- data/test/unit/stumie_test.rb +31 -0
- metadata +88 -0
data/.bundle/config
ADDED
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*swp
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
begin
|
3
|
+
require 'jeweler'
|
4
|
+
|
5
|
+
Jeweler::Tasks.new do |s|
|
6
|
+
s.name = 'stumie'
|
7
|
+
s.author = "Dmitry Ratnikov"
|
8
|
+
s.email = "ratnikov@gmail.com"
|
9
|
+
s.summary = "API gem to pull information from stumie.com"
|
10
|
+
s.homepage = "http://stumie.com"
|
11
|
+
|
12
|
+
s.add_dependency "json", '>= 1.4.3'
|
13
|
+
s.test_files = Dir['test/**/*']
|
14
|
+
end
|
15
|
+
rescue LoadError
|
16
|
+
puts "Jeweler not installed."
|
17
|
+
exit 1
|
18
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
data/lib/stumie.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
require 'net/http'
|
3
|
+
require 'json'
|
4
|
+
require 'digest/md5'
|
5
|
+
|
6
|
+
module Stumie
|
7
|
+
extend self
|
8
|
+
|
9
|
+
HOST = "http://stumie.com/api/profiles/%s?key=%s"
|
10
|
+
|
11
|
+
attr_accessor :api_key
|
12
|
+
|
13
|
+
def pull(email)
|
14
|
+
md5 = Digest::MD5.hexdigest(email)
|
15
|
+
|
16
|
+
response = Net::HTTP.get_response URI.parse(HOST % [ md5, api_key ])
|
17
|
+
|
18
|
+
response.code =~ /2../ ? parse_json(response.body) : nil
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def parse_json(json)
|
24
|
+
JSON.parse json
|
25
|
+
end
|
26
|
+
end
|
data/stumie.gemspec
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{stumie}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Dmitry Ratnikov"]
|
12
|
+
s.date = %q{2010-10-17}
|
13
|
+
s.email = %q{ratnikov@gmail.com}
|
14
|
+
s.files = [
|
15
|
+
".bundle/config",
|
16
|
+
".gitignore",
|
17
|
+
"Gemfile",
|
18
|
+
"Gemfile.lock",
|
19
|
+
"Rakefile",
|
20
|
+
"VERSION",
|
21
|
+
"lib/stumie.rb",
|
22
|
+
"stumie.gemspec",
|
23
|
+
"test/test_helper.rb",
|
24
|
+
"test/unit/stumie_test.rb"
|
25
|
+
]
|
26
|
+
s.homepage = %q{http://stumie.com}
|
27
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
28
|
+
s.require_paths = ["lib"]
|
29
|
+
s.rubygems_version = %q{1.3.7}
|
30
|
+
s.summary = %q{API gem to pull information from stumie.com}
|
31
|
+
s.test_files = [
|
32
|
+
"test/test_helper.rb",
|
33
|
+
"test/unit",
|
34
|
+
"test/unit/stumie_test.rb"
|
35
|
+
]
|
36
|
+
|
37
|
+
if s.respond_to? :specification_version then
|
38
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
39
|
+
s.specification_version = 3
|
40
|
+
|
41
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
|
+
s.add_runtime_dependency(%q<json>, [">= 1.4.3"])
|
43
|
+
else
|
44
|
+
s.add_dependency(%q<json>, [">= 1.4.3"])
|
45
|
+
end
|
46
|
+
else
|
47
|
+
s.add_dependency(%q<json>, [">= 1.4.3"])
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class StumieTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
Stumie.api_key = @key = 'abcdefg'
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_pull
|
9
|
+
register_response md5('someone@example.com'), '{"foo":"bar"}'
|
10
|
+
|
11
|
+
Stumie.api_key = 'abcdefg'
|
12
|
+
|
13
|
+
assert_equal({ 'foo' => 'bar' }, Stumie.pull('someone@example.com'), "Should return the arguments pulled from stumie")
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_404
|
17
|
+
register_response md5('foo@example.com'), 'Not found', 404
|
18
|
+
|
19
|
+
assert_nil Stumie.pull('foo@example.com')
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def md5(str)
|
25
|
+
Digest::MD5.hexdigest str
|
26
|
+
end
|
27
|
+
|
28
|
+
def register_response(id, response, status = 200)
|
29
|
+
FakeWeb.register_uri :get, "http://stumie.com/api/profiles/#{id}?key=#{@key}", :body => response, :status => status
|
30
|
+
end
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: stumie
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Dmitry Ratnikov
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-10-17 00:00:00 -04:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: json
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 1
|
30
|
+
- 4
|
31
|
+
- 3
|
32
|
+
version: 1.4.3
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
description:
|
36
|
+
email: ratnikov@gmail.com
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files: []
|
42
|
+
|
43
|
+
files:
|
44
|
+
- .bundle/config
|
45
|
+
- .gitignore
|
46
|
+
- Gemfile
|
47
|
+
- Gemfile.lock
|
48
|
+
- Rakefile
|
49
|
+
- VERSION
|
50
|
+
- lib/stumie.rb
|
51
|
+
- stumie.gemspec
|
52
|
+
- test/test_helper.rb
|
53
|
+
- test/unit/stumie_test.rb
|
54
|
+
has_rdoc: true
|
55
|
+
homepage: http://stumie.com
|
56
|
+
licenses: []
|
57
|
+
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options:
|
60
|
+
- --charset=UTF-8
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
segments:
|
69
|
+
- 0
|
70
|
+
version: "0"
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
requirements: []
|
80
|
+
|
81
|
+
rubyforge_project:
|
82
|
+
rubygems_version: 1.3.7
|
83
|
+
signing_key:
|
84
|
+
specification_version: 3
|
85
|
+
summary: API gem to pull information from stumie.com
|
86
|
+
test_files:
|
87
|
+
- test/test_helper.rb
|
88
|
+
- test/unit/stumie_test.rb
|