Sha256: 134da96bf42da060b7b7bf244740db84810682b07bdee2d1a0fd22cf155c009c
Contents?: true
Size: 622 Bytes
Versions: 4
Compression:
Stored size: 622 Bytes
Contents
module Alf module Types class Selection extend Domain::Reuse.new(Object) coercions do |c| c.coercion(Symbol){|x,_| new(x) } c.coercion(String){|x,_| new(x.to_sym) } c.coercion(Array){|x,_| Selection.new(x.map{|y| Selector.coerce(y) }) } end def select(tuple) return tuple[reused_instance] unless reused_instance.is_a?(Array) reused_instance.map{|s| s.select(tuple) } end def to_s reused_instance.to_s end end # class Selection end # module Types end # module Alf
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
alf-core-0.16.3 | lib/alf/types/selection.rb |
alf-core-0.16.2 | lib/alf/types/selection.rb |
alf-core-0.16.1 | lib/alf/types/selection.rb |
alf-core-0.16.0 | lib/alf/types/selection.rb |