class VNCPostAPI::Base
Private Class Methods
clear_auth_token()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 41 def self.clear_auth_token connection.auth_type = nil connection.bearer_token = nil end
retrieve_token()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 26 def self.retrieve_token clear_auth_token if VNCPostAPI.config&.username && VNCPostAPI.config&.password response = connection.post("#{Base.site}/User/Login", { Username: VNCPostAPI.config.username, Password: VNCPostAPI.config.password }.to_json) connection.auth_type = :bearer connection.bearer_token = JSON.parse(response.body)["token"] else raise ArgumentError, "Please set the username and password in the config file under the initializer dir" end end
Public Instance Methods
build()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 20 def build raise NotImplementedError, "#build is not supported" end
create()
click to toggle source
Calls superclass method
# File lib/vncpost_api/resources/base.rb, line 7 def create self.class.retrieve_token format_before_send_request super rescue => e reset_attributes_format raise e end
update()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 16 def update raise NotImplementedError, "#update is not supported" end
Private Instance Methods
format_before_send_request()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 46 def format_before_send_request @attributes.deep_transform_keys!(&:camelcase) end
load_attributes_from_response(response)
click to toggle source
Calls superclass method
# File lib/vncpost_api/resources/base.rb, line 54 def load_attributes_from_response(response) super reset_attributes_format end
reset_attributes_format()
click to toggle source
# File lib/vncpost_api/resources/base.rb, line 50 def reset_attributes_format @attributes.deep_transform_keys!(&:underscore) end