class DomoscioRails::Resource
Public Class Methods
class_name()
click to toggle source
# File lib/domoscio_rails/resource.rb, line 4 def class_name name.split('::')[-1] end
underscore(string)
click to toggle source
# File lib/domoscio_rails/resource.rb, line 20 def underscore(string) string.gsub(/::/, '/') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_') .downcase end
url(id = nil, util_name = nil, on_self = nil)
click to toggle source
# File lib/domoscio_rails/resource.rb, line 8 def url(id = nil, util_name = nil, on_self = nil) raise NotImplementedError, 'Resource is an abstract class. Do not use it directly.' if self == Resource build_url = "/v#{DomoscioRails.configuration.version}/instances/#{DomoscioRails.configuration.client_id}" unless on_self build_url << "/#{underscore(class_name)}s" build_url << "/#{util_name}" if util_name build_url << "/#{CGI.escape(id.to_s)}" if id end build_url end