Class: Dolibarr::Api::Products::Variants

Inherits:
Object
  • Object
show all
Defined in:
lib/dolibarr-api/api/products/variants.rb

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ Variants

Returns a new instance of Variants.



5
6
7
# File 'lib/dolibarr-api/api/products/variants.rb', line 5

def initialize(connection)
  @connection = connection
end

Instance Method Details

#create(id:, products_add_variant_model:) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/dolibarr-api/api/products/variants.rb', line 9

def create(id:, products_add_variant_model:)
  raise ArgumentError, 'id is required' if id.nil?
  raise ArgumentError, 'products_add_variant_model is required' if products_add_variant_model.nil?

  @connection.call(
    :POST,
    '/products/{id}/variants'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key'],
    body: products_add_variant_model
  )
end

#delete(id:) ⇒ Object

Raises:

  • (ArgumentError)


23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dolibarr-api/api/products/variants.rb', line 23

def delete(id:)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :DELETE,
    '/products/variants/{id}'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key']
  )
end

#list(id:, includestock: nil) ⇒ Object

Raises:

  • (ArgumentError)


35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/dolibarr-api/api/products/variants.rb', line 35

def list(id:, includestock: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :GET,
    '/products/{id}/variants'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key'],
    query: { 'includestock' => includestock }
  )
end

#update(id:, products_update_variant_model: nil) ⇒ Object

Raises:

  • (ArgumentError)


48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/dolibarr-api/api/products/variants.rb', line 48

def update(id:, products_update_variant_model: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :PUT,
    '/products/variants/{id}'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key'],
    body: products_update_variant_model
  )
end