Sha256: b34b7653961ac03916ced0f1988d21051d80d98a98930e4631533da5f1ea386c

Contents?: true

Size: 745 Bytes

Versions: 1

Compression:

Stored size: 745 Bytes

Contents

module Crowdskout
  module Components
    class FieldOptions < Component
      attr_accessor :id, :collection, :options

      def self.create(props)
        obj = FieldOptions.new
        if props
          props.each do |key, value|
            if key.downcase == 'options'
              if value
                obj.options = []
                value.each do |option|
                  obj.options << Components::Option.create(option)
                end
              end
            else
              obj.send("#{key}=", value) if obj.respond_to? key
            end
          end
        end
        obj
      end

      def add_options(option)
        @options = [] if @options.nil?
        @options << option
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
crowdskout-0.0.4 lib/crowdskout/components/fields/field_options.rb