class ROM::SQL::TypeDSL
Type DSL
used by Types.define
method
@api public
Attributes
definition[R]
input_constructor[R]
output_constructor[R]
Public Class Methods
new(value_type)
click to toggle source
@api private
# File lib/rom/sql/type_dsl.rb, line 12 def initialize(value_type) if value_type.class < ::Dry::Types::Type @definition = value_type else @definition = ::ROM::SQL::Types.Nominal(value_type) end end
Public Instance Methods
call(&block)
click to toggle source
@api private
# File lib/rom/sql/type_dsl.rb, line 21 def call(&block) instance_exec(&block) definition.constructor(input_constructor) .meta(read: definition.constructor(output_constructor)) end
input(&block)
click to toggle source
@api private
# File lib/rom/sql/type_dsl.rb, line 29 def input(&block) @input_constructor = block end
output(&block)
click to toggle source
@api private
# File lib/rom/sql/type_dsl.rb, line 34 def output(&block) @output_constructor = block end