mushy 0.15.1 → 0.15.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mushy/builder/api.rb +37 -6
- data/lib/mushy/fluxs/stdout.rb +26 -0
- data/mushy.gemspec +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b743e14b0d41b727255550df74d33edc0c5eb33b4426e31d4eea41830aa167e
|
4
|
+
data.tar.gz: 26e61eb0310e6a512deca465c0bb375c94b28ce58a3ee296e677b60a4fea5fc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bcfe3677a5ca79b2e0249e1b03dec50bc2a019a06f8c61dcb0b4d6e76fc7f11f28f86f32c908d666ba163427a020630f43f73d0ad2c429a35a6f66bf047eab9
|
7
|
+
data.tar.gz: 421e40fea84d8ed8e18f0f60584d55b21bb540139c6e9c28cfcf5ce8770a3102e6a92d17efe4b44fae4706bc36b9e2d080b036ba9208162ac5efe60e3c04a657
|
data/lib/mushy/builder/api.rb
CHANGED
@@ -80,18 +80,49 @@ module Mushy
|
|
80
80
|
puts "trying to get: #{file}"
|
81
81
|
file = "#{file}.mushy" unless file.downcase.end_with?('.mushy')
|
82
82
|
data = JSON.parse File.open(file).read
|
83
|
-
|
83
|
+
|
84
|
+
data['fluxs'] = standardize_these data['fluxs']
|
85
|
+
data['fluxs'] = organize_as_a_flattened_tree_based_on_parents data['fluxs']
|
86
|
+
|
87
|
+
data
|
88
|
+
rescue
|
89
|
+
{ fluxs: [] }
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.standardize_these fluxs
|
93
|
+
fluxs
|
84
94
|
.reject { |x| x['parents'] }
|
85
95
|
.each { |x| x['parents'] = [x['parent']].select { |y| y } }
|
86
|
-
|
96
|
+
fluxs
|
87
97
|
.select { |x| x['parent'] }
|
88
98
|
.each { |x| x.delete 'parent' }
|
89
|
-
|
99
|
+
fluxs
|
90
100
|
.select { |x| x['parents'] }
|
91
101
|
.each { |x| x['parents'] = x['parents'].select { |y| y } }
|
92
|
-
|
93
|
-
|
94
|
-
|
102
|
+
|
103
|
+
fluxs
|
104
|
+
end
|
105
|
+
|
106
|
+
def self.organize_as_a_flattened_tree_based_on_parents fluxs
|
107
|
+
fluxs = fluxs.sort_by { |x| x['parents'].count }
|
108
|
+
|
109
|
+
new_fluxs = [fluxs.first]
|
110
|
+
|
111
|
+
loop do
|
112
|
+
|
113
|
+
next_fluxs = fluxs.select { |x| x['parents'].include? new_fluxs[-1]['id'] }
|
114
|
+
|
115
|
+
unless next_fluxs.any?
|
116
|
+
next_fluxs = [fluxs.reject { |x| new_fluxs.map { |y| y['id'] }.include?(x['id']) }[0]].select { |x| x }
|
117
|
+
end
|
118
|
+
|
119
|
+
new_fluxs = [new_fluxs, next_fluxs].flatten
|
120
|
+
|
121
|
+
break unless next_fluxs.any?
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
new_fluxs
|
95
126
|
end
|
96
127
|
|
97
128
|
def self.get_fluxs
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Mushy
|
2
|
+
|
3
|
+
class Stdout < Flux
|
4
|
+
|
5
|
+
def self.details
|
6
|
+
{
|
7
|
+
name: 'Stdout',
|
8
|
+
description: 'Standard Out',
|
9
|
+
config: {
|
10
|
+
message: {
|
11
|
+
description: 'The message to display.',
|
12
|
+
type: 'text',
|
13
|
+
value: '{{message}}',
|
14
|
+
},
|
15
|
+
},
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
def process event, config
|
20
|
+
puts config[:message]
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
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.15.
|
7
|
+
s.version = '0.15.3'
|
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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mushy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Cauthon
|
@@ -210,6 +210,7 @@ files:
|
|
210
210
|
- lib/mushy/fluxs/sense_hat_led_matrix.rb
|
211
211
|
- lib/mushy/fluxs/simple_python_program.rb
|
212
212
|
- lib/mushy/fluxs/smtp.rb
|
213
|
+
- lib/mushy/fluxs/stdout.rb
|
213
214
|
- lib/mushy/fluxs/times.rb
|
214
215
|
- lib/mushy/fluxs/write_file.rb
|
215
216
|
- lib/mushy/fluxs/write_json.rb
|