Sha256: fc529a40ce6b54f23b8bc5817a834c4e5bbc9d01f0af9a48ee4dc7d58ea5bbd7

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

module Headmin
  module Form
    class Base
      def initialize(local_assigns)
        @local_assigns = local_assigns
      end

      def class_names
        class_names = [@local_assigns[:class]]
        class_names << "form-floating" if float
        class_names << "mb-3 text-start"
        class_names.join(" ")
      end

      def data
        @local_assigns[:data]
      end

      def label_options
        {
          attribute: attribute,
          class: "d-block",
          for: id,
          form: form,
          required: required,
          text: label
        }
      end

      def required
        @local_assigns[:required]
      end

      def form
        @local_assigns[:form]
      end

      def id
        @local_assigns[:id]
      end

      def validation_options
        {
          attribute: attribute,
          form: form
        }
      end

      def attribute
        @local_assigns[:attribute]
      end

      def list
        @local_assigns[:list]
      end

      def list_id
        list ? "#{attribute}_list" : nil
      end

      def append
        @local_assigns[:append]

      end

      def prepend
        @local_assigns[:prepend]
      end

      def float
        @local_assigns[:float] || false
      end

      def label
        @local_assigns[:label]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
headmin-0.3.2 app/models/headmin/form/base.rb
headmin-0.3.1 app/models/headmin/form/base.rb