Sha256: ba914405b269274ff0a6eb54de907d604b0706455a73ae6a423a0a823213e1ae

Contents?: true

Size: 605 Bytes

Versions: 10

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true

module Lifeform
  module Libraries
    class Default
      FORM_TAG = :form

      # @param form [LifeForm::Form]
      # @param field_definition [LifeForm::FieldDefinition]
      # @param attributes [Hash]
      # @return [Input]
      def self.object_for_field_definition(form, field_definition, attributes)
        type_classname = field_definition[:type].to_s.classify
        if const_defined?(type_classname)
          const_get(type_classname)
        else
          const_get(:Input)
        end.new(form, field_definition, **attributes)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lifeform-0.11.0 lib/lifeform/libraries/default.rb
lifeform-0.10.0 lib/lifeform/libraries/default.rb
lifeform-0.9.0 lib/lifeform/libraries/default.rb
lifeform-0.8.0 lib/lifeform/libraries/default.rb
lifeform-0.7 lib/lifeform/libraries/default.rb
lifeform-0.5 lib/lifeform/libraries/default.rb
lifeform-0.4.1 lib/lifeform/libraries/default.rb
lifeform-0.4.0 lib/lifeform/libraries/default.rb
lifeform-0.3.0 lib/lifeform/libraries/default.rb
lifeform-0.2.0 lib/lifeform/libraries/default.rb