lib/enum_ish/enum.rb in enum_ish-1.2.3 vs lib/enum_ish/enum.rb in enum_ish-1.3.0

- old
+ new

@@ -8,9 +8,26 @@ @name = name @mapping = init_mapping(mapping) @setting = init_setting(setting) end + def to_raw(value) + if value.is_a?(Array) + value.map { |v| @mapping.fetch(v, v) } + else + @mapping.fetch(value, value) + end + end + + def to_sym(value) + inverted = @mapping.invert + if value.is_a?(Array) + value.map { |v| inverted[v] } + else + inverted[value] + end + end + private def init_mapping(mapping) if mapping.is_a?(Array) mapping.map do |v|