mini_strava 0.2.1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c58a54a619f569d1e533819d5302ec0d51ec3ee5
4
- data.tar.gz: be9a775892380738db710c16240bbd1fa4c6a238
3
+ metadata.gz: 283fa929dfe45b64acbfb614afd4a2d0774a2274
4
+ data.tar.gz: 61b1b866af9bf08a97e885b374df0ec2a3936a70
5
5
  SHA512:
6
- metadata.gz: 7c5b4d9acaec79c52161ab3704382d5de1631baa4d01ff923c42413b3b8da69ca52fe459e58e4fba7e6787e35a1b7746b1bac063509f88916064849505b6caae
7
- data.tar.gz: 8e564ed16e44006145fb1c1b3503fc56f62349823970197f78990de3999ddde17b71ca8b5ce01f18c72ba677b389929ae2a337992792efc7423cb2252786f889
6
+ metadata.gz: 1f7ee21748f15d648d5a94f39f1fb4a77377b38759e760ab8b4cab3dbcf7200e5265e121302c8ea9238700e83a8f5e88383862924b5855c498bf3693643fdf4a
7
+ data.tar.gz: b09c5fc779f2a9d14761f8f3901152513cd9966ecbd2d9e5db84babc9089a13a4f8c3ddae0581fc5809263735d0141e1a413e52fbba951fedb54e8280048cd20
@@ -31,6 +31,11 @@ module MiniStrava
31
31
  parse_response response, Models::Activity
32
32
  end
33
33
 
34
+ def segment id
35
+ response = get "/segments/#{id}"
36
+ parse_response response, Models::Segment
37
+ end
38
+
34
39
  private
35
40
 
36
41
  def get path, params={}
@@ -0,0 +1,12 @@
1
+ module MiniStrava
2
+ module Models
3
+ class Map
4
+ include Model
5
+
6
+ model_attr :id
7
+ model_attr :polyline
8
+ model_attr :resource_state
9
+ end
10
+ end
11
+ end
12
+
@@ -15,6 +15,7 @@ module MiniStrava
15
15
  model_attr :city
16
16
  model_attr :state
17
17
  model_attr :country
18
+ model_attr :map, type: :Map
18
19
  end
19
20
  end
20
21
  end
@@ -1,3 +1,3 @@
1
1
  module MiniStrava
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/mini_strava.rb CHANGED
@@ -4,6 +4,7 @@ require 'mini_strava/model'
4
4
  require 'mini_strava/models/activity'
5
5
  require 'mini_strava/models/athlete'
6
6
  require 'mini_strava/models/gear'
7
+ require 'mini_strava/models/map'
7
8
  require 'mini_strava/models/segment'
8
9
  require 'mini_strava/models/segment_effort'
9
10
 
data/spec/client_spec.rb CHANGED
@@ -61,6 +61,18 @@ module MiniStrava
61
61
  end
62
62
  end
63
63
 
64
+ describe '#segment' do
65
+ it 'should retrieve segment' do
66
+ body = fixture 'segment'
67
+ response = double('response', body: body)
68
+ expect(subject).to receive(:get).with('/segments/10').and_return(response)
69
+
70
+ segment = subject.segment 10
71
+ expect(segment.class).to eq(Models::Segment)
72
+ expect(segment.name).to eq('Up Lower Caledonian Rd')
73
+ end
74
+ end
75
+
64
76
  context '#activities' do
65
77
  it 'should retrieve activities' do
66
78
  body = fixture 'activities'
@@ -83,7 +95,7 @@ module MiniStrava
83
95
 
84
96
  context '401 Not Authorized' do
85
97
  it 'should raise a AuthorizationError exception' do
86
- response = double('response', code: 401)
98
+ response = double('response', code: '401')
87
99
  expect(Net::HTTP).to receive(:start).and_return(response)
88
100
  expect do
89
101
  subject.athlete
@@ -0,0 +1,6 @@
1
+ {
2
+ "id": "s123456",
3
+ "polyline": "foobarbaz",
4
+ "resource_state": 3
5
+ }
6
+
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ module MiniStrava
4
+ module Models
5
+ describe Map do
6
+ describe 'model attributes' do
7
+ it 'should set model attributes' do
8
+ expected = [
9
+ :id, :polyline, :resource_state,
10
+ ].collect do |attr|
11
+ {
12
+ name: attr.to_s,
13
+ type: Model::DefaultAttrType,
14
+ default: nil
15
+ }
16
+ end
17
+
18
+ expect(Map.model_attributes).to match_array(expected)
19
+ end
20
+ end
21
+
22
+ describe 'build from attributes' do
23
+ subject { Map.build parse_fixture('map') }
24
+
25
+ it 'should set attributes values' do
26
+ expect(subject.id).to eq("s123456")
27
+ expect(subject.polyline).to eq('foobarbaz')
28
+ expect(subject.resource_state).to eq(3)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+
@@ -18,6 +18,12 @@ module MiniStrava
18
18
  }
19
19
  end
20
20
 
21
+ expected << {
22
+ name: 'map',
23
+ type: :Map,
24
+ default: nil
25
+ }
26
+
21
27
  expect(Segment.model_attributes).to match_array(expected)
22
28
  end
23
29
  end
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,7 @@ require_relative '../lib/mini_strava/models/athlete'
4
4
  require_relative '../lib/mini_strava/models/activity'
5
5
  require_relative '../lib/mini_strava/models/segment'
6
6
  require_relative '../lib/mini_strava/models/segment_effort'
7
+ require_relative '../lib/mini_strava/models/map'
7
8
  require_relative '../lib/mini_strava/client'
8
9
 
9
10
  require 'json'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_strava
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrea Franz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-31 00:00:00.000000000 Z
11
+ date: 2016-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ripl
@@ -86,6 +86,7 @@ files:
86
86
  - lib/mini_strava/models/activity.rb
87
87
  - lib/mini_strava/models/athlete.rb
88
88
  - lib/mini_strava/models/gear.rb
89
+ - lib/mini_strava/models/map.rb
89
90
  - lib/mini_strava/models/segment.rb
90
91
  - lib/mini_strava/models/segment_effort.rb
91
92
  - lib/mini_strava/version.rb
@@ -95,12 +96,14 @@ files:
95
96
  - spec/fixtures/activity.json
96
97
  - spec/fixtures/athlete.json
97
98
  - spec/fixtures/gear.json
99
+ - spec/fixtures/map.json
98
100
  - spec/fixtures/segment.json
99
101
  - spec/fixtures/segment_effort.json
100
102
  - spec/model_spec.rb
101
103
  - spec/models/activity_spec.rb
102
104
  - spec/models/athlete_spec.rb
103
105
  - spec/models/gear_spec.rb
106
+ - spec/models/map_spec.rb
104
107
  - spec/models/segment_effort_spec.rb
105
108
  - spec/models/segment_spec.rb
106
109
  - spec/spec_helper.rb
@@ -134,12 +137,14 @@ test_files:
134
137
  - spec/fixtures/activity.json
135
138
  - spec/fixtures/athlete.json
136
139
  - spec/fixtures/gear.json
140
+ - spec/fixtures/map.json
137
141
  - spec/fixtures/segment.json
138
142
  - spec/fixtures/segment_effort.json
139
143
  - spec/model_spec.rb
140
144
  - spec/models/activity_spec.rb
141
145
  - spec/models/athlete_spec.rb
142
146
  - spec/models/gear_spec.rb
147
+ - spec/models/map_spec.rb
143
148
  - spec/models/segment_effort_spec.rb
144
149
  - spec/models/segment_spec.rb
145
150
  - spec/spec_helper.rb