class Coupdoeil::Hovercard::Option::Placement
def parse(value)
def parse(value) values = value.to_s.split(",") 4.times.sum do |index| next 0 unless (placement = values[index]) placement.strip! placement_index = INDEX_BY_VALUES[placement] placement_index << (index * 4) end end
def validate!
def validate! values = value.to_s.split(",") values.each do |placement_value| next if placement_value.strip.in?(VALUES) values_sentence = VALUES.to_sentence(last_word_connector: " or ") raise_invalid_option "Value must be one of: #{values_sentence}" end end