Module: SocialMedia::Service
- Defined in:
- lib/social_media/service.rb,
lib/social_media/service/base.rb,
lib/social_media/service/twitter.rb,
lib/social_media/service/facebook.rb,
lib/social_media/service/linkedin.rb
Defined Under Namespace
Classes: Base, Facebook, Linkedin, Twitter
Class Method Summary
collapse
Class Method Details
.method_missing(method_sym, *arguments) ⇒ Object
19
20
21
22
23
24
25
26
|
# 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) ⇒ Object
15
16
17
|
# File 'lib/social_media/service.rb', line 15
def self.service name
service_classes.detect{ |d| d.name == name.to_sym }
end
|
.service_classes ⇒ Object
7
8
9
|
# File 'lib/social_media/service.rb', line 7
def self.service_classes
ObjectSpace.each_object(Class).select { |klass| klass < SocialMedia::Service::Base }
end
|
.services ⇒ Object
11
12
13
|
# File 'lib/social_media/service.rb', line 11
def self.services
service_classes.map(&:name)
end
|