Sha256: d35c7e278f11128191b0ab3dc74daa69d24d57634faf33ab02fc7f1ef71f5314

Contents?: true

Size: 1.46 KB

Versions: 12

Compression:

Stored size: 1.46 KB

Contents

module Ecoportal
  module API
    class V2
      class Page
        class Component
          class TagField < Page::Component
            passboolean :single_select, :use_defaults
            passthrough :tag_tree_id, :button_text

            # Quick config helper
            # @param conf [Symbol, Array<Symbol>]
            #   - `:multiple` to allow multiple selection
            #   - `:single` to set to singular selection
            #   - `:default_tag` to prepopulate using users's `default_tag`
            #   - `:button_text` to define the button description
            def configure(*conf)
              conf.each_with_object([]) do |cnf, unused|
                case cnf
                when :single
                  self.single_select = true
                when :multiple
                  self.single_select = false
                when :default_tag
                  self.use_defaults = true
                when Hash
                  supported = [:button_text]
                  unless (rest = hash_except(cnf.dup, *supported)).empty?
                    unused.push(rest)
                  end
                  if cnf.key?(:button_text) then self.button_text = cnf[:button_text] end
                else
                  unused.push(cnf)
                end
              end.yield_self do |unused|
                super(*unused)
              end
            end

          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ecoportal-api-v2-0.8.20 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.19 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.18 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.17 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.16 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.15 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.14 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.13 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.12 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.11 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.10 lib/ecoportal/api/v2/page/component/tag_field.rb
ecoportal-api-v2-0.8.9 lib/ecoportal/api/v2/page/component/tag_field.rb