module Hobby::JSON::Keys

Public Class Methods

included(app) click to toggle source
# File lib/hobby/json/keys.rb, line 33
def self.included app
  app.include JSON
  app.extend Singleton

  %i[
    String
    Array
    Hash
  ].each do |symbol|
    app.type symbol do
      is_a Object.const_get symbol
      is_not_empty
    end
  end
end

Public Instance Methods

keys() click to toggle source
# File lib/hobby/json/keys.rb, line 49
def keys
  @keys ||= begin
              self.class.keys
                .transform_values { |parser| parser[json] }
                .compact
            rescue
              response.status = 400
              halt
            end
end