Class: Mushy::Times

Inherits:
Flux
  • Object
show all
Defined in:
lib/mushy/fluxs/times.rb

Instance Attribute Summary

Attributes inherited from Flux

#config, #flow, #id, #masher, #parent_fluxs, #subscribed_to, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Flux

#convert_this_to_an_array, #convert_to_symbolized_hash, #execute, #execute_single_event, #group_these_results, #guard, #ignore_these_results, inherited, #initialize, #join_these_results, #limit_these_results, #merge_these_results, #model_these_results, #outgoing_split_these_results, #shape_these, #sort_these_results, #standardize_these

Constructor Details

This class inherits a constructor from Mushy::Flux

Class Method Details

.detailsObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mushy/fluxs/times.rb', line 5

def self.details
  {
    name: 'Times',
    title: 'Repeat an event X times',
    description: 'Return the event passed to it, X times.',
    fluxGroup: { name: 'Flows' },
    config: {
      times: {
               description: 'The number of times this event should be returned.',
               type:        'integer',
               value:       '1',
             },
    },
    examples: {
      "Basic Example" => {
                           input: {name: "Elephant"},
                           config: {times: 2},
                           result: [ { name: "Elephant", index: 0 }, { name: "Elephant", index: 1 } ],
                          }
    }
  }
end

Instance Method Details

#process(event, config) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/mushy/fluxs/times.rb', line 28

def process event, config
  config[:times]
    .to_i
    .times
    .each_with_index
    .map { |x, i| event.dup.tap { |e| e[:index] = i } }
end