Class: Billingrails::Resources::Plans

Inherits:
Object
  • Object
show all
Defined in:
lib/billingrails/resources/plans.rb

Overview

Plans resource

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Plans

Returns a new instance of Plans.

Parameters:

  • client (Client)

    The API client



10
11
12
# File 'lib/billingrails/resources/plans.rb', line 10

def initialize(client)
  @client = client
end

Instance Method Details

#archive(id) ⇒ Hash

Archive a plan

Archives a plan.

Parameters:

  • id (String)

    Resource ID

Returns:

  • (Hash)

    Response data



77
78
79
80
# File 'lib/billingrails/resources/plans.rb', line 77

def archive(id)
  path = "/plans/#{id}/archive"
  @client.request(:post, path)
end

#create(data) ⇒ Hash

Create a plan

Creates a plan.

Parameters:

  • data (Hash)

    Request body

Returns:

  • (Hash)

    Response data



31
32
33
34
# File 'lib/billingrails/resources/plans.rb', line 31

def create(data)
  path = "/plans"
  @client.request(:post, path, body: data)
end

#delete(id) ⇒ Hash

Delete a plan

Deletes a plan.

Parameters:

  • id (String)

    Resource ID

Returns:

  • (Hash)

    Response data



66
67
68
69
# File 'lib/billingrails/resources/plans.rb', line 66

def delete(id)
  path = "/plans/#{id}"
  @client.request(:delete, path)
end

#duplicate(id) ⇒ Hash

Duplicate a plan

Creates a new plan with the same attributes and items. The new plan’s origin_id is set to the source plan.

Parameters:

  • id (String)

    Resource ID

Returns:

  • (Hash)

    Response data



99
100
101
102
# File 'lib/billingrails/resources/plans.rb', line 99

def duplicate(id)
  path = "/plans/#{id}/duplicate"
  @client.request(:post, path)
end

#list(params: nil) ⇒ Hash

List plans

Retrieves a list of plans.

Parameters:

  • params (Hash, nil) (defaults to: nil)

    Query parameters

Returns:

  • (Hash)

    Response data



20
21
22
23
# File 'lib/billingrails/resources/plans.rb', line 20

def list(params: nil)
  path = "/plans"
  @client.request(:get, path, params: params)
end

#retrieve(id, params: nil) ⇒ Hash

Retrieve a plan

Retrieves a plan by ID.

Parameters:

  • id (String)

    Resource ID

  • params (Hash, nil) (defaults to: nil)

    Query parameters

Returns:

  • (Hash)

    Response data



43
44
45
46
# File 'lib/billingrails/resources/plans.rb', line 43

def retrieve(id, params: nil)
  path = "/plans/#{id}"
  @client.request(:get, path, params: params)
end

#unarchive(id) ⇒ Hash

Unarchive a plan

Restores an archived plan.

Parameters:

  • id (String)

    Resource ID

Returns:

  • (Hash)

    Response data



88
89
90
91
# File 'lib/billingrails/resources/plans.rb', line 88

def unarchive(id)
  path = "/plans/#{id}/unarchive"
  @client.request(:post, path)
end

#update(id, data) ⇒ Hash

Update a plan

Updates a plan.

Parameters:

  • id (String)

    Resource ID

  • data (Hash)

    Request body

Returns:

  • (Hash)

    Response data



55
56
57
58
# File 'lib/billingrails/resources/plans.rb', line 55

def update(id, data)
  path = "/plans/#{id}"
  @client.request(:put, path, body: data)
end