Socket
Book a DemoInstallSign in
Socket

grape-formats

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grape-formats

0.0.1
bundlerRubygems
Version published
Maintainers
1
Created
Source

grape-formats

grape-formats is a very small extension to grape that provides endpoint parameter validation and type coercion for a range of well-known data formats.

To use these formats, all you need to do is pass the appropriate token as the type option for any endpoint parameter declared in the params block using requires or optional. See the usage examples below.

Date

Most of the standard string parsing functions available on the Date class are available in Grape::Formats::Dates. Any parameter value that doesn't match the expected format will cause a HTTP 400 error to be generated.

require 'grape'
require 'grape/formats/dates'

Dates = Grape::Formats::Dates

class API < Grape::API
  resource :calendar do
    params do
      # Allows '2001-02-03', '20010203' ...
      requires :start, type: Dates::Iso8601

      # Allows 'H13.02.04' ...
      requires :finish, type: Dates::Jisx0301
    end
    get :agenda do
      params[:start] # => #<Date: 2001-02-03 ...>
      params[:finish] # => #<Date: 2001-02-04 ...>
      # ...
    end
  end
end

See lib/grape/formats/dates.rb for a full list of available formats.

DateTime

As with Grape::Formats::Dates, so too with Grape::Formats::DateTimes

require 'grape/formats/date_times'

DateTimes = Grape::Formats::DateTimes

# ...

params do
  requires :start, type: DateTimes::Iso8601
  requires :finish, type: DateTimes::Jisx0301
end

See lib/grape/formats/date_times.rb for available formats.

FAQs

Package last updated on 15 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.