Module: OutPut

Defined in:
lib/out_put.rb,
lib/out_put/config.rb,
lib/out_put/version.rb

Defined Under Namespace

Classes: Config

Constant Summary collapse

VERSION =
'2.1.1'

Instance Method Summary collapse

Instance Method Details

#output(code = 0, msg = '', only: nil, http: 200, **data) ⇒ Object Also known as: ok, ok_with, error, error_with



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/out_put.rb', line 5

def output(code = 0, msg = '', only: nil, http: 200, **data)
  if !code.is_a?(Integer) && code.respond_to?(:info)
    code, msg, http, only = code.info.slice(:code, :msg, :http, :only).values
  end

  return render json: only, status: http if only.present?

  code = code.zero? ? 0 : Config.project_code + code
  msg = 'success' if msg.blank? && code.zero?
  render json: {
      result: { code: code, message: msg },
      data: output_data(data)
  }, status: http
end

#output_data(data) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/out_put.rb', line 25

def output_data(data)
  if data.key?(Config.pagination_for)
    data.merge!(total: data[Config.pagination_for].size)
  end

  data
end