Sha256: a108416d7cc0b6a8710eb97c9b0998db399e3c3ee21e08de85457bd75920761a

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require 'friendly_shipping/shipment_options'

module FriendlyShipping
  module Services
    class ShipEngine
      # Options for generating ShipEngine labels
      #
      # @attribute label_format [Symbol] The format for the label. Possible Values: :png, :zpl and :pdf. Default :pdf
      # @attribute label_download_type [Symbol] Whether to download directly (`:inline`) or
      #   obtain a URL to the label (`:url`). Default :url
      # @attribute label_image_id [String] Identifier for image uploaded to ShipEngine. Default: nil
      # @attribute package_options [Enumberable<LabelPackageOptions>] Package options for the packages in the shipment
      #
      class LabelOptions < FriendlyShipping::ShipmentOptions
        attr_reader :shipping_method,
                    :label_download_type,
                    :label_format,
                    :label_image_id

        def initialize(
          shipping_method:,
          label_download_type: :url,
          label_format: :pdf,
          label_image_id: nil,
          **kwargs
        )
          @shipping_method = shipping_method
          @label_download_type = label_download_type
          @label_format = label_format
          @label_image_id = label_image_id
          super(**kwargs.merge(package_options_class: LabelPackageOptions))
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
friendly_shipping-0.7.3 lib/friendly_shipping/services/ship_engine/label_options.rb
friendly_shipping-0.7.2 lib/friendly_shipping/services/ship_engine/label_options.rb