capistrano-fiesta 1.0.1 → 1.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/capistrano-fiesta.gemspec +2 -0
- data/lib/capistrano/fiesta/editor.rb +40 -0
- data/lib/capistrano/fiesta/report.rb +10 -17
- data/lib/capistrano/fiesta/version.rb +1 -1
- data/lib/capistrano/tasks/fiesta.rake +1 -1
- data/lib/capistrano/templates/fiesta.erb +4 -0
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecec845a7285bc41b134999cceb95090623f2fe1
|
4
|
+
data.tar.gz: a24782784115a94194d7861543d959c50a06f3f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 590a48205a81acf42956d2eba5cec3c414226633fe54be96319b30eae9d2f88615a165d6416d1c04b5926c0d884223bd99677a5ae9e59bada455d6d79209cbaa
|
7
|
+
data.tar.gz: daa8a49e565a56308f68b1e75e33ac2a1954f631f74e848bb061a1c5a27028877454778ea3f96987317818269bee76261c680cab315a7b6d6cf4382192e031dd
|
data/README.md
CHANGED
@@ -24,7 +24,7 @@ The edited content will be posted to Slack:
|
|
24
24
|
3. Require in the capfile or appropriate stage and configure the Slack channel:
|
25
25
|
|
26
26
|
```ruby
|
27
|
-
require '
|
27
|
+
require 'capistrano-fiesta'
|
28
28
|
set :fiesta_slack_channel, '#release'
|
29
29
|
```
|
30
30
|
4. If you're using [hub](https://github.com/github/hub) or [pt-flow](https://github.com/balvig/pt-flow), your GitHub credentials should already be configured. Otherwise you can use the [ENV vars in Octokit](https://github.com/octokit/octokit.rb/blob/a98979107a4bf9741a05a1f751405f8a29f29b38/lib/octokit/default.rb#L42-L156) to configure GitHub access.
|
data/capistrano-fiesta.gemspec
CHANGED
@@ -25,6 +25,8 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
27
|
spec.add_development_dependency "minitest"
|
28
|
+
spec.add_development_dependency "minitest-line"
|
29
|
+
spec.add_development_dependency "minitest-reporters"
|
28
30
|
spec.add_development_dependency "multi_json"
|
29
31
|
spec.add_development_dependency "pry"
|
30
32
|
spec.add_development_dependency "webmock"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "tempfile"
|
2
|
+
|
3
|
+
module Capistrano
|
4
|
+
module Fiesta
|
5
|
+
class Editor
|
6
|
+
def initialize(content)
|
7
|
+
@content = content
|
8
|
+
end
|
9
|
+
|
10
|
+
def open
|
11
|
+
create_temp_file
|
12
|
+
edit
|
13
|
+
read
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def create_temp_file
|
19
|
+
file << @content
|
20
|
+
file.close
|
21
|
+
end
|
22
|
+
|
23
|
+
def edit
|
24
|
+
Kernel.system(ENV["EDITOR"] || "vi", file.path)
|
25
|
+
end
|
26
|
+
|
27
|
+
def read
|
28
|
+
file.open
|
29
|
+
file.unlink
|
30
|
+
file.read.each_line.map do |line|
|
31
|
+
line unless line.start_with?("\n") || line.start_with?("#")
|
32
|
+
end.compact.join
|
33
|
+
end
|
34
|
+
|
35
|
+
def file
|
36
|
+
@file ||= Tempfile.new(['fiesta', '.md'])
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -1,21 +1,23 @@
|
|
1
|
+
Encoding.default_internal = Encoding.default_external = 'utf-8'
|
2
|
+
|
1
3
|
require "capistrano/fiesta/story"
|
4
|
+
require "capistrano/fiesta/editor"
|
2
5
|
require "erb"
|
3
|
-
require "tempfile"
|
4
6
|
require "octokit"
|
5
7
|
require "yaml"
|
6
8
|
|
7
9
|
module Capistrano
|
8
10
|
module Fiesta
|
9
11
|
class Report
|
10
|
-
attr_accessor :logs
|
12
|
+
attr_accessor :logs, :comment
|
11
13
|
|
12
|
-
def initialize(github_url, last_release:
|
13
|
-
@github_url, @last_release = github_url, last_release
|
14
|
+
def initialize(github_url, last_release: nil, comment: nil)
|
15
|
+
@github_url, @last_release, @comment = github_url, last_release, comment
|
14
16
|
@logs = []
|
15
17
|
end
|
16
18
|
|
17
19
|
def write
|
18
|
-
|
20
|
+
editor.open if stories.any?
|
19
21
|
end
|
20
22
|
|
21
23
|
def stories
|
@@ -24,17 +26,8 @@ module Capistrano
|
|
24
26
|
|
25
27
|
private
|
26
28
|
|
27
|
-
def
|
28
|
-
|
29
|
-
file.close
|
30
|
-
Kernel.system(ENV["EDITOR"] || "vi", file.path)
|
31
|
-
file.open
|
32
|
-
file.unlink
|
33
|
-
file.read.force_encoding("utf-8")
|
34
|
-
end
|
35
|
-
|
36
|
-
def file
|
37
|
-
@file ||= Tempfile.new(['fiesta', '.md'])
|
29
|
+
def editor
|
30
|
+
Editor.new(draft)
|
38
31
|
end
|
39
32
|
|
40
33
|
def draft
|
@@ -57,7 +50,7 @@ module Capistrano
|
|
57
50
|
end
|
58
51
|
|
59
52
|
def last_released_at
|
60
|
-
Time.parse(@last_release + 'Z00:00').iso8601
|
53
|
+
Time.parse(@last_release + 'Z00:00').iso8601 if @last_release
|
61
54
|
end
|
62
55
|
|
63
56
|
def github
|
@@ -17,7 +17,7 @@ namespace :fiesta do
|
|
17
17
|
task :generate do
|
18
18
|
run_locally do
|
19
19
|
next warn 'Install Slackistrano to post Fiesta reports to Slack' unless defined?(Slackistrano)
|
20
|
-
report = Capistrano::Fiesta::Report.new(repo_url, last_release: fetch(:last_release))
|
20
|
+
report = Capistrano::Fiesta::Report.new(repo_url, last_release: fetch(:last_release), comment: fetch(:fiesta_comment))
|
21
21
|
result = report.write
|
22
22
|
|
23
23
|
if result && !result.empty?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-fiesta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Balvig
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest-line
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest-reporters
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: multi_json
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,6 +169,7 @@ files:
|
|
141
169
|
- capistrano-fiesta.gemspec
|
142
170
|
- lib/capistrano-fiesta.rb
|
143
171
|
- lib/capistrano/fiesta.rb
|
172
|
+
- lib/capistrano/fiesta/editor.rb
|
144
173
|
- lib/capistrano/fiesta/report.rb
|
145
174
|
- lib/capistrano/fiesta/story.rb
|
146
175
|
- lib/capistrano/fiesta/version.rb
|