middleman-strava 0.0.1 → 1.0.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 +7 -0
- data/.gitignore +5 -3
- data/Gemfile +7 -16
- data/README.md +3 -0
- data/Rakefile +1 -1
- data/features/strava.feature +7 -12
- data/features/support/step_definitions.rb +5 -0
- data/fixtures/strava-app/config.rb +1 -3
- data/lib/middleman-strava.rb +3 -3
- data/lib/middleman-strava/extension.rb +25 -23
- data/lib/middleman-strava/middleman_extension.rb +1 -0
- data/lib/middleman-strava/version.rb +1 -1
- data/middleman-strava.gemspec +11 -7
- metadata +66 -26
- data/lib/middleman_extension.rb +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a95fe048fe95d7aa7f3be24f2deca136fd4c15a1
|
4
|
+
data.tar.gz: 734b2100e6dfb658c186d475be73a0634af3fc48
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f016b49cbe67c64e6d0bcaaa5741ee75a09f2493be42de7e86ad670e70fb8a136a77786fce50729c4ea8e8d73de2d0845c487a7234850d83dff00d84f72bbe24
|
7
|
+
data.tar.gz: fd23b447a31e36ace49ba4173238114a1e6b92fb7d5bb6cb5667e861ee46e8b2c19153c971ec18ca82734c5d7a743dd1848721325d89fbf18b5f4f2630598485
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,21 +1,12 @@
|
|
1
|
-
# If you do not have OpenSSL installed, update
|
2
|
-
# the following line to use "http://" instead
|
3
1
|
source 'https://rubygems.org'
|
4
2
|
|
3
|
+
gem 'middleman-core', :github => 'middleman/middleman', :branch => 'v3-stable'
|
4
|
+
gem 'strava-api-v3', '~> 0.6.0'
|
5
|
+
|
5
6
|
# Specify your gem's dependencies in middleman-strava.gemspec
|
6
7
|
gemspec
|
7
8
|
|
8
|
-
gem '
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
gem 'rdoc'
|
13
|
-
gem 'yard'
|
14
|
-
end
|
15
|
-
|
16
|
-
group :test do
|
17
|
-
gem 'cucumber'
|
18
|
-
gem 'fivemat'
|
19
|
-
gem 'aruba'
|
20
|
-
gem 'rspec'
|
21
|
-
end
|
9
|
+
gem 'rake', '~> 10.3', require: false
|
10
|
+
gem 'aruba', '~> 0.10.0'
|
11
|
+
gem 'rspec', '~> 3.0'
|
12
|
+
gem 'cucumber', '~> 2.0'
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Middleman Strava
|
2
2
|
|
3
|
+
[ ](https://codeship.com/projects/88966)
|
4
|
+
[](https://badge.fury.io/rb/middleman-strava)
|
5
|
+
|
3
6
|
`middleman-strava` is an extension for the [Middleman] static site generator that exposes helpers which return [Strava] API results inside your templates.
|
4
7
|
|
5
8
|
## Dependencies
|
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ Bundler::GemHelper.install_tasks
|
|
4
4
|
require 'cucumber/rake/task'
|
5
5
|
|
6
6
|
Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
|
7
|
-
t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || '
|
7
|
+
t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
|
8
8
|
end
|
9
9
|
|
10
10
|
require 'rake/clean'
|
data/features/strava.feature
CHANGED
@@ -1,13 +1,8 @@
|
|
1
|
-
Feature: Strava
|
1
|
+
Feature: Strava API integration
|
2
|
+
As a middleman site maintainer
|
3
|
+
I want to leverage Strava API calls
|
4
|
+
So that Strava data is displayed
|
2
5
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
"""
|
7
|
-
activate :middleman_strava do |d|
|
8
|
-
d.access_token = nil
|
9
|
-
end
|
10
|
-
"""
|
11
|
-
And the Server is running
|
12
|
-
When I go to "/"
|
13
|
-
Then I should see "0" lines
|
6
|
+
Scenario: Strava config var `access_token` is not set
|
7
|
+
Given the Server is running at "strava-app"
|
8
|
+
When I go to "/" it raises an "Authorization Error"
|
data/lib/middleman-strava.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'middleman-core'
|
2
2
|
require 'middleman-strava/version'
|
3
3
|
|
4
|
-
::Middleman::Extensions.register(:
|
4
|
+
::Middleman::Extensions.register(:strava) do
|
5
5
|
require 'middleman-strava/extension'
|
6
|
-
::Middleman::StravaExtension
|
7
|
-
end
|
6
|
+
::Middleman::Strava::StravaExtension
|
7
|
+
end
|
@@ -1,37 +1,39 @@
|
|
1
|
-
require '
|
1
|
+
require 'strava/api/v3'
|
2
2
|
|
3
3
|
module Middleman
|
4
|
-
|
5
|
-
|
4
|
+
module Strava
|
5
|
+
class StravaExtension < ::Middleman::Extension
|
6
|
+
option :access_token, '', 'The access token required to use the Strava API'
|
6
7
|
|
7
|
-
|
8
|
+
cattr_accessor :client
|
8
9
|
|
9
|
-
|
10
|
-
|
10
|
+
def initialize(app, options_hash={}, &block)
|
11
|
+
super
|
11
12
|
|
12
|
-
|
13
|
-
|
13
|
+
if (options_hash[:access_token].present?)
|
14
|
+
options[:access_token] = options_hash[:access_token]
|
15
|
+
end
|
14
16
|
end
|
15
|
-
end
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
def after_configuration
|
19
|
+
StravaExtension.client = ::Strava::Api::V3::Client.new(:access_token => options[:access_token])
|
20
|
+
end
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
helpers do
|
23
|
+
def strava_athlete(athlete_id=nil)
|
24
|
+
if (athlete_id.present?)
|
25
|
+
StravaExtension.client.retrieve_another_athlete(athlete_id)
|
26
|
+
else
|
27
|
+
StravaExtension.client.retrieve_current_athlete
|
28
|
+
end
|
27
29
|
end
|
28
|
-
end
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
31
|
+
def strava_activities(start, num_days=7)
|
32
|
+
start_date = Date.parse(start)
|
33
|
+
end_date = start_date + num_days
|
33
34
|
|
34
|
-
|
35
|
+
StravaExtension.client.list_athlete_activities({:after => start_date.to_time.to_i, :before => end_date.to_time.to_i}).sort_by { |hash| hash['start_date'] }
|
36
|
+
end
|
35
37
|
end
|
36
38
|
end
|
37
39
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'middleman-strava'
|
data/middleman-strava.gemspec
CHANGED
@@ -1,24 +1,28 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require 'middleman-strava/version'
|
3
4
|
|
4
5
|
Gem::Specification.new do |s|
|
5
6
|
s.name = "middleman-strava"
|
6
|
-
s.version =
|
7
|
+
s.version = Middleman::Strava::VERSION
|
7
8
|
s.platform = Gem::Platform::RUBY
|
8
9
|
s.authors = ["Dan Beghin"]
|
9
10
|
s.email = ["dan@begh.in"]
|
10
11
|
s.homepage = "https://github.com/dbeg/middleman-strava"
|
11
12
|
s.summary = %q{Strava API extension for Middleman}
|
12
13
|
s.description = %q{A Middleman extension that provides helpers to easily display Strava API data}
|
14
|
+
s.license = "MIT"
|
15
|
+
|
16
|
+
s.required_ruby_version = "~> 2.3.2"
|
13
17
|
|
14
18
|
s.files = `git ls-files`.split("\n")
|
15
|
-
s.test_files = `git ls-files -- {
|
16
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.test_files = `git ls-files -- {features,fixtures}/*`.split("\n")
|
17
20
|
s.require_paths = ["lib"]
|
18
21
|
|
19
|
-
|
20
|
-
s.add_runtime_dependency("
|
22
|
+
s.add_runtime_dependency("middleman-core", "~> 3.2")
|
23
|
+
s.add_runtime_dependency("strava-api-v3", "~> 0.6.0")
|
21
24
|
|
22
|
-
|
23
|
-
s.
|
25
|
+
s.add_development_dependency("aruba", "~> 0.10.0")
|
26
|
+
s.add_development_dependency("rspec", "~> 3.0")
|
27
|
+
s.add_development_dependency("cucumber", "~> 2.0")
|
24
28
|
end
|
metadata
CHANGED
@@ -1,48 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-strava
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dan Beghin
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-11-20 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: middleman-core
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.
|
19
|
+
version: '3.2'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 3.
|
26
|
+
version: '3.2'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: strava-api-v3
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
33
|
+
version: 0.6.0
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
40
|
+
version: 0.6.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: aruba
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.10.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.10.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: cucumber
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
46
83
|
description: A Middleman extension that provides helpers to easily display Strava
|
47
84
|
API data
|
48
85
|
email:
|
@@ -51,45 +88,48 @@ executables: []
|
|
51
88
|
extensions: []
|
52
89
|
extra_rdoc_files: []
|
53
90
|
files:
|
54
|
-
- .gitignore
|
91
|
+
- ".gitignore"
|
55
92
|
- Gemfile
|
56
93
|
- LICENSE.md
|
57
94
|
- README.md
|
58
95
|
- Rakefile
|
59
96
|
- features/strava.feature
|
60
97
|
- features/support/env.rb
|
98
|
+
- features/support/step_definitions.rb
|
61
99
|
- fixtures/strava-app/config.rb
|
62
100
|
- fixtures/strava-app/source/index.html.erb
|
63
101
|
- lib/middleman-strava.rb
|
64
102
|
- lib/middleman-strava/extension.rb
|
103
|
+
- lib/middleman-strava/middleman_extension.rb
|
65
104
|
- lib/middleman-strava/version.rb
|
66
|
-
- lib/middleman_extension.rb
|
67
105
|
- middleman-strava.gemspec
|
68
106
|
homepage: https://github.com/dbeg/middleman-strava
|
69
|
-
licenses:
|
107
|
+
licenses:
|
108
|
+
- MIT
|
109
|
+
metadata: {}
|
70
110
|
post_install_message:
|
71
111
|
rdoc_options: []
|
72
112
|
require_paths:
|
73
113
|
- lib
|
74
114
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
115
|
requirements:
|
77
|
-
- -
|
116
|
+
- - "~>"
|
78
117
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
118
|
+
version: 2.3.2
|
80
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
120
|
requirements:
|
83
|
-
- -
|
121
|
+
- - ">="
|
84
122
|
- !ruby/object:Gem::Version
|
85
123
|
version: '0'
|
86
124
|
requirements: []
|
87
125
|
rubyforge_project:
|
88
|
-
rubygems_version:
|
126
|
+
rubygems_version: 2.5.2
|
89
127
|
signing_key:
|
90
|
-
specification_version:
|
128
|
+
specification_version: 4
|
91
129
|
summary: Strava API extension for Middleman
|
92
130
|
test_files:
|
93
131
|
- features/strava.feature
|
94
132
|
- features/support/env.rb
|
95
|
-
|
133
|
+
- features/support/step_definitions.rb
|
134
|
+
- fixtures/strava-app/config.rb
|
135
|
+
- fixtures/strava-app/source/index.html.erb
|
data/lib/middleman_extension.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'middleman-strava.rb'
|