class GatherContent::Api::Item

Attributes

item_id[RW]

Public Class Methods

new(item_id, data = nil) click to toggle source
# File lib/gather_content/api/item.rb, line 8
def initialize(item_id, data = nil)
  raise ArgumentError, "Item_id is required!" if item_id.nil?
  @item_id = item_id
  @data = data
end

Public Instance Methods

[](key) click to toggle source
# File lib/gather_content/api/item.rb, line 14
def [](key)
  fetch[key]
end
apply_template(template_id) click to toggle source
# File lib/gather_content/api/item.rb, line 28
def apply_template(template_id)
  post_save({ "template_id" => template_id }, "#{path}/apply_template")
end
choose_status(status_id) click to toggle source
# File lib/gather_content/api/item.rb, line 32
def choose_status(status_id)
  post_save({ "status_id" => status_id }, "#{path}/choose_status")
end
save(config) click to toggle source
# File lib/gather_content/api/item.rb, line 18
def save(config)
  encoded = Base64.strict_encode64(config.to_json)
  result = post_json({config: encoded}, "#{path}/save")
  if result.status == 202
    true
  else
    raise GatherContent::Error::RequestError.new(result)
  end
end

Private Instance Methods

params() click to toggle source
# File lib/gather_content/api/item.rb, line 50
def params; end
path() click to toggle source
# File lib/gather_content/api/item.rb, line 46
def path
  @path ||= "/items/#{item_id}"
end
post_save(params, path) click to toggle source
# File lib/gather_content/api/item.rb, line 37
def post_save(params, path)
  result = post_json(params, path)
  if result.status == 202
    true
  else
    raise GatherContent::Error::RequestError.new(result)
  end
end