Sha256: e24594ab48f7fcac2f03b21b14e11281984056d11eb28f82e4590a270c88bd47

Contents?: true

Size: 592 Bytes

Versions: 1

Compression:

Stored size: 592 Bytes

Contents

require 'json'

module Cuba
  class Ron
    # Sugar to do some common response tasks
    #
    # @example
    # on post, "users" do
    #   as 201 do
    #     "User successfully created!"
    #   end
    # end
    def as(http_code = 200, extra_headers = {})
      res.status = http_code
      res.headers.merge! extra_headers
      res.write yield if block_given?
    end

    def as_json(http_code = 200, extra_headers = {})
      extra_headers["Content-Type"] ||= "application/json"
      as(http_code, extra_headers) do
        (yield).to_json if block_given?
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cuba-sugar-0.1.1 lib/cuba/sugar.rb