Sha256: 89f04672a25eaf0d67cd97fdeacc9e3c313d410b128f79ab2ff4902f1e40f2e0

Contents?: true

Size: 1.33 KB

Versions: 10

Compression:

Stored size: 1.33 KB

Contents

module PortaText
  module Command
    module Api
      # The campaigns endpoint.
      # https://github.com/PortaText/docs/wiki/REST-API#api_campaigns
      #
      # Author::    Marcelo Gornstein (mailto:marcelog@portatext.com)
      # Copyright:: Copyright (c) 2015 PortaText
      # License::   Apache-2.0
      class Campaigns < Base
        def id(id)
          set :id, id
        end

        def name(name)
          set :name, name
        end

        def description(description)
          set :description, description
        end

        def from(from)
          set :from, from
        end

        def to_contact_lists(contact_lists)
          set :contact_list_ids, contact_lists
        end

        def csv(file)
          set :file, file
        end

        # rubocop:disable Metrics/MethodLength
        def endpoint(_method)
          unless @args[:file].nil?
            settings = @args.clone
            settings.delete :file
            settings = settings.to_json
            settings = URI.encode_www_form('settings' => settings)
            return "campaigns?#{settings}"
          end
          return 'campaigns' if @args[:id].nil?
          id = @args[:id]
          @args.delete :type
          @args.delete :id
          "campaigns/#{id}"
        end
        # rubocop:enable Metrics/MethodLength
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
portatext-1.3.1 lib/portatext/command/api/campaigns.rb
portatext-1.3.0 lib/portatext/command/api/campaigns.rb
portatext-1.2.0 lib/portatext/command/api/campaigns.rb
portatext-1.1.11 lib/portatext/command/api/campaigns.rb
portatext-1.1.10 lib/portatext/command/api/campaigns.rb
portatext-1.1.9 lib/portatext/command/api/campaigns.rb
portatext-1.1.8 lib/portatext/command/api/campaigns.rb
portatext-1.1.7 lib/portatext/command/api/campaigns.rb
portatext-1.1.6 lib/portatext/command/api/campaigns.rb
portatext-1.1.5 lib/portatext/command/api/campaigns.rb