Class: Payrex::Services::ServiceFactory
- Inherits:
-
Object
- Object
- Payrex::Services::ServiceFactory
- Defined in:
- lib/services/service_factory.rb
Class Method Summary collapse
Class Method Details
.get(name) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/services/service_factory.rb', line 5 def self.get(name) service_name = name.to_s.split("_").map(&:capitalize).join service_class = Payrex::Services.const_get("#{service_name}Service") raise ArgumentError, "Unknown service: #{name}" if !service_class.is_a?(Class) service_class end |
.names ⇒ Object
14 15 16 17 18 19 |
# File 'lib/services/service_factory.rb', line 14 def self.names Payrex::Services.constants .map { |c| Payrex::Services.const_get(c) } .select { |c| c.is_a?(Class) } .map { |c| c.to_s.split("::").last.sub(/Service$/, "").gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase } end |