dailymile-ruby 0.1.3 → 0.2.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/Rakefile +3 -2
- data/VERSION +1 -1
- data/dailymile-ruby.gemspec +23 -27
- data/lib/dailymile.rb +7 -7
- data/lib/dailymile/client.rb +5 -6
- data/lib/dailymile/connection.rb +10 -6
- data/lib/dailymile/connection/token.rb +1 -0
- metadata +51 -83
- data/.gitignore +0 -21
- data/lib/oauth2_monkey_patches.rb +0 -11
data/Rakefile
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'psych'
|
2
3
|
require 'rake'
|
3
4
|
|
4
5
|
begin
|
@@ -11,9 +12,9 @@ begin
|
|
11
12
|
gem.homepage = "http://github.com/dailymile/dailymile-ruby"
|
12
13
|
gem.authors = ["lostinpatterns"]
|
13
14
|
|
14
|
-
gem.add_dependency("faraday", "~> 0.
|
15
|
+
gem.add_dependency("faraday", "~> 0.5.7")
|
15
16
|
gem.add_dependency("json_pure")
|
16
|
-
gem.add_dependency("oauth2", "0.
|
17
|
+
gem.add_dependency("oauth2", "0.1.1")
|
17
18
|
|
18
19
|
# gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
19
20
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/dailymile-ruby.gemspec
CHANGED
@@ -1,64 +1,60 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dailymile-ruby}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["lostinpatterns"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-03-10}
|
13
13
|
s.description = %q{This gem wraps the dailymile API that's available at http://www.dailymile.com/api}
|
14
14
|
s.email = %q{blweiner@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
|
17
|
+
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
"test/helper.rb",
|
33
|
-
"test/test_dailymile-ruby.rb"
|
21
|
+
"LICENSE",
|
22
|
+
"README.rdoc",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"dailymile-ruby.gemspec",
|
26
|
+
"lib/dailymile.rb",
|
27
|
+
"lib/dailymile/client.rb",
|
28
|
+
"lib/dailymile/connection.rb",
|
29
|
+
"lib/dailymile/connection/token.rb",
|
30
|
+
"test/helper.rb",
|
31
|
+
"test/test_dailymile-ruby.rb"
|
34
32
|
]
|
35
33
|
s.homepage = %q{http://github.com/dailymile/dailymile-ruby}
|
36
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
37
34
|
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = %q{1.
|
35
|
+
s.rubygems_version = %q{1.5.0}
|
39
36
|
s.summary = %q{dailymile ruby client}
|
40
37
|
s.test_files = [
|
41
38
|
"test/helper.rb",
|
42
|
-
|
39
|
+
"test/test_dailymile-ruby.rb"
|
43
40
|
]
|
44
41
|
|
45
42
|
if s.respond_to? :specification_version then
|
46
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
47
43
|
s.specification_version = 3
|
48
44
|
|
49
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
-
s.add_runtime_dependency(%q<faraday>, ["~> 0.
|
46
|
+
s.add_runtime_dependency(%q<faraday>, ["~> 0.5.7"])
|
51
47
|
s.add_runtime_dependency(%q<json_pure>, [">= 0"])
|
52
|
-
s.add_runtime_dependency(%q<oauth2>, ["= 0.
|
48
|
+
s.add_runtime_dependency(%q<oauth2>, ["= 0.1.1"])
|
53
49
|
else
|
54
|
-
s.add_dependency(%q<faraday>, ["~> 0.
|
50
|
+
s.add_dependency(%q<faraday>, ["~> 0.5.7"])
|
55
51
|
s.add_dependency(%q<json_pure>, [">= 0"])
|
56
|
-
s.add_dependency(%q<oauth2>, ["= 0.
|
52
|
+
s.add_dependency(%q<oauth2>, ["= 0.1.1"])
|
57
53
|
end
|
58
54
|
else
|
59
|
-
s.add_dependency(%q<faraday>, ["~> 0.
|
55
|
+
s.add_dependency(%q<faraday>, ["~> 0.5.7"])
|
60
56
|
s.add_dependency(%q<json_pure>, [">= 0"])
|
61
|
-
s.add_dependency(%q<oauth2>, ["= 0.
|
57
|
+
s.add_dependency(%q<oauth2>, ["= 0.1.1"])
|
62
58
|
end
|
63
59
|
end
|
64
60
|
|
data/lib/dailymile.rb
CHANGED
@@ -2,15 +2,11 @@ require 'faraday'
|
|
2
2
|
require 'json'
|
3
3
|
require 'oauth2'
|
4
4
|
|
5
|
-
require 'oauth2_monkey_patches'
|
6
|
-
require 'dailymile/connection'
|
7
|
-
require 'dailymile/connection/token'
|
8
|
-
require 'dailymile/client'
|
9
|
-
|
10
5
|
module Dailymile
|
11
6
|
|
12
7
|
VERSION = File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
|
13
|
-
|
8
|
+
HOST = 'api.dailymile.com'
|
9
|
+
BASE_URI = "https://#{HOST}"
|
14
10
|
OAUTH_AUTHORIZE_PATH = '/oauth/authorize'
|
15
11
|
OAUTH_TOKEN_PATH = '/oauth/token'
|
16
12
|
|
@@ -29,4 +25,8 @@ module Dailymile
|
|
29
25
|
end
|
30
26
|
end
|
31
27
|
|
32
|
-
end
|
28
|
+
end
|
29
|
+
|
30
|
+
require 'dailymile/connection' # require File.expand_path(File.dirname(__FILE__) + '/dailymile/connection')
|
31
|
+
require 'dailymile/connection/token'
|
32
|
+
require 'dailymile/client'
|
data/lib/dailymile/client.rb
CHANGED
@@ -30,13 +30,13 @@ module Dailymile
|
|
30
30
|
end
|
31
31
|
|
32
32
|
# EXAMPLES:
|
33
|
-
# everyone stream:
|
34
|
-
# nearby stream:
|
35
|
-
# ben's stream:
|
33
|
+
# everyone stream: Dailymile::Client.entries
|
34
|
+
# nearby stream: Dailymile::Client.entries :nearby, 37.77916, -122.420049, :page => 2
|
35
|
+
# ben's stream: Dailymile::Client.entries 'ben', :page => 2
|
36
36
|
def self.entries(*args)
|
37
37
|
params = extract_options_from_args!(args)
|
38
38
|
filter = args.shift
|
39
|
-
|
39
|
+
|
40
40
|
entries_path = case filter
|
41
41
|
when String, Symbol
|
42
42
|
filter = filter.to_s.strip
|
@@ -54,12 +54,11 @@ module Dailymile
|
|
54
54
|
else
|
55
55
|
'/entries'
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
data = get entries_path, params
|
59
59
|
data["entries"]
|
60
60
|
end
|
61
61
|
|
62
|
-
|
63
62
|
private
|
64
63
|
|
65
64
|
def self.extract_options_from_args!(args)
|
data/lib/dailymile/connection.rb
CHANGED
@@ -5,7 +5,7 @@ module Dailymile
|
|
5
5
|
DEFAULT_FORMAT = :json
|
6
6
|
DEFAULT_HEADERS = {
|
7
7
|
'Accept' => 'application/json',
|
8
|
-
'User-Agent' => "dailymile-ruby/#{VERSION}"
|
8
|
+
'User-Agent' => "dailymile-ruby/#{Dailymile::VERSION}"
|
9
9
|
}
|
10
10
|
|
11
11
|
def get(path, params = {})
|
@@ -28,9 +28,13 @@ module Dailymile
|
|
28
28
|
|
29
29
|
def make_request(verb, path, params = {}, headers = {}, &block)
|
30
30
|
path << ".#{DEFAULT_FORMAT}" unless path =~ /.+\.\w+$/
|
31
|
-
path << to_query_string(params) unless params.empty?
|
32
31
|
|
33
|
-
|
32
|
+
if verb == :get
|
33
|
+
path << to_query_string(params) unless params.empty?
|
34
|
+
params = {}
|
35
|
+
end
|
36
|
+
|
37
|
+
response = block.call verb, path, params, DEFAULT_HEADERS.merge(headers)
|
34
38
|
|
35
39
|
handle_response(response)
|
36
40
|
end
|
@@ -38,7 +42,7 @@ module Dailymile
|
|
38
42
|
private
|
39
43
|
|
40
44
|
def request(verb, path, params = {}, headers = {})
|
41
|
-
@connection ||= Faraday::Connection.new(:url => "http
|
45
|
+
@connection ||= Faraday::Connection.new(:url => "http://#{Dailymile::HOST}", :headers => DEFAULT_HEADERS) do |builder|
|
42
46
|
builder.adapter Faraday.default_adapter
|
43
47
|
#builder.use Faraday::Response::Mashify
|
44
48
|
end
|
@@ -57,7 +61,7 @@ module Dailymile
|
|
57
61
|
def handle_response(response)
|
58
62
|
case response.status
|
59
63
|
when 200, 201
|
60
|
-
JSON.parse(response) rescue nil
|
64
|
+
JSON.parse(response) unless response.nil? # rescue nil
|
61
65
|
when 404
|
62
66
|
raise NotFound
|
63
67
|
when 401
|
@@ -73,7 +77,7 @@ module Dailymile
|
|
73
77
|
raise Unavailable, "#{response.status}: #{response}"
|
74
78
|
end
|
75
79
|
when 422
|
76
|
-
errors = JSON.parse(response) rescue nil
|
80
|
+
errors = JSON.parse(response) unless response.nil? # rescue nil
|
77
81
|
raise UnprocessableEntity, errors
|
78
82
|
else
|
79
83
|
raise DailymileError,"#{response.status}: #{response}"
|
metadata
CHANGED
@@ -1,81 +1,59 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dailymile-ruby
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 3
|
10
|
-
version: 0.1.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease: !!null
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- lostinpatterns
|
14
|
-
autorequire:
|
9
|
+
autorequire: !!null
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-03-10 00:00:00.000000000 -08:00
|
13
|
+
default_executable: !!null
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: faraday
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2153329620 !ruby/object:Gem::Requirement
|
25
18
|
none: false
|
26
|
-
requirements:
|
19
|
+
requirements:
|
27
20
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 4
|
33
|
-
- 1
|
34
|
-
version: 0.4.1
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.5.7
|
35
23
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: json_pure
|
39
24
|
prerelease: false
|
40
|
-
|
25
|
+
version_requirements: *2153329620
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: json_pure
|
28
|
+
requirement: &2153329080 !ruby/object:Gem::Requirement
|
41
29
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
version: "0"
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
49
34
|
type: :runtime
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: oauth2
|
53
35
|
prerelease: false
|
54
|
-
|
36
|
+
version_requirements: *2153329080
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: oauth2
|
39
|
+
requirement: &2153328580 !ruby/object:Gem::Requirement
|
55
40
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
- 0
|
63
|
-
- 13
|
64
|
-
version: 0.0.13
|
41
|
+
requirements:
|
42
|
+
- - =
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 0.1.1
|
65
45
|
type: :runtime
|
66
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *2153328580
|
67
48
|
description: This gem wraps the dailymile API that's available at http://www.dailymile.com/api
|
68
49
|
email: blweiner@gmail.com
|
69
50
|
executables: []
|
70
|
-
|
71
51
|
extensions: []
|
72
|
-
|
73
|
-
extra_rdoc_files:
|
52
|
+
extra_rdoc_files:
|
74
53
|
- LICENSE
|
75
54
|
- README.rdoc
|
76
|
-
files:
|
55
|
+
files:
|
77
56
|
- .document
|
78
|
-
- .gitignore
|
79
57
|
- LICENSE
|
80
58
|
- README.rdoc
|
81
59
|
- Rakefile
|
@@ -85,43 +63,33 @@ files:
|
|
85
63
|
- lib/dailymile/client.rb
|
86
64
|
- lib/dailymile/connection.rb
|
87
65
|
- lib/dailymile/connection/token.rb
|
88
|
-
- lib/oauth2_monkey_patches.rb
|
89
66
|
- test/helper.rb
|
90
67
|
- test/test_dailymile-ruby.rb
|
91
68
|
has_rdoc: true
|
92
69
|
homepage: http://github.com/dailymile/dailymile-ruby
|
93
70
|
licenses: []
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
- --charset=UTF-8
|
98
|
-
require_paths:
|
71
|
+
post_install_message: !!null
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
99
74
|
- lib
|
100
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
76
|
none: false
|
102
|
-
requirements:
|
103
|
-
- -
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
|
106
|
-
|
107
|
-
- 0
|
108
|
-
version: "0"
|
109
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
82
|
none: false
|
111
|
-
requirements:
|
112
|
-
- -
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
|
115
|
-
segments:
|
116
|
-
- 0
|
117
|
-
version: "0"
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
118
87
|
requirements: []
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
signing_key:
|
88
|
+
rubyforge_project: !!null
|
89
|
+
rubygems_version: 1.5.0
|
90
|
+
signing_key: !!null
|
123
91
|
specification_version: 3
|
124
92
|
summary: dailymile ruby client
|
125
|
-
test_files:
|
93
|
+
test_files:
|
126
94
|
- test/helper.rb
|
127
95
|
- test/test_dailymile-ruby.rb
|
data/.gitignore
DELETED