Sha256: 10444d1e7cb57b817ff1bb3e43a65ba3661d5bc9c71dc2806d9e4dabb2cecb25
Contents?: true
Size: 693 Bytes
Versions: 4
Compression:
Stored size: 693 Bytes
Contents
require 'active_support/concern' module Guise module Introspection extend ActiveSupport::Concern def has_guise?(value) value = value.to_s.classify unless guise_options[:names].any? { |name| name == value } raise ArgumentError, "no such guise #{value}" end guises.any? { |guise| !guise.marked_for_destruction? && guise[guise_options[:attribute]] == value } end def has_any_guises?(*values) values.any? { |value| has_guise?(value) } end def has_guises?(*values) values.all? { |value| has_guise?(value) } end private def guise_options Guise.registry[self.class.table_name.classify] end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
guise-0.6.0 | lib/guise/introspection.rb |
guise-0.5.0 | lib/guise/introspection.rb |
guise-0.4.1 | lib/guise/introspection.rb |
guise-0.4.0 | lib/guise/introspection.rb |