Module: CubaApi::WriteAspect

Defined in:
lib/cuba_api/write_aspect.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#head(status) ⇒ Object



42
43
44
45
46
# File 'lib/cuba_api/write_aspect.rb', line 42

def head( status )
  res.status = Rack::Utils.status_code( status )
  res.write Rack::Utils::HTTP_STATUS_CODES[ res.status ]
  res['Content-Type' ] = 'text/plain'
end

#write(obj, options = {}) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/cuba_api/write_aspect.rb', line 48

def write( obj, options = {} )
  self.res.status = options[:status] || 200
  # make sure we inherit aspects and repsect the order
  aspects = self.class[ :aspects ] # == CubaAPI ? [] : self.class.superclass[ :aspects ]
  (aspects + self.class[ :aspects ]).uniq.each do |w|
    obj = send( w, obj, options ) if obj
  end
  res.write obj.to_s
end