Method: Dao::Api#mode

Defined in:
lib/dao/api/modes.rb

#mode(*args, &block) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/dao/api/modes.rb', line 60

def mode(*args, &block)
  @mode ||= Mode.default

  if args.empty? and block.nil?
    @mode
  else
    if block
      mode = self.mode
      self.mode = args.shift
      begin
        return(instance_eval(&block))
      ensure
        self.mode = mode
      end
    else
      self.mode = args.shift
      return(self)
    end
  end
end