Class: Operaton::Bpm::Engine::Variable::FileValueBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/operaton/bpm/engine/variable/variables.rb

Overview

Mirrors org.operaton.bpm.engine.variable.value.builder.FileValueBuilder

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ FileValueBuilder

Returns a new instance of FileValueBuilder.



151
152
153
154
155
156
157
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 151

def initialize(filename)
  @filename = filename
  @bytes = nil
  @mime_type = nil
  @encoding = nil
  @is_transient = false
end

Instance Method Details

#createObject



187
188
189
190
191
192
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 187

def create
  value = FileValue.new(@filename, @bytes, @is_transient)
  value.mime_type = @mime_type
  value.encoding = @encoding
  value
end

#encoding(encoding) ⇒ Object



177
178
179
180
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 177

def encoding(encoding)
  @encoding = encoding
  self
end

#file(file) ⇒ Object

Accepts a byte string, an IO, or a file path.



160
161
162
163
164
165
166
167
168
169
170
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 160

def file(file)
  @bytes =
    if file.respond_to?(:read)
      file.read
    elsif file.is_a?(String) && !file.include?("\0") && ::File.file?(file)
      ::File.binread(file)
    else
      file
    end
  self
end

#mime_type(mime_type) ⇒ Object



172
173
174
175
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 172

def mime_type(mime_type)
  @mime_type = mime_type
  self
end

#set_transient(is_transient) ⇒ Object

rubocop:disable Naming/AccessorMethodName



182
183
184
185
# File 'lib/operaton/bpm/engine/variable/variables.rb', line 182

def set_transient(is_transient) # rubocop:disable Naming/AccessorMethodName
  @is_transient = is_transient
  self
end