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.
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_DISABLE_SHARED_GEMS: "1"
@@ -0,0 +1 @@
1
+ *swp
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source :rubygems
2
+
3
+ group :test do
4
+ gem 'test-unit'
5
+ gem 'fakeweb'
6
+ end
@@ -0,0 +1,12 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ fakeweb (1.2.8)
5
+ test-unit (2.1.1)
6
+
7
+ PLATFORMS
8
+ ruby
9
+
10
+ DEPENDENCIES
11
+ fakeweb
12
+ test-unit
@@ -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
@@ -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
@@ -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
+
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ Bundler.setup
5
+
6
+ require 'test/unit'
7
+ require 'fake_web'
8
+ require 'stumie'
9
+
10
+ FakeWeb.allow_net_connect = false
@@ -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