Class: Api2Convert::Resource::Presets

Inherits:
Object
  • Object
show all
Defined in:
lib/api2convert/resource/presets.rb

Overview

Saved conversion presets (reusable named target + options).

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ Presets

Returns a new instance of Presets.



7
8
9
# File 'lib/api2convert/resource/presets.rb', line 7

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(payload) ⇒ Object

Create a preset from { name, target, options, scope?, category? }.



21
22
23
# File 'lib/api2convert/resource/presets.rb', line 21

def create(payload)
  Model::Preset.from_hash(@transport.request("POST", "/presets", payload))
end

#delete(preset_id) ⇒ Object



37
38
39
40
# File 'lib/api2convert/resource/presets.rb', line 37

def delete(preset_id)
  @transport.request("DELETE", "/presets/#{Support::Data.encode_segment(preset_id)}")
  nil
end

#get(preset_id) ⇒ Object



25
26
27
28
29
# File 'lib/api2convert/resource/presets.rb', line 25

def get(preset_id)
  Model::Preset.from_hash(
    @transport.request("GET", "/presets/#{Support::Data.encode_segment(preset_id)}")
  )
end

#list(category: nil, target: nil, filter: nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/api2convert/resource/presets.rb', line 11

def list(category: nil, target: nil, filter: nil)
  query = {}
  query["category"] = category unless category.nil?
  query["target"] = target unless target.nil?
  query["filter"] = filter unless filter.nil?
  rows = @transport.request("GET", "/presets", nil, query)
  Support::Data.as_list(rows).grep(Hash).map { |row| Model::Preset.from_hash(row) }
end

#update(preset_id, payload) ⇒ Object



31
32
33
34
35
# File 'lib/api2convert/resource/presets.rb', line 31

def update(preset_id, payload)
  Model::Preset.from_hash(
    @transport.request("PATCH", "/presets/#{Support::Data.encode_segment(preset_id)}", payload)
  )
end