Sha256: cc23ea230155b8881128856d36936cd5e5aeeb5fa710b265862c5b08489a1f35
Contents?: true
Size: 797 Bytes
Versions: 14
Compression:
Stored size: 797 Bytes
Contents
require 'trax/core/abstract_methods' class EnumValue include ::Trax::Core::AbstractMethods abstract_class_attribute :tag, :value def self.as_json(options={}) tag.to_s end def self.enum parent end def self.to_s tag.to_s end def self.to_sym tag end def self.to_i value end def self.is_enum_value?(val) val == parent end def self.to_schema ::Trax::Core::Definition.new( :source => self.name, :name => to_s, :type => :enum_value, :integer_value => to_i ) end def self.inspect ":#{tag}" end def self.include?(val) self.=== val end #maybe this is a bad idea, not entirely sure def self.==(val) self.=== val end def self.===(val) [tag, to_s, to_i].include?(val) end end
Version data entries
14 entries across 14 versions & 1 rubygems