Module: Paperdrive::Client::Stages

Includes:
Parameters
Included in:
Paperdrive::Client
Defined in:
lib/paperdrive/client/stages.rb

Overview

Instance methods related to Stages to embed into Paperdrive::Client
arguments are compatible with the Pipedribe API.

Instance Method Summary collapse

Instance Method Details

#all_stages(**args) ⇒ Paperdrive::Response

GET

Get all stages



18
19
20
21
22
23
# File 'lib/paperdrive/client/stages.rb', line 18

def all_stages(**args)
  params = parameters(args) do
    optional_params :pipeline_id
  end
  request(:get, 'stages', params)
end

#create_stage(**args) ⇒ Paperdrive::Response

POST

Add a new stage



53
54
55
56
57
58
59
# File 'lib/paperdrive/client/stages.rb', line 53

def create_stage(**args)
  params = parameters(args) do
    required_params :name, :pipeline_id
    optional_params :name, :pipeline_id, :deal_probability, :rotten_flag, :rotten_days
  end
  request(:post, 'stages', params)
end

#delete_stage(id:, **args) ⇒ Paperdrive::Response

DELETE

Delete a stage



90
91
92
93
94
95
# File 'lib/paperdrive/client/stages.rb', line 90

def delete_stage(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:delete, "stages/#{id}", params)
end

#delete_stages(**args) ⇒ Paperdrive::Response

DELETE

Delete multiple stages in bulk



77
78
79
80
81
82
83
# File 'lib/paperdrive/client/stages.rb', line 77

def delete_stages(**args)
  params = parameters(args) do
    required_params :ids
    optional_params :ids
  end
  request(:delete, 'stages', params)
end

#stage(id:, **args) ⇒ Paperdrive::Response

GET

Get one stage



30
31
32
33
34
35
# File 'lib/paperdrive/client/stages.rb', line 30

def stage(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:get, "stages/#{id}", params)
end

#stage_deals(id:, **args) ⇒ Paperdrive::Response

GET

Get deals in a stage



42
43
44
45
46
47
# File 'lib/paperdrive/client/stages.rb', line 42

def stage_deals(id:, **args)
  params = parameters(args) do
    optional_params :filter_id, :user_id, :everyone, :start, :limit
  end
  request(:get, "stages/#{id}/deals", params)
end

#update_stage(id:, **args) ⇒ Paperdrive::Response

PUT

Update stage details



66
67
68
69
70
71
# File 'lib/paperdrive/client/stages.rb', line 66

def update_stage(id:, **args)
  params = parameters(args) do
    optional_params :name, :pipeline_id, :order_nr, :deal_probability, :rotten_flag, :rotten_days
  end
  request(:put, "stages/#{id}", params)
end