Sha256: bb392d5a8aff0aa15ab58fdef782b9ee28bb0ea7b07567abd2697632469e4fa8

Contents?: true

Size: 811 Bytes

Versions: 6

Compression:

Stored size: 811 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::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

6 entries across 6 versions & 1 rubygems

Version Path
ariadne_view_components-0.0.75 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.74.1 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.74 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.73 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.72 lib/ariadne/forms/dsl/form_object.rb
ariadne_view_components-0.0.71 lib/ariadne/forms/dsl/form_object.rb