Sha256: afcd0f4ca8f76a878b67d63d718f1b3a84ea9b173962fc85de4e7ca2afdc7d4d

Contents?: true

Size: 931 Bytes

Versions: 1

Compression:

Stored size: 931 Bytes

Contents

require 'intercom/service/base_service'
require 'intercom/api_operations/save'
require 'intercom/api_operations/list'
require 'intercom/api_operations/find'
require 'intercom/api_operations/find_all'

module Intercom
  module Service
    class Tag < BaseService
      include ApiOperations::Save
      include ApiOperations::List
      include ApiOperations::Find
      include ApiOperations::FindAll
      include ApiOperations::Delete

      def collection_class
        Intercom::Tag
      end

      def tag(params)
        params['tag_or_untag'] = 'tag'
        create(params)
      end

      def untag(params)
        params['tag_or_untag'] = 'untag'
        users_or_companies(params).each do |user_or_company|
          user_or_company[:untag] = true
        end
        create(params)
      end

      private

      def users_or_companies(params)
        params[:users] || params[:companies]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
intercom-3.4.0 lib/intercom/service/tag.rb