Class: Mushy::ReadFile
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
.details ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/mushy/fluxs/read_file.rb', line 5 def self.details { name: 'ReadFile', title: 'Read File', fluxGroup: { name: 'Files' }, description: 'Read a file.', config: { file: { description: '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: '', }, key: { description: 'The key in the resulting event to return the contents of the file.', type: 'text', value: 'content', }, }, examples: { "Example" => { description: 'Using this Flux to read the contents of a text file.', input: { file: "data.csv" }, config: { file: '{{file}}', key: 'csvdata' }, result: { csvdata: 'a,b,c\nd\n\e\f'} }, } } end |
Instance Method Details
#process(event, config) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/mushy/fluxs/read_file.rb', line 45 def process event, config file = config[:file] file = File.join(config[:directory], file) if config[:directory].to_s != '' content = File.open(file).read { config[:key] => content } end |