class DomoscioAdmin::ResourceInstance

Public Class Methods

underscore(string) click to toggle source
# File lib/domoscio_admin/resources/resource_instance.rb, line 12
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) click to toggle source
# File lib/domoscio_admin/resources/resource_instance.rb, line 4
def url(id = nil)
  raise NotImplementedError, 'Resource is an abstract class. Do not use it directly.' if self == Resource

  build_url = "/instances/#{DomoscioAdmin.configuration.client_id}/#{underscore(class_name)}s"
  build_url << "/#{CGI.escape(id.to_s).gsub('.', '%2E')}" if id
  build_url
end