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