lib/speculation/spec_impl/spec.rb in speculation-0.1.0 vs lib/speculation/spec_impl/spec.rb in speculation-0.2.0
- old
+ new
@@ -1,12 +1,10 @@
# frozen_string_literal: true
module Speculation
- using Speculation::NamespacedSymbols.refine(self)
- using Conj
-
# @private
class Spec < SpecImpl
+ include NamespacedSymbols
S = Speculation
def initialize(predicate, should_conform)
@predicate = predicate
@should_conform = should_conform
@@ -20,16 +18,16 @@
end
if @should_conform
ret
else
- ret ? value : :invalid.ns
+ ret ? value : ns(S, :invalid)
end
end
def explain(path, via, inn, value)
if S.invalid?(S.dt(@predicate, value))
- [{ :path => path, :val => value, :via => via, :in => inn, :pred => @predicate }]
+ [{ :path => path, :val => value, :via => via, :in => inn, :pred => [@predicate, [value]] }]
end
end
def gen(_, _, _)
if @gen