class Holded::Request
Attributes
api_key[RW]
Public Class Methods
new(api_key: nil, api_version: 'v1')
click to toggle source
# File lib/holded/request.rb, line 6 def initialize(api_key: nil, api_version: 'v1') @path_parts = [] @api_key = api_key || self.class.api_key || ENV['HOLDED_API_KEY'] @api_version = api_version end
Public Instance Methods
create(params: nil)
click to toggle source
# File lib/holded/request.rb, line 32 def create(params: nil) APIRequest.new(builder: self).post(params: params) ensure reset_path_parts end
delete(params: nil)
click to toggle source
# File lib/holded/request.rb, line 50 def delete(params: nil) APIRequest.new(builder: self).delete(params: params) ensure reset_path_parts end
method_missing(method, *args)
click to toggle source
Si el method no está definido lo extraemos y lo incluimos en el path si tiene argumentos los añadimos al path
Ejemplo: Holded::Request.new
.contacts.create 'contacts' será parte del path_parts #
# File lib/holded/request.rb, line 21 def method_missing(method, *args) @path_parts << method.to_s.gsub("_", "-").downcase @path_parts << args if args.length > 0 @path_parts << @api_version if @path_parts.length == 1 self end
path()
click to toggle source
# File lib/holded/request.rb, line 28 def path @path_parts.join('/') end
search(params: nil)
click to toggle source
# File lib/holded/request.rb, line 44 def search(params: nil) APIRequest.new(builder: self).get(params: params) ensure reset_path_parts end
update(params: nil, body: nil)
click to toggle source
# File lib/holded/request.rb, line 38 def update(params: nil, body: nil) APIRequest.new(builder: self).put(params: params) ensure reset_path_parts end
Protected Instance Methods
reset_path_parts()
click to toggle source
# File lib/holded/request.rb, line 58 def reset_path_parts @path_parts = [] end