class Mooset::Endpoints::Endpoint
Public Class Methods
create(name, opts = {})
click to toggle source
# File lib/mooset/endpoints/endpoint.rb, line 30 def self.create(name, opts = {}) descendants[name].new(opts) end
descendants()
click to toggle source
# File lib/mooset/endpoints/endpoint.rb, line 18 def self.descendants @descendants ||= {} end
inherited(klass)
click to toggle source
Calls superclass method
# File lib/mooset/endpoints/endpoint.rb, line 11 def self.inherited(klass) super name = underscore(klass.name.split('::').last) descendants[name.to_sym] = klass end
resource(name, &block)
click to toggle source
# File lib/mooset/endpoints/endpoint.rb, line 38 def self.resource(name, &block) resources << name define_method(name) do r = instance_variable_get("@#{name}") if r.nil? r = instance_eval(&block) instance_variable_set("@#{name}", r) end r end end
resources()
click to toggle source
# File lib/mooset/endpoints/endpoint.rb, line 34 def self.resources @resources ||= [] end
underscore(camel_cased_word)
click to toggle source
# File lib/mooset/endpoints/endpoint.rb, line 22 def self.underscore(camel_cased_word) camel_cased_word.to_s.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end