Sha256: 23f70c87244a2f207fb5cb3f4627db00cda36d790242a145a77a87443bb8e118

Contents?: true

Size: 824 Bytes

Versions: 4

Compression:

Stored size: 824 Bytes

Contents

# frozen_string_literal: true

module Ariadne
  module Forms
    module Dsl
      # :nodoc:
      class FormObject
        include InputMethods

        attr_reader :builder, :form, :id

        def initialize(builder:, form:, id: ::Ariadne::ViewHelper.generate_id)
          @builder = builder
          @form = form
          @id = id

          yield(self) if block_given?
        end

        def group(**options, &block)
          add_input(InputGroup.new(builder: @builder, form: @form, **options, &block))
        end

        def button(**options, &block)
          add_input(ButtonInput.new(builder: @builder, form: @form, **options, &block))
        end

        def badge(**options, &block)
          add_input(Badge.new(builder: @builder, form: @form, **options, &block))
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ariadne_view_components-0.0.83.3 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.83.2 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.83.1 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.83 lib/ariadne/forms/dsl/form_object.rb