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|