tracker_deliveries 0.1.6 → 0.1.7

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: 4971fefd1275558af1f0fc609fc641ac5102c5fa
4
- data.tar.gz: 8eab891ba1e6894bd8c1209a99b9ca5a1cbca2c1
3
+ metadata.gz: 98406035e4d6cd6b02b1d048cfaf917d9d022c60
4
+ data.tar.gz: 70281c68f1eff2661291154cd7a8bfcfee04bbab
5
5
  SHA512:
6
- metadata.gz: 433cf7f8aaf755e8f8dbb9933183742c0dac9eec1f74507f36fe022be5b5f9e9f45159912def85250254e6ebfe4ac9aae8e2ea9f033063b51be4ae8dc3bf3ef3
7
- data.tar.gz: 48c87f501af5039dbe07f3e4d82fd6e2b202a67632af2f67417f462a5bf10944aa8a16f5b682c7f5d778b9fd751f98024da5902ba2ab35d8fbf169dae4e28ed8
6
+ metadata.gz: 526d933dae0eb25e6a57ea729170b66cc95906f6a993b5957fe997b1349b2b0322a8cf2ce0ad99fdf9864db2bffc3cc7c6571482eb14b0c562d9c1412c83e9d7
7
+ data.tar.gz: 5be1e99756a91d460faae8fd39e983ca519b1a829c25a556099feda1e601054ec4f8ed1db952dc9bad03f4e1d411be956cf598aeb4309e2ac17d3fcb82e5e946
data/.circleci/config.yml CHANGED
@@ -8,7 +8,6 @@ jobs:
8
8
  - checkout
9
9
  - restore_cache:
10
10
  keys:
11
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
12
11
  - v1-dependencies-
13
12
  - run:
14
13
  name: install dependencies
data/README.md CHANGED
@@ -84,3 +84,8 @@ token is at the bottom of the page.
84
84
  Visit your PivotalTracker project the `project_id` last part of
85
85
  the URL, e.g. `https://www.pivotaltracker.com/n/projects/1234567` the
86
86
  `project_id` is `1234567`
87
+
88
+ ## Acknowledgements
89
+
90
+ This was built using Ruby, Rspec/TDD with Blanket Wrapper provides the
91
+ basis of the REST service client.
@@ -0,0 +1,36 @@
1
+ module TrackerDeliveries
2
+ class FormatTools
3
+ PIVOTAL_TRACKER_STORY_URL = 'https://pivotaltracker.com/story/show/'
4
+
5
+ def initialize format
6
+ @format = format
7
+ end
8
+
9
+ def pivotal_tracker_link s
10
+ %Q{#{PIVOTAL_TRACKER_STORY_URL}#{s.id}}
11
+ end
12
+
13
+ def story_formatter s
14
+ return send(@format, s)
15
+ end
16
+
17
+ def wrap_output output
18
+ return %Q{<ul>\n#{output}\n</ul>} if @format == :html
19
+ output
20
+ end
21
+
22
+ def plaintext s
23
+ %Q{#{s.id} - #{s.name}}
24
+ end
25
+
26
+ def markdown s
27
+ link = %Q{[#{s.id}](#{pivotal_tracker_link s})}
28
+ %Q{- #{link} - #{s.name}}
29
+ end
30
+
31
+ def html s
32
+ link = %Q{<a href="#{pivotal_tracker_link s}">#{s.id}</a>}
33
+ %Q{<li>#{link} - #{s.name}</li>}
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ require 'blanket'
2
+
3
+ module TrackerDeliveries
4
+ class PivotalTracker
5
+ PIVOTAL_API_URL = 'https://www.pivotaltracker.com/services/v5/'
6
+
7
+ attr_accessor :api
8
+
9
+ def initialize project_id, api_key, options = {}
10
+ @api_key = api_key
11
+ @project_id = project_id
12
+ @format_tools = TrackerDeliveries::FormatTools.new options[:format] || :plaintext
13
+ @api = Blanket.wrap PIVOTAL_API_URL,
14
+ headers: { 'X-TrackerToken' => @api_key }
15
+ end
16
+
17
+ def delivered_stories
18
+ options = {with_state: "delivered"}
19
+ wrap_output(api
20
+ .projects(@project_id)
21
+ .stories
22
+ .get(params: options)
23
+ .payload
24
+ .map{|s| story_formatter s }
25
+ .join("\n"))
26
+ end
27
+
28
+ def wrap_output output
29
+ @format_tools.wrap_output output
30
+ end
31
+
32
+ def story_formatter story
33
+ @format_tools.story_formatter story
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module TrackerDeliveries
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -1,5 +1,6 @@
1
- require 'blanket'
2
1
  require 'tracker_deliveries/version'
2
+ require 'pivotal_tracker'
3
+ require 'format_tools'
3
4
 
4
5
  module TrackerDeliveries
5
6
  class Main
@@ -10,64 +11,11 @@ module TrackerDeliveries
10
11
  def initialize(options = {})
11
12
  @project_id = ENV['TRACKER_DELIVERIES_PROJECT_ID']
12
13
  @api_token = ENV['TRACKER_DELIVERIES_API_TOKEN']
13
- @pivotal_tracker = PivotalTracker.new(@project_id, @api_token, options)
14
+ @pivotal_tracker = TrackerDeliveries::PivotalTracker.new(@project_id, @api_token, options)
14
15
  end
15
16
 
16
17
  def delivered_stories
17
18
  @pivotal_tracker.delivered_stories
18
19
  end
19
20
  end
20
-
21
- class PivotalTracker
22
- PIVOTAL_API_URL = 'https://www.pivotaltracker.com/services/v5/'
23
- attr_accessor :api
24
-
25
- def initialize project_id, api_key, options = {}
26
- @api_key = api_key
27
- @project_id = project_id
28
- @format = options[:format] || :plaintext
29
- @api = Blanket.wrap PIVOTAL_API_URL,
30
- headers: { 'X-TrackerToken' => @api_key }
31
- end
32
-
33
- def delivered_stories
34
- options = {with_state: "delivered"}
35
- wrap_output(api
36
- .projects(@project_id)
37
- .stories
38
- .get(params: options)
39
- .payload
40
- .map{|s| story_formatter s }
41
- .join("\n"))
42
- end
43
-
44
- private
45
-
46
- def pivotal_tracker_link s
47
- %Q{https://pivotaltracker.com/story/show/#{s.id}}
48
- end
49
-
50
- def story_formatter s
51
- return send(@format, s)
52
- end
53
-
54
- def wrap_output output
55
- return %Q{<ul>\n#{output}\n</ul>} if @format == :html
56
- output
57
- end
58
-
59
- def plaintext s
60
- %Q{#{s.id} - #{s.name}}
61
- end
62
-
63
- def markdown s
64
- link = %Q{[#{s.id}](#{pivotal_tracker_link s})}
65
- %Q{- #{link} - #{s.name}}
66
- end
67
-
68
- def html s
69
- link = %Q{<a href="#{pivotal_tracker_link s}">#{s.id}</a>}
70
- %Q{<li>#{link} - #{s.name}</li>}
71
- end
72
- end
73
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracker_deliveries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Milkins
@@ -115,6 +115,8 @@ files:
115
115
  - bin/console
116
116
  - bin/setup
117
117
  - exe/tracker_deliveries
118
+ - lib/format_tools.rb
119
+ - lib/pivotal_tracker.rb
118
120
  - lib/tracker_deliveries.rb
119
121
  - lib/tracker_deliveries/version.rb
120
122
  - tracker_deliveries.gemspec