Sha256: 4379090d7f807f7a2c45bc03c59cc465aefb484127436b4d4506ec706491b1c9
Contents?: true
Size: 564 Bytes
Versions: 1
Compression:
Stored size: 564 Bytes
Contents
module Guise module Introspection def has_role?(name) name = name.to_s.classify if !self.class.guises.include?(name) raise NameError, "no such guise #{name}" end guises.map(&guise_attribute).include?(name) end def has_any_roles?(*names) names.map(&method(:has_role?)).any? end def has_roles?(*names) names.map(&method(:has_role?)).all? end protected def guise_attribute self.class.guise_attribute end def guise_table self.class.guise_table end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
guise-0.2.3 | lib/guise/introspection.rb |