class ProgneTapera::EnumItem
Attributes
code[R]
name[R]
options[R]
Public Class Methods
new(code, name, options = {})
click to toggle source
code = HA (value) name = han options = { localized_name: '汉' } -> constant: HAN
# File lib/progne_tapera/enum_item.rb, line 16 def initialize(code, name, options = {}) raise ArgumentError.new('The code argument is required.') if code.blank? raise ArgumentError.new('The name argument is required.') if name.blank? @code = code @name = name @options = options @options.each do |key, value| EnumItem.class_eval do define_method(key.to_sym) do @options[key] #value end end end end
Public Instance Methods
<=>(that)
click to toggle source
根据 code
字段的值,比较大小。
# File lib/progne_tapera/enum_item.rb, line 43 def <=>(that) self.code<=>that.code end
==(that)
click to toggle source
判断两个枚举项的 code
字段是否相等。
# File lib/progne_tapera/enum_item.rb, line 37 def ==(that) self.code==that.code end
constant_name()
click to toggle source
# File lib/progne_tapera/enum_item.rb, line 47 def constant_name name.to_s.upcase end