Sha256: 5501c869ffb58eb40445583865e7d09a2ba736e4ded03647d9f0266512958976

Contents?: true

Size: 897 Bytes

Versions: 2

Compression:

Stored size: 897 Bytes

Contents

# frozen_string_literal: true

module DynamicScaffold
  module Form
    module Item
      class TwoOptions < Base
        def initialize(config, type, *args)
          name = args.shift
          # rubocop:disable Style/IdenticalConditionalBranches
          if args[args.length - 2].is_a?(Hash)
            html_attributes = args.extract_options!
            @options = args.extract_options!
          else
            html_attributes = {}
            @options = args.extract_options!
          end
          # rubocop:enable Style/IdenticalConditionalBranches

          @args = args
          super(config, type, name, html_attributes)
        end

        def render(view, form, classnames = nil)
          html_attributes = build_html_attributes(classnames)
          form.public_send(@type, @name, *build_args(view, @args), @options, html_attributes)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dynamic_scaffold-2.0.1 lib/dynamic_scaffold/form/item/two_options.rb
dynamic_scaffold-2.0.0 lib/dynamic_scaffold/form/item/two_options.rb