Class: BaseCRM::DealUnqualifiedReasonsService

Inherits:
Object
  • Object
show all
Defined in:
lib/basecrm/services/deal_unqualified_reasons_service.rb

Constant Summary collapse

OPTS_KEYS_TO_PERSIST =
Set[:name]

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ DealUnqualifiedReasonsService

Returns a new instance of DealUnqualifiedReasonsService.



7
8
9
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 7

def initialize(client)
  @client = client
end

Instance Method Details

#allEnumerable

Retrieve all deal unqualified reasons

get ‘/deal_unqualified_reasons’

If you want to use filtering or sorting (see #where).

Returns:

  • (Enumerable)

    Paginated resource you can use to iterate over all the resources.



17
18
19
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 17

def all
  PaginatedResource.new(self)
end

#create(deal_unqualified_reason) ⇒ DealUnqualifiedReason

Create a deal unqualified reason

post ‘/deal_unqualified_reasons’

Create a new deal unqualified reason <figure class=“notice”> Deal unqualified reason’s name must be unique </figure>

Parameters:

  • deal_unqualified_reason (DealUnqualifiedReason, Hash)

    Either object of the DealUnqualifiedReason type or Hash. This object’s attributes describe the object to be created.

Returns:



52
53
54
55
56
57
58
59
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 52

def create(deal_unqualified_reason)
  validate_type!(deal_unqualified_reason)

  attributes = sanitize(deal_unqualified_reason)
  _, _, root = @client.post("/deal_unqualified_reasons", attributes)

  DealUnqualifiedReason.new(root[:data])
end

#destroy(id) ⇒ Boolean

Delete a deal unqualified reason

delete ‘/deal_unqualified_reasons/BaseCRM#id

Delete an existing deal unqualified reason If the reason with supplied unique identifier does not exist it returns an error This operation cannot be undone

Parameters:

  • id (Integer)

    Unique identifier of a DealUnqualifiedReason

Returns:

  • (Boolean)

    Status of the operation.



112
113
114
115
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 112

def destroy(id)
  status, _, _ = @client.delete("/deal_unqualified_reasons/#{id}")
  status == 204
end

#find(id) ⇒ DealUnqualifiedReason

Retrieve a single deal unqualified reason

get ‘/deal_unqualified_reasons/BaseCRM#id

Returns a single deal unqualified reason available to the user by the provided id If a loss reason with the supplied unique identifier does not exist, it returns an error

Parameters:

  • id (Integer)

    Unique identifier of a DealUnqualifiedReason

Returns:



71
72
73
74
75
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 71

def find(id)
  _, _, root = @client.get("/deal_unqualified_reasons/#{id}")

  DealUnqualifiedReason.new(root[:data])
end

#update(deal_unqualified_reason) ⇒ DealUnqualifiedReason

Update a deal unqualified reason

put ‘/deal_unqualified_reasons/BaseCRM#id

Updates a deal unqualified reason information If the specified deal unqualified reason does not exist, the request will return an error <figure class=“notice”> If you want to update deal unqualified reason you must make sure name of the reason is unique </figure>

Parameters:

  • deal_unqualified_reason (DealUnqualifiedReason, Hash)

    Either object of the DealUnqualifiedReason type or Hash. This object’s attributes describe the object to be updated.

Returns:



90
91
92
93
94
95
96
97
98
99
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 90

def update(deal_unqualified_reason)
  validate_type!(deal_unqualified_reason)
  params = extract_params!(deal_unqualified_reason, :id)
  id = params[:id]

  attributes = sanitize(deal_unqualified_reason)
  _, _, root = @client.put("/deal_unqualified_reasons/#{id}", attributes)

  DealUnqualifiedReason.new(root[:data])
end

#where(options = {}) ⇒ Array<DealUnqualifiedReason>

Retrieve all deal unqualified reasons

get ‘/deal_unqualified_reasons’

Returns all deal unqualified reasons available to the user according to the parameters provided

Parameters:

  • options (Hash) (defaults to: {})

    Search options

Options Hash (options):

  • :ids (String)

    Comma separated list of deal unqualified reasons unique identifiers to be returned in a request.

  • :name (String)

    Name of the deal unqualified reason to search for. This parameter is used in a strict sense.

  • :page (Integer) — default: 1

    Page number to start from. Page numbering is 1-based and omitting ‘page` parameter will return the first page.

  • :per_page (Integer) — default: 25

    Number of records to return per page. Default limit is 25 and maximum number that can be returned is 100.

  • :sort_by (String) — default: id:asc

    A field to sort by. Default ordering is ascending. If you want to change the sort ordering to descending, append ‘:desc` to the field e.g. `sort_by=name:desc`.

Returns:

  • (Array<DealUnqualifiedReason>)

    The list of DealUnqualifiedReasons for the first page, unless otherwise specified.



34
35
36
37
38
# File 'lib/basecrm/services/deal_unqualified_reasons_service.rb', line 34

def where(options = {})
  _, _, root = @client.get("/deal_unqualified_reasons", options)

  root[:items].map{ |item| DealUnqualifiedReason.new(item[:data]) }
end