Class: Mushy::ReadFile

Inherits:
Flux
  • Object
show all
Defined in:
lib/mushy/fluxs/read_file.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
27
28
# File 'lib/mushy/fluxs/read_file.rb', line 5

def self.details
  {
    name: 'ReadFile',
    description: 'Read a file.',
    config: {
      name: {
              description: 'The name of the file to read.',
              type:        'text',
              value:       'file.csv',
            },
      directory: {
              description: 'The directory in which to read the file. Leave blank for the current directory.',
              type:        'text',
              shrink:      true,
              value:       '',
            },
      path: {
              description: 'The path in the event to return the contents of the file.',
              type:        'text',
              value:       'content',
            },
    },
  }
end

Instance Method Details

#process(event, config) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/mushy/fluxs/read_file.rb', line 30

def process event, config
  file = config[:name]

  file = File.join(config[:directory], file) if config[:directory].to_s != ''

  content = File.open(file).read

  {
    config[:path] => content
  }
end