module SocialMedia::Service

Public Class Methods

method_missing(method_sym, *arguments) click to toggle source
Calls superclass method
# File lib/social_media/service.rb, line 19
def self.method_missing method_sym, *arguments
  if service_by_name = service(method_sym)
    return service_by_name if arguments.empty?
    service_by_name.new *arguments
  else
    super
  end
end
service(name) click to toggle source
# File lib/social_media/service.rb, line 15
def self.service name
  service_classes.detect{ |d| d.name == name.to_sym }
end
service_classes() click to toggle source
# File lib/social_media/service.rb, line 7
def self.service_classes
  ObjectSpace.each_object(Class).select { |klass| klass < SocialMedia::Service::Base }
end
services() click to toggle source
# File lib/social_media/service.rb, line 11
def self.services
  service_classes.map(&:name)
end