mushy 0.17.0 → 0.18.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/lib/mushy/builder/api.rb +11 -1
- data/lib/mushy/fluxs/twilio_message.rb +112 -0
- data/mushy.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88a3578100f93b47791d83299597e4b6a1d1ccabfaa8628eb5172617facf9b95
|
4
|
+
data.tar.gz: fa722d8dd776c1e311bea24ad94303785fd93ccc16eeebcd93783f9d25c3e0f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4eafe788eccb281c1e15bdc0cfae4dca68f1146894a7d28569347673f28ef265b5b8aa90f7fb6c21245e1ba15fceac2f2677420cc643dd535c8cd54062c7642d
|
7
|
+
data.tar.gz: 2568f50f7cdf5569605d89fe7e088036d48f106d10f2b45c2b29a25038f145d29bb2566f9d7271f642b11307cb5e9259e72ac4fb1f1b3826178e977532e7c8b3
|
data/lib/mushy/builder/api.rb
CHANGED
@@ -31,7 +31,17 @@ module Mushy
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def self.start file, event
|
34
|
-
|
34
|
+
original_file = file
|
35
|
+
file = [file, "#{Dir.home}/.mushy/#{file}"]
|
36
|
+
.map { |x| (x.downcase.end_with?('.mushy') ? x : "#{x}.mushy") }
|
37
|
+
.select { |x| File.exist?(x) }
|
38
|
+
.first
|
39
|
+
|
40
|
+
unless file
|
41
|
+
puts "#{original_file} does not exist."
|
42
|
+
return
|
43
|
+
end
|
44
|
+
|
35
45
|
flow = File.open(file).read
|
36
46
|
flow = Mushy::Flow.parse flow
|
37
47
|
|
@@ -0,0 +1,112 @@
|
|
1
|
+
module Mushy
|
2
|
+
|
3
|
+
class TwilioMessage < Bash
|
4
|
+
|
5
|
+
def self.details
|
6
|
+
{
|
7
|
+
name: 'TwilioMessage',
|
8
|
+
title: 'Twilio Message',
|
9
|
+
description: 'Send a Twilio Message.',
|
10
|
+
config: {
|
11
|
+
account_sid: {
|
12
|
+
description: 'Your Twilio Account SID.',
|
13
|
+
type: 'text',
|
14
|
+
value: '{{twilio_account_sid}}',
|
15
|
+
},
|
16
|
+
auth_token: {
|
17
|
+
description: 'Your Twilio Auth Token.',
|
18
|
+
type: 'text',
|
19
|
+
value: '{{twilio_auth_token}}',
|
20
|
+
},
|
21
|
+
from: {
|
22
|
+
description: 'The phone number from which the message will be sent.',
|
23
|
+
type: 'text',
|
24
|
+
value: '+1{{from}}',
|
25
|
+
},
|
26
|
+
to: {
|
27
|
+
description: 'The phone number to which the message will be sent.',
|
28
|
+
type: 'text',
|
29
|
+
value: '+1{{to}}',
|
30
|
+
},
|
31
|
+
body: {
|
32
|
+
description: 'The content of the message.',
|
33
|
+
type: 'text',
|
34
|
+
value: '{{body}}',
|
35
|
+
},
|
36
|
+
media_url: {
|
37
|
+
description: 'A URL to a file that can be included with the text message, like https://.../your_file.png.',
|
38
|
+
type: 'text',
|
39
|
+
value: '',
|
40
|
+
shrink: true,
|
41
|
+
},
|
42
|
+
},
|
43
|
+
examples: {
|
44
|
+
"Basic Example" => {
|
45
|
+
description: "This is what a basic text message.",
|
46
|
+
input: { message: "Hello World!" },
|
47
|
+
config: {
|
48
|
+
account_sid: 'Your Twilio Account SID',
|
49
|
+
auth_token: 'Your Twilio Auth Token',
|
50
|
+
from: '+15555555555',
|
51
|
+
to: '+14444444444',
|
52
|
+
body: '{{message}}',
|
53
|
+
},
|
54
|
+
result: {
|
55
|
+
sid: "the sid",
|
56
|
+
date_created: "Sun, 10 Oct 2021 20:16:48 +0000",
|
57
|
+
date_updated: "Sun, 10 Oct 2021 20:16:48 +0000",
|
58
|
+
date_sent: nil,
|
59
|
+
account_sid: "account sid",
|
60
|
+
to: "+15555555555",
|
61
|
+
from: "+14444444444",
|
62
|
+
messaging_service_sid: nil,
|
63
|
+
body: "Hello World!",
|
64
|
+
status: "queued",
|
65
|
+
num_segments: "1",
|
66
|
+
num_media: "0",
|
67
|
+
direction: "outbound-api",
|
68
|
+
api_version: "2010-04-01",
|
69
|
+
price: nil,
|
70
|
+
price_unit: "USD",
|
71
|
+
error_code: nil,
|
72
|
+
error_message: nil,
|
73
|
+
uri: "/2010-04-01/Accounts/ABC/Messages/DEF.json",
|
74
|
+
subresource_uris: {
|
75
|
+
media: "/2010-04-01/Accounts/ABC/Messages/DEF/Media.json"
|
76
|
+
}
|
77
|
+
}
|
78
|
+
},
|
79
|
+
"A Failed Call" => {
|
80
|
+
description: "This is what a failed call may look like.",
|
81
|
+
result: {
|
82
|
+
code: 20003,
|
83
|
+
detail: "Your AccountSid or AuthToken was incorrect.",
|
84
|
+
message: "Authentication Error - invalid username",
|
85
|
+
more_info: "https://www.twilio.com/docs/errors/20003",
|
86
|
+
status: 401
|
87
|
+
}
|
88
|
+
},
|
89
|
+
},
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
def process event, config
|
94
|
+
arguments = {
|
95
|
+
from: "From",
|
96
|
+
to: "To",
|
97
|
+
body: "Body",
|
98
|
+
media_url: "MediaUrl",
|
99
|
+
}.select { |x| config[x].to_s != "" }
|
100
|
+
.map { |x| [x[1], config[x[0]].to_s.gsub('"', '\\"')] }
|
101
|
+
.reduce("") { |t, i| "#{t} --data-urlencode \"#{i[0]}=#{i[1]}\"" }
|
102
|
+
|
103
|
+
config[:command] = "curl -X POST https://api.twilio.com/2010-04-01/Accounts/#{config[:account_sid]}/Messages.json -u #{config[:account_sid]}:#{config[:auth_token]} #{arguments}"
|
104
|
+
|
105
|
+
result = super event, config
|
106
|
+
|
107
|
+
JSON.parse result[:text]
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
data/mushy.gemspec
CHANGED
@@ -4,7 +4,7 @@ require 'mushy/version'
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'mushy'
|
7
|
-
s.version = '0.
|
7
|
+
s.version = '0.18.0'
|
8
8
|
s.date = '2020-11-23'
|
9
9
|
s.summary = 'Process streams of work using common modules.'
|
10
10
|
s.description = 'This tool assists in the creation and processing of workflows.'
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mushy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Cauthon
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-11-23 00:00:00.000000000 Z
|
@@ -212,6 +212,7 @@ files:
|
|
212
212
|
- lib/mushy/fluxs/smtp.rb
|
213
213
|
- lib/mushy/fluxs/stdout.rb
|
214
214
|
- lib/mushy/fluxs/times.rb
|
215
|
+
- lib/mushy/fluxs/twilio_message.rb
|
215
216
|
- lib/mushy/fluxs/write_file.rb
|
216
217
|
- lib/mushy/fluxs/write_json.rb
|
217
218
|
- lib/mushy/masher.rb
|
@@ -225,7 +226,7 @@ homepage: https://cauthon.com
|
|
225
226
|
licenses:
|
226
227
|
- MIT
|
227
228
|
metadata: {}
|
228
|
-
post_install_message:
|
229
|
+
post_install_message:
|
229
230
|
rdoc_options: []
|
230
231
|
require_paths:
|
231
232
|
- lib
|
@@ -240,9 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
240
241
|
- !ruby/object:Gem::Version
|
241
242
|
version: '0'
|
242
243
|
requirements: []
|
243
|
-
|
244
|
-
|
245
|
-
signing_key:
|
244
|
+
rubygems_version: 3.2.15
|
245
|
+
signing_key:
|
246
246
|
specification_version: 4
|
247
247
|
summary: Process streams of work using common modules.
|
248
248
|
test_files: []
|