class BusinessCentral::WebService
Constants
- DEFAULT_URL
Attributes
object_url[R]
url[R]
Public Class Methods
new(client:, **options)
click to toggle source
# File lib/business_central/web_service.rb, line 9 def initialize(client:, **options) @client = client opts = options.dup @url = opts.delete(:url) || DEFAULT_URL end
Public Instance Methods
delete()
click to toggle source
# File lib/business_central/web_service.rb, line 58 def delete raise InvalidObjectURLException if @object_url.to_s.blank? object = get Object::Request.delete( @client, build_url, object[:etag] ) end
get(query = '', *values)
click to toggle source
# File lib/business_central/web_service.rb, line 25 def get(query = '', *values) raise InvalidObjectURLException if @object_url.to_s.blank? Object::Request.get( @client, build_url( filter: Object::FilterQuery.sanitize(query, values) ) ) end
object(object_url = '', *values)
click to toggle source
# File lib/business_central/web_service.rb, line 15 def object(object_url = '', *values) if values.length.zero? @object_url = object_url return self end @object_url = Object::URLBuilder.sanitize(object_url, values) self end
patch(params = {})
click to toggle source
# File lib/business_central/web_service.rb, line 46 def patch(params = {}) raise InvalidObjectURLException if @object_url.to_s.blank? object = get Object::Request.patch( @client, build_url, object[:etag], params ) end
post(params = {})
click to toggle source
# File lib/business_central/web_service.rb, line 36 def post(params = {}) raise InvalidObjectURLException if @object_url.to_s.blank? Object::Request.post( @client, build_url, params ) end
Private Instance Methods
build_url(filter: '')
click to toggle source
# File lib/business_central/web_service.rb, line 71 def build_url(filter: '') Object::URLBuilder.new( base_url: "#{@url}/#{@object_url}", filter: filter ).build end