Sha256: 87039452a5509e92cf8d5db49b6453b833c27ea53451a266fdb30ac7565694d7
Contents?: true
Size: 681 Bytes
Versions: 35
Compression:
Stored size: 681 Bytes
Contents
class Enum class Term def initialize(scope, term) @term = term @scope = scope end def id @term end def to_label I18n.t(@term, :scope => @scope, :default => @term.to_s.humanize) end end attr_reader :terms def initialize(scope, *keys) @keys = [keys].flatten @keys_to_terms = {} @terms = @keys.map do |key| t = Term.new(scope, key.to_s) @keys_to_terms[key.to_s] = t t end end def keys @keys end def to_a keys end def get_term(key) @keys_to_terms[key.to_s] end def to_options terms.map {|t| [t.to_label,t.id] } end end
Version data entries
35 entries across 35 versions & 1 rubygems