Module: CubaApi::WriteAspect

Defined in:
lib/cuba_api/write_aspect.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

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



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

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