class ClearLogic::Types
Attributes
klass[R]
prefix[R]
Public Class Methods
new(klass, prefix: nil)
click to toggle source
# File lib/clear_logic/types.rb, line 11 def initialize(klass, prefix: nil) @klass = klass @prefix = prefix end
register(*args)
click to toggle source
# File lib/clear_logic/types.rb, line 7 def self.register(*args) new(*args).register end
Public Instance Methods
define()
click to toggle source
# File lib/clear_logic/types.rb, line 20 def define Dry::Types::Nominal.new(klass).constrained(type: klass) end
klass_key()
click to toggle source
# File lib/clear_logic/types.rb, line 24 def klass_key [prefix, Dry::Inflector.new.underscore(klass.name).gsub('/', '.')].compact.join('.') end
register()
click to toggle source
# File lib/clear_logic/types.rb, line 16 def register Dry::Types.register(klass_key, define) end