38 lines
608 B
Ruby
Executable File
38 lines
608 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
|
|
# frozen_string_literal: true
|
|
|
|
require "bundler/setup"
|
|
|
|
require "pry"
|
|
require "dry/validation"
|
|
require "dry/types"
|
|
|
|
module Types
|
|
include Dry::Types()
|
|
end
|
|
|
|
class Context
|
|
def schema(&block)
|
|
Dry::Schema.define(&block)
|
|
end
|
|
|
|
def params(&block)
|
|
Dry::Schema.Params(&block)
|
|
end
|
|
|
|
def json(&block)
|
|
Dry::Schema.JSON(&block)
|
|
end
|
|
|
|
def contract(&block)
|
|
Dry::Validation::Contract.build(&block)
|
|
end
|
|
end
|
|
|
|
prompt = Pry::Prompt.new(
|
|
:dry_validation, "dry-validation", [proc { "dry-validation> " }, proc { "dry-validation*> " }]
|
|
)
|
|
|
|
Pry.start(Context.new, prompt: prompt)
|