Sha256: c2728f266162590ad93e05ede7d22eb34b600c0db43067672eeb0d5ec8762c8a
Contents?: true
Size: 929 Bytes
Versions: 6
Compression:
Stored size: 929 Bytes
Contents
module Alf module Types class Keys extend Domain::Reuse.new(Array) include Support::OrderedSet coercions do |c| c.coercion(Array){|v,_| Keys.new(v.map{|e| AttrList.coerce(e)}) } end def self.[](*args); coerce(args); end def if_empty(keys = nil, &bl) return self unless empty? Keys.coerce(keys || bl.call) end def project(attributes, allbut = false) map{|k| k.project(attributes, allbut) } end def rename(renaming) renaming = Renaming.coerce(renaming) map{|k| renaming.rename_attr_list(k) } end def to_ruby_literal "Alf::Keys[" << reused_instance.map{|k| Support.to_ruby_literal(k.to_a) }.join(',') << "]" end alias_method :to_s, :to_ruby_literal alias_method :inspect, :to_ruby_literal EMPTY = Keys.new([]) end # class Keys end # module Types end # module Alf
Version data entries
6 entries across 6 versions & 1 rubygems