class Riddl::Parameter::Complex

Attributes

additional[R]
filename[R]
mimetype[R]
mimextra[R]
name[RW]
type[R]
value[R]

Public Class Methods

new(name,mimetype,file=nil,filename=nil,additional=[]) { |: file| ... } click to toggle source
# File lib/ruby/riddl/parameter.rb, line 32
def initialize(name,mimetype,file=nil,filename=nil,additional=[])
  @name = name
  @mimetype = mimetype.gsub(/(;.*)/,'')
  @mimextra = $1 || ''
  @filename = filename
  @type = :body
  @additional = additional

  @value = block_given? ? yield : file
  unless (@value && (@value.class == String || (file.respond_to?(:read) && file.respond_to?(:rewind))))
    raise "ERROR input is not a stream or string"
  end
end

Public Instance Methods

reopen() click to toggle source
# File lib/ruby/riddl/parameter.rb, line 45
def reopen
  if @value.class == File || @value.class == Riddl::Parameter::Tempfile
    pname = @value.path
    @value.close
    @value = File.open(pname,'r')
  end  
end
to_json(*) click to toggle source
# File lib/ruby/riddl/parameter.rb, line 29
def to_json(*)
  "{\"name\": \"#{@name}\", \"value\": \"#{@value}\"}"
end