Module: Familia::Status

Defined in:
lib/familia/helpers.rb

Class Method Summary collapse

Class Method Details

.included(obj) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/familia/helpers.rb', line 44

def self.included(obj)
  obj.module_eval do
    field :status
    field :message
    def  failure?()        status? 'failure'       end
    def  success?()        status? 'success'       end
    def  pending?()        status? 'pending'       end
    def  expired?()        status? 'expired'       end
    def disabled?()        status? 'disabled'      end
    def  failure!(msg=nil) status! 'failure',  msg end
    def  success!(msg=nil) status! 'success',  msg end
    def  pending!(msg=nil) status! 'pending',  msg end
    def  expired!(msg=nil) status! 'expired',  msg end
    def disabled!(msg=nil) status! 'disabled', msg end
    private
    def status?(s)
      status.to_s == s.to_s
    end
    def status!(s, msg=nil)
      @updated = Time.now.utc.to_f
      @status, @message = s, msg
      save if respond_to? :save
    end
  end
end