class BusinessCentral::Object::Picture

Constants

OBJECT
OBJECT_METHODS
OBJECT_PARENTS

Public Class Methods

new(client, parent:, parent_id:, **args) click to toggle source
Calls superclass method BusinessCentral::Object::Base::new
# File lib/business_central/object/picture.rb, line 22
def initialize(client, parent:, parent_id:, **args)
  return if !valid_parent?(parent)

  super(client, args)
  @parent_path << {
    path: parent,
    id: parent_id
  }
  @parent_id = parent_id
end

Public Instance Methods

create(data) click to toggle source
# File lib/business_central/object/picture.rb, line 33
def create(data)
  url = "#{build_url(parent_path: @parent_path, child_path: object_name)}(#{@parent_id})/content"
  Request.call(:patch, @client, url, etag: '', params: {}) do |request|
    request['Content-Type'] = 'application/octet-stream'
    request['If-Match'] = '*'
    request.body = data
  end
end
update(data) click to toggle source
# File lib/business_central/object/picture.rb, line 42
def update(data)
  url = "#{build_url(parent_path: @parent_path, child_path: object_name)}(#{@parent_id})"
  object = Request.get(@client, url)
  url = "#{build_url(parent_path: @parent_path, child_path: object_name)}(#{@parent_id})/content"
  Request.call(:patch, @client, url, etag: object[:etag], params: {}) do |request|
    request['Content-Type'] = 'application/octet-stream'
    request.body = data
  end
end