strava-ruby-client 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +15 -0
  5. data/.rubocop_todo.yml +47 -0
  6. data/.travis.yml +9 -0
  7. data/CHANGELOG.md +3 -0
  8. data/CONTRIBUTING.md +125 -0
  9. data/Dangerfile +2 -0
  10. data/Gemfile +15 -0
  11. data/LICENSE.md +22 -0
  12. data/README.md +231 -0
  13. data/RELEASING.md +61 -0
  14. data/Rakefile +17 -0
  15. data/bin/oauth-token.rb +28 -0
  16. data/lib/strava-ruby-client.rb +30 -0
  17. data/lib/strava/api/client.rb +38 -0
  18. data/lib/strava/api/config.rb +31 -0
  19. data/lib/strava/errors/fault.rb +13 -0
  20. data/lib/strava/logger.rb +13 -0
  21. data/lib/strava/models/activity.rb +57 -0
  22. data/lib/strava/models/athlete.rb +25 -0
  23. data/lib/strava/models/map.rb +9 -0
  24. data/lib/strava/models/model.rb +5 -0
  25. data/lib/strava/models/token.rb +12 -0
  26. data/lib/strava/oauth/client.rb +70 -0
  27. data/lib/strava/oauth/config.rb +33 -0
  28. data/lib/strava/version.rb +3 -0
  29. data/lib/strava/web/client.rb +31 -0
  30. data/lib/strava/web/config.rb +41 -0
  31. data/lib/strava/web/connection.rb +35 -0
  32. data/lib/strava/web/raise_error.rb +29 -0
  33. data/lib/strava/web/request.rb +38 -0
  34. data/spec/fixtures/strava/client_athlete.yml +59 -0
  35. data/spec/fixtures/strava/client_athlete_activities.yml +121 -0
  36. data/spec/fixtures/strava/oauth_token_authorization_code.yml +53 -0
  37. data/spec/fixtures/strava/oauth_token_invalid_client.yml +50 -0
  38. data/spec/fixtures/strava/oauth_token_invalid_code.yml +50 -0
  39. data/spec/fixtures/strava/oauth_token_refresh_token.yml +52 -0
  40. data/spec/spec_helper.rb +10 -0
  41. data/spec/strava/api/client_spec.rb +36 -0
  42. data/spec/strava/api/config_spec.rb +22 -0
  43. data/spec/strava/oauth/client_spec.rb +120 -0
  44. data/spec/strava/oauth/config_spec.rb +24 -0
  45. data/spec/strava/version_spec.rb +7 -0
  46. data/spec/strava/web/client_spec.rb +9 -0
  47. data/spec/strava/web/config_spec.rb +4 -0
  48. data/spec/support/shared/it_behaves_like_web_client.rb +131 -0
  49. data/spec/support/vcr.rb +12 -0
  50. data/strava-ruby-client.gemspec +21 -0
  51. metadata +150 -0
