strava-ruby-client 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.
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