fastlane-plugin-slack_train 0.1.0 → 0.2.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 +40 -5
- data/lib/fastlane/plugin/slack_train/actions/slack_train_action.rb +20 -18
- data/lib/fastlane/plugin/slack_train/actions/slack_train_crash_action.rb +6 -16
- data/lib/fastlane/plugin/slack_train/actions/slack_train_start_action.rb +25 -3
- data/lib/fastlane/plugin/slack_train/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 85dfa8b4f4861d66db1338773a10c68689604c74
|
|
4
|
+
data.tar.gz: e352565c17d538effd2a768fc3e866d8e9d062e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6a9defe38493587a25b146e774471a547745727d7f07c0695a01c87e3d188d7f21256d3c54ee02bc2c15bb1dbe9f639f5bf66d06802236975f796343ad9e67a1
|
|
7
|
+
data.tar.gz: 90c5f88704edb69ad71317b216d3da750145ea3ac0a3c4722679d5c138dea8bb9dd5fe877e7a63b7010d6b28c9072f62d0bd8f085ecc77587180d157a1a5f6ab
|
data/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# slack_train plugin
|
|
2
2
|
|
|
3
|
+
[](https://github.com/KrauseFx/fastlane-plugin-slack_train/blob/master/LICENSE)
|
|
4
|
+
[](https://rubygems.org/gems/fastlane-plugin-slack_train)
|
|
3
5
|
[](https://rubygems.org/gems/fastlane-plugin-slack_train)
|
|
4
6
|
|
|
5
7
|
## Getting Started
|
|
@@ -12,24 +14,57 @@ fastlane add_plugin slack_train
|
|
|
12
14
|
|
|
13
15
|
## About slack_train
|
|
14
16
|
|
|
17
|
+
Idea from [Paul Taykalo](https://twitter.com/TT_Kilew/status/766651907117023233)
|
|
18
|
+
|
|
15
19
|
Show a train of the fastlane progress
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
Train | Rocket | Crash
|
|
22
|
+
------|--------|-------
|
|
23
|
+
 |  | 
|
|
18
24
|
|
|
19
25
|
## Example
|
|
20
26
|
|
|
21
27
|
Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
```ruby
|
|
30
|
+
lane :beta do
|
|
31
|
+
slack_train_start(distance: 4)
|
|
32
|
+
slack_train
|
|
24
33
|
|
|
25
|
-
|
|
34
|
+
cocoapods
|
|
35
|
+
slack_train
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
gym
|
|
38
|
+
slack_train
|
|
28
39
|
|
|
40
|
+
crashlytics
|
|
41
|
+
slack_train
|
|
42
|
+
end
|
|
29
43
|
```
|
|
30
|
-
|
|
44
|
+
|
|
45
|
+
Or use a rocket emoji:
|
|
46
|
+
|
|
47
|
+
```ruby
|
|
48
|
+
lane :beta do
|
|
49
|
+
slack_train_start(distance: 4,
|
|
50
|
+
train: "🚀",
|
|
51
|
+
reverse_direction: true,
|
|
52
|
+
rail: "✨")
|
|
53
|
+
slack_train
|
|
54
|
+
|
|
55
|
+
cocoapods
|
|
56
|
+
slack_train
|
|
57
|
+
|
|
58
|
+
gym
|
|
59
|
+
slack_train
|
|
60
|
+
|
|
61
|
+
crashlytics
|
|
62
|
+
slack_train
|
|
63
|
+
end
|
|
31
64
|
```
|
|
32
65
|
|
|
66
|
+
## Run tests for this plugin
|
|
67
|
+
|
|
33
68
|
To automatically fix many of the styling issues, use
|
|
34
69
|
```
|
|
35
70
|
rubocop -a
|
|
@@ -2,13 +2,26 @@ module Fastlane
|
|
|
2
2
|
module Actions
|
|
3
3
|
class SlackTrainAction < Action
|
|
4
4
|
def self.run(params)
|
|
5
|
-
train_emoji =
|
|
5
|
+
train_emoji = lane_context[SharedValues::SLACK_TRAIN_EMOJI]
|
|
6
|
+
rail_emoji = lane_context[SharedValues::SLACK_TRAIN_RAIL]
|
|
6
7
|
total_distance = lane_context[SharedValues::SLACK_TRAIN_DISTANCE]
|
|
8
|
+
current_position = lane_context[SharedValues::SLACK_TRAIN_CURRENT_TRAIN_POSITION]
|
|
9
|
+
speed = lane_context[SharedValues::SLACK_TRAIN_DIRECTION]
|
|
10
|
+
return if total_distance.nil? # train hasn't started yet
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
UI.user_error!("train drove too far") if current_position < 0
|
|
13
|
+
UI.user_error!("train drove too far") if total_distance == current_position
|
|
9
14
|
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
before = rail_emoji * current_position
|
|
16
|
+
after = rail_emoji * (total_distance - current_position - 1)
|
|
17
|
+
lane_name = lane_context[SharedValues::LANE_NAME]
|
|
18
|
+
|
|
19
|
+
message = ["`#{lane_name}` ", before, train_emoji, after].join("")
|
|
20
|
+
other_action.slack(message: message,
|
|
21
|
+
default_payloads: [])
|
|
22
|
+
UI.message(message)
|
|
23
|
+
|
|
24
|
+
lane_context[SharedValues::SLACK_TRAIN_CURRENT_TRAIN_POSITION] += speed
|
|
12
25
|
end
|
|
13
26
|
|
|
14
27
|
def self.description
|
|
@@ -16,26 +29,15 @@ module Fastlane
|
|
|
16
29
|
end
|
|
17
30
|
|
|
18
31
|
def self.authors
|
|
19
|
-
["
|
|
32
|
+
["@KrauseFx"]
|
|
20
33
|
end
|
|
21
34
|
|
|
22
35
|
def self.return_value
|
|
23
|
-
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def self.details
|
|
27
|
-
# Optional:
|
|
28
|
-
"Nope"
|
|
36
|
+
"A string that is being sent to slack"
|
|
29
37
|
end
|
|
30
38
|
|
|
31
39
|
def self.available_options
|
|
32
|
-
[
|
|
33
|
-
FastlaneCore::ConfigItem.new(key: :train,
|
|
34
|
-
env_name: "SLACK_TRAIN_TRAIN",
|
|
35
|
-
description: "Train emoji",
|
|
36
|
-
default_value: "🚝",
|
|
37
|
-
type: String)
|
|
38
|
-
]
|
|
40
|
+
[]
|
|
39
41
|
end
|
|
40
42
|
|
|
41
43
|
def self.is_supported?(platform)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
module Fastlane
|
|
2
2
|
module Actions
|
|
3
|
-
module SharedValues
|
|
4
|
-
SLACK_TRAIN_DISTANCE = :SLACK_TRAIN_DISTANCE
|
|
5
|
-
end
|
|
6
|
-
|
|
7
3
|
class SlackTrainCrashAction < Action
|
|
8
4
|
def self.run(params)
|
|
9
|
-
|
|
5
|
+
total_distance = lane_context[SharedValues::SLACK_TRAIN_DISTANCE]
|
|
6
|
+
return if total_distance.nil? # train hasn't started yet
|
|
7
|
+
|
|
8
|
+
message = "💥" * total_distance
|
|
9
|
+
other_action.slack(message: message, success: false, default_payloads: [])
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def self.description
|
|
@@ -14,17 +14,7 @@ module Fastlane
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def self.authors
|
|
17
|
-
["
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def self.available_options
|
|
21
|
-
[
|
|
22
|
-
FastlaneCore::ConfigItem.new(key: :distance,
|
|
23
|
-
env_name: "SLACK_TRAIN_DISTANCE",
|
|
24
|
-
description: "How many rails do we need?",
|
|
25
|
-
default_value: 5,
|
|
26
|
-
type: Integer)
|
|
27
|
-
]
|
|
17
|
+
["@KrauseFx"]
|
|
28
18
|
end
|
|
29
19
|
|
|
30
20
|
def self.is_supported?(platform)
|
|
@@ -2,12 +2,19 @@ module Fastlane
|
|
|
2
2
|
module Actions
|
|
3
3
|
module SharedValues
|
|
4
4
|
SLACK_TRAIN_DISTANCE = :SLACK_TRAIN_DISTANCE
|
|
5
|
+
SLACK_TRAIN_EMOJI = :SLACK_TRAIN_EMOJI
|
|
6
|
+
SLACK_TRAIN_RAIL = :SLACK_TRAIN_RAIL
|
|
7
|
+
SLACK_TRAIN_CURRENT_TRAIN_POSITION = :SLACK_TRAIN_CURRENT_TRAIN_POSITION
|
|
8
|
+
SLACK_TRAIN_DIRECTION = :SLACK_TRAIN_DIRECTION
|
|
5
9
|
end
|
|
6
10
|
|
|
7
11
|
class SlackTrainStartAction < Action
|
|
8
12
|
def self.run(params)
|
|
9
|
-
# store the value somewhere
|
|
10
13
|
lane_context[SharedValues::SLACK_TRAIN_DISTANCE] = params[:distance]
|
|
14
|
+
lane_context[SharedValues::SLACK_TRAIN_EMOJI] = params[:train]
|
|
15
|
+
lane_context[SharedValues::SLACK_TRAIN_RAIL] = params[:rail]
|
|
16
|
+
lane_context[SharedValues::SLACK_TRAIN_DIRECTION] = params[:reverse_direction] ? 1 : -1
|
|
17
|
+
lane_context[SharedValues::SLACK_TRAIN_CURRENT_TRAIN_POSITION] = params[:reverse_direction] ? 0 : (params[:distance] - 1)
|
|
11
18
|
end
|
|
12
19
|
|
|
13
20
|
def self.description
|
|
@@ -15,7 +22,7 @@ module Fastlane
|
|
|
15
22
|
end
|
|
16
23
|
|
|
17
24
|
def self.authors
|
|
18
|
-
["
|
|
25
|
+
["@KrauseFx"]
|
|
19
26
|
end
|
|
20
27
|
|
|
21
28
|
def self.available_options
|
|
@@ -24,7 +31,22 @@ module Fastlane
|
|
|
24
31
|
env_name: "SLACK_TRAIN_DISTANCE",
|
|
25
32
|
description: "How many rails do we need?",
|
|
26
33
|
default_value: 5,
|
|
27
|
-
type: Integer)
|
|
34
|
+
type: Integer),
|
|
35
|
+
FastlaneCore::ConfigItem.new(key: :train,
|
|
36
|
+
env_name: "SLACK_TRAIN_TRAIN",
|
|
37
|
+
description: "Train emoji",
|
|
38
|
+
default_value: "🚝",
|
|
39
|
+
type: String),
|
|
40
|
+
FastlaneCore::ConfigItem.new(key: :rail,
|
|
41
|
+
env_name: "SLACK_TRAIN_RAIL",
|
|
42
|
+
description: "Character or emoji for the rail",
|
|
43
|
+
default_value: "=",
|
|
44
|
+
type: String),
|
|
45
|
+
FastlaneCore::ConfigItem.new(key: :reverse_direction,
|
|
46
|
+
env_name: "SLACK_TRAIN_REVERSE_DIRECTION",
|
|
47
|
+
description: "Pass true if you want the train to go from left to right",
|
|
48
|
+
default_value: false,
|
|
49
|
+
is_string: false)
|
|
28
50
|
]
|
|
29
51
|
end
|
|
30
52
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-slack_train
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Felix Krause
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-04-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pry
|
|
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
128
128
|
version: '0'
|
|
129
129
|
requirements: []
|
|
130
130
|
rubyforge_project:
|
|
131
|
-
rubygems_version: 2.
|
|
131
|
+
rubygems_version: 2.6.10
|
|
132
132
|
signing_key:
|
|
133
133
|
specification_version: 4
|
|
134
134
|
summary: Show a train of the fastlane progress
|