Class: Riddl::Parameter::Complex

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/riddl/parameter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, mimetype, file = nil, filename = nil, additional = []) ⇒ Complex

Returns a new instance of Complex.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ruby/riddl/parameter.rb', line 26

def initialize(name,mimetype,file=nil,filename=nil,additional=[])
  @name = name
  @mimetype = mimetype.gsub(/;.*/,'')
  @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

Instance Attribute Details

#additionalObject (readonly)

Returns the value of attribute additional.



24
25
26
# File 'lib/ruby/riddl/parameter.rb', line 24

def additional
  @additional
end

#filenameObject (readonly)

Returns the value of attribute filename.



24
25
26
# File 'lib/ruby/riddl/parameter.rb', line 24

def filename
  @filename
end

#mimetypeObject (readonly)

Returns the value of attribute mimetype.



24
25
26
# File 'lib/ruby/riddl/parameter.rb', line 24

def mimetype
  @mimetype
end

#nameObject

Returns the value of attribute name.



25
26
27
# File 'lib/ruby/riddl/parameter.rb', line 25

def name
  @name
end

#typeObject (readonly)

Returns the value of attribute type.



24
25
26
# File 'lib/ruby/riddl/parameter.rb', line 24

def type
  @type
end

#valueObject (readonly)

Returns the value of attribute value.



24
25
26
# File 'lib/ruby/riddl/parameter.rb', line 24

def value
  @value
end

Instance Method Details

#reopenObject



38
39
40
41
42
43
44
# File 'lib/ruby/riddl/parameter.rb', line 38

def reopen
  if @value.class == File || @value.class == Riddl::Parameter::Tempfile
    pname = @value.path
    @value.close
    @value = File.open(pname,'r')
  end  
end