Sha256: 4933475d30eec33b221e7847b97e5c282336b02f38c73343444c7573a1d6fa3a

Contents?: true

Size: 708 Bytes

Versions: 15

Compression:

Stored size: 708 Bytes

Contents

# frozen_string_literal: true

module Maglev
  module Content
    module Builder
      TYPES = {
        text: Maglev::Content::Text,
        image: Maglev::Content::Image,
        link: Maglev::Content::Link,
        checkbox: Maglev::Content::Checkbox,
        color: Maglev::Content::Color,
        select: Maglev::Content::Select,
        collection_item: Maglev::Content::CollectionItem,
        icon: Maglev::Content::Icon
      }.freeze

      def build(scope, content, setting)
        klass = TYPES[setting.type.to_sym]

        raise "[Maglev] Unknown setting type: #{setting.type}" unless klass

        klass.new(scope, content, setting)
      end

      module_function :build
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
maglevcms-1.2.2 app/components/maglev/content/builder.rb
maglevcms-1.2.1 app/components/maglev/content/builder.rb
maglevcms-1.2.0 app/components/maglev/content/builder.rb
maglevcms-1.1.7 app/components/maglev/content/builder.rb
maglevcms-1.1.6 app/components/maglev/content/builder.rb
maglevcms-1.1.5 app/components/maglev/content/builder.rb
maglevcms-1.1.4 app/components/maglev/content/builder.rb
maglevcms-1.1.3 app/components/maglev/content/builder.rb
maglevcms-1.1.2 app/components/maglev/content/builder.rb
maglevcms-1.1.1 app/components/maglev/content/builder.rb
maglevcms-1.1.0 app/components/maglev/content/builder.rb
maglevcms-1.0.0 app/components/maglev/content/builder.rb
maglevcms-1.0.0.rc3 app/components/maglev/content/builder.rb
maglevcms-1.0.0.rc2 app/components/maglev/content/builder.rb
maglevcms-1.0.0.rc1 app/components/maglev/content/builder.rb