Sha256: 2f1f8aec19147fe0290a359a22202f0c0288dd1f1e0ae3d6600ad9968285520a

Contents?: true

Size: 1.56 KB

Versions: 7

Compression:

Stored size: 1.56 KB

Contents

module Spree
  module Admin
    module Actions
      class ActionBuilder
        include ::Spree::Admin::PermissionChecks

        def initialize(key, url)
          @key = key
          @label_translation_key = key
          @url = url
          @icon_key = nil
          @style = ::Spree::Admin::Actions::ActionStyle::LIGHT
          @availability_checks = []
          @classes = ''
          @method = nil
          @id = nil
          @target = nil
          @data_attributes = {}
        end

        def with_label_translation_key(key)
          @label_translation_key = key
          self
        end

        def with_icon_key(icon_key)
          @icon_key = icon_key
          self
        end

        def with_classes(classes)
          @classes = classes
          self
        end

        def with_style(style)
          @style = style
          self
        end

        def with_method(method)
          @method = method
          self
        end

        def with_id(id)
          @id = id
          self
        end

        def with_target(target)
          @target = target
          self
        end

        def with_data_attributes(data_attributes)
          @data_attributes = data_attributes
          self
        end

        def build
          Action.new(
            @key,
            @label_translation_key,
            @url,
            @icon_key,
            @style,
            @availability_checks,
            @classes,
            @method,
            @id,
            @target,
            @data_attributes
          )
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spree_backend-4.8.4 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.8.3 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.8.2 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.8.1 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.7.2 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.7.1 app/models/spree/admin/actions/action_builder.rb
spree_backend-4.7.0 app/models/spree/admin/actions/action_builder.rb