@@ -0,0 +1,12 @@
1
+ require 'vcr'
2
+ require 'webmock/rspec'
3
+
4
+ VCR.configure do |config|
5
+ config.cassette_library_dir = 'spec/fixtures/strava'
6
+ config.hook_into :webmock
7
+ config.default_cassette_options = { record: :new_episodes }
8
+ config.configure_rspec_metadata!
9
+ config.before_record do |i|
10
+ i.response.body.force_encoding('UTF-8')
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
2
+ require 'strava/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'strava-ruby-client'
6
+ s.bindir = 'bin'
7
+ s.version = Strava::VERSION
8
+ s.authors = ['Daniel Doubrovkine']
9
+ s.email = 'dblock@dblock.org'
10
+ s.platform = Gem::Platform::RUBY
11
+ s.required_rubygems_version = '>= 1.3.6'
12
+ s.files = `git ls-files`.split("\n")
13
+ s.test_files = `git ls-files -- spec/*`.split("\n")
14
+ s.require_paths = ['lib']
15
+ s.homepage = 'http://github.com/dblock/strava-ruby-client'
16
+ s.licenses = ['MIT']
17
+ s.summary = 'Strava API Ruby client.'
18
+ s.add_dependency 'faraday', '>= 0.9'
19
+ s.add_dependency 'faraday_middleware'
20
+ s.add_dependency 'hashie'
21
+ end
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: strava-ruby-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Doubrovkine
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-11-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.9'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday_middleware
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: hashie
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description:
56
+ email: dblock@dblock.org
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - ".gitignore"
62
+ - ".rspec"
63
+ - ".rubocop.yml"
64
+ - ".rubocop_todo.yml"
65
+ - ".travis.yml"
66
+ - CHANGELOG.md
67
+ - CONTRIBUTING.md
68
+ - Dangerfile
69
+ - Gemfile
70
+ - LICENSE.md
71
+ - README.md
72
+ - RELEASING.md
73
+ - Rakefile
74
+ - bin/oauth-token.rb
75
+ - lib/strava-ruby-client.rb
76
+ - lib/strava/api/client.rb
77
+ - lib/strava/api/config.rb
78
+ - lib/strava/errors/fault.rb
79
+ - lib/strava/logger.rb
80
+ - lib/strava/models/activity.rb
81
+ - lib/strava/models/athlete.rb
82
+ - lib/strava/models/map.rb
83
+ - lib/strava/models/model.rb
84
+ - lib/strava/models/token.rb
85
+ - lib/strava/oauth/client.rb
86
+ - lib/strava/oauth/config.rb
87
+ - lib/strava/version.rb
88
+ - lib/strava/web/client.rb
89
+ - lib/strava/web/config.rb
90
+ - lib/strava/web/connection.rb
91
+ - lib/strava/web/raise_error.rb
92
+ - lib/strava/web/request.rb
93
+ - spec/fixtures/strava/client_athlete.yml
94
+ - spec/fixtures/strava/client_athlete_activities.yml
95
+ - spec/fixtures/strava/oauth_token_authorization_code.yml
96
+ - spec/fixtures/strava/oauth_token_invalid_client.yml
97
+ - spec/fixtures/strava/oauth_token_invalid_code.yml
98
+ - spec/fixtures/strava/oauth_token_refresh_token.yml
99
+ - spec/spec_helper.rb
100
+ - spec/strava/api/client_spec.rb
101
+ - spec/strava/api/config_spec.rb
102
+ - spec/strava/oauth/client_spec.rb
103
+ - spec/strava/oauth/config_spec.rb
104
+ - spec/strava/version_spec.rb
105
+ - spec/strava/web/client_spec.rb
106
+ - spec/strava/web/config_spec.rb
107
+ - spec/support/shared/it_behaves_like_web_client.rb
108
+ - spec/support/vcr.rb
109
+ - strava-ruby-client.gemspec
110
+ homepage: http://github.com/dblock/strava-ruby-client
111
+ licenses:
112
+ - MIT
113
+ metadata: {}
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: 1.3.6
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 2.7.6
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: Strava API Ruby client.
134
+ test_files:
135
+ - spec/fixtures/strava/client_athlete.yml
136
+ - spec/fixtures/strava/client_athlete_activities.yml
137
+ - spec/fixtures/strava/oauth_token_authorization_code.yml
138
+ - spec/fixtures/strava/oauth_token_invalid_client.yml
139
+ - spec/fixtures/strava/oauth_token_invalid_code.yml
140
+ - spec/fixtures/strava/oauth_token_refresh_token.yml
141
+ - spec/spec_helper.rb
142
+ - spec/strava/api/client_spec.rb
143
+ - spec/strava/api/config_spec.rb
144
+ - spec/strava/oauth/client_spec.rb
145
+ - spec/strava/oauth/config_spec.rb
146
+ - spec/strava/version_spec.rb
147
+ - spec/strava/web/client_spec.rb
148
+ - spec/strava/web/config_spec.rb
149
+ - spec/support/shared/it_behaves_like_web_client.rb
150
+ - spec/support/vcr.rb