Sha256: be9e021a510778441ce15c401c354c1ec11fc28fa33b2b73fb684263584a1283
Contents?: true
Size: 886 Bytes
Versions: 6
Compression:
Stored size: 886 Bytes
Contents
module Formulaic module Inputs class ArrayInput < Input def initialize(label, value) @label = label @value = value end def fill attempt_to_fill_selects || attempt_to_fill_checkboxes || raise_input_error end private def attempt_to_fill_selects SelectInput.new(label, value).fill end def attempt_to_fill_checkboxes CheckboxInput.new(label, value).fill end def contains_all_options?(nodes) nodes.map(&:text).to_set.superset?(value.to_set) end def raise_input_error raise( InputNotFound, %[Unable to find checkboxes or select[multiple] "#{label}" containing all options #{value.inspect}.] ) end end end end require 'formulaic/inputs/checkbox_input' require 'formulaic/inputs/select_input'
Version data entries
6 entries across 6 versions & 1 rubygems