class Reply

Constants

SIMPLE_STATUSES
SIMPLE_STATUS_ERROR
SIMPLE_STATUS_SUCCESS
SIMPLE_STATUS_WARNING

Attributes

data[RW]

simple_status either 0, 1, 2 status can be any code e.g. 200, 401

messages[R]
simple_status[R]
status[RW]

simple_status either 0, 1, 2 status can be any code e.g. 200, 401

Public Class Methods

new(params={}) click to toggle source
# File lib/reply/reply.rb, line 12
def initialize(params={})
  @messages = params[:messages] || []
  @data = params[:data] || {}
  @status = params[:status] || nil
  @simple_status = params[:simple_status] || SIMPLE_STATUS_SUCCESS
end

Public Instance Methods

add_error(array_or_str)
Alias for: add_errors
add_errors(array_or_str) click to toggle source
# File lib/reply/reply.rb, line 47
def add_errors(array_or_str)
  add_messages(array_or_str)
  mark_as_error
end
Also aliased as: add_error
add_message(array_or_str)
Alias for: add_messages
add_messages(array_or_str) click to toggle source
# File lib/reply/reply.rb, line 32
def add_messages(array_or_str)
  array = wrap_arr(array_or_str)
  @messages = @messages | array
end
Also aliased as: add_message
clear_messages() click to toggle source
# File lib/reply/reply.rb, line 28
def clear_messages
  @messages.clear
end
error!(msg=nil)
Alias for: mark_as_error
error?() click to toggle source
# File lib/reply/reply.rb, line 84
def error?
  @simple_status == SIMPLE_STATUS_ERROR
end
Also aliased as: failure?
fail!(msg=nil)
Alias for: mark_as_error
failure?()
Alias for: error?
mark_as_error(msg=nil) click to toggle source
# File lib/reply/reply.rb, line 60
def mark_as_error(msg=nil)
  @simple_status = SIMPLE_STATUS_ERROR
  add_errors(msg) if msg
  self
end
Also aliased as: error!, fail!
mark_as_success(msg=nil) click to toggle source
# File lib/reply/reply.rb, line 53
def mark_as_success(msg=nil)
  @simple_status = SIMPLE_STATUS_SUCCESS
  add_messages(msg) if msg
  self
end
Also aliased as: success!
mark_as_warning(msg=nil) click to toggle source
# File lib/reply/reply.rb, line 68
def mark_as_warning(msg=nil)
  @simple_status = SIMPLE_STATUS_WARNING
  add_messages(msg) if msg
  self
end
Also aliased as: warning!
replace_messages(array_or_str) click to toggle source
# File lib/reply/reply.rb, line 38
def replace_messages(array_or_str)
  array = wrap_arr(array_or_str)
  @messages = array
end
replace_messages_with_errors_for(object) click to toggle source
# File lib/reply/reply.rb, line 43
def replace_messages_with_errors_for(object)
  @messages = object.errors.full_messages
end
simple_status=(s) click to toggle source
# File lib/reply/reply.rb, line 19
def simple_status=(s)
  raise(ArgumentError) unless SIMPLE_STATUSES.include?(s)
  @simple_status = s
end
success!(msg=nil)
Alias for: mark_as_success
success?() click to toggle source
# File lib/reply/reply.rb, line 79
def success?
  @simple_status == SIMPLE_STATUS_SUCCESS
end
Also aliased as: successful?
successful?()
Alias for: success?
warning!(msg=nil)
Alias for: mark_as_warning
warning?() click to toggle source
# File lib/reply/reply.rb, line 89
def warning?
  @simple_status == SIMPLE_STATUS_WARNING
end

Private Instance Methods

wrap_arr(object) click to toggle source

Wraps the object in an Array unless it’s an Array. Converts the object to an Array using to_ary if it implements that.

# File lib/reply/reply.rb, line 97
def wrap_arr(object)
  case object
  when nil
    []
  when Array
    object
  else
    if object.respond_to?(:to_ary)
      object.to_ary
    else
      [object]
    end
  end
end