module CitrusLoader
- Author
-
MinixLi (gmail: MinixLi1986)
- Homepage
- Date
-
17 July 2014
- Author
-
MinixLi (gmail: MinixLi1986)
- Homepage
- Date
-
16 July 2014
Constants
- VERSION
Attributes
app_handler_loaded[R]
app_remote_loaded[R]
handler_filters_loaded[R]
rpc_filters_loaded[R]
Public Instance Methods
get_service_name(subclass)
click to toggle source
Get service name
@param [Class] subclass
# File lib/citrus-loader/loader.rb, line 139 def get_service_name subclass service = subclass.name service[0] = service[0].downcase service end
load_app_handler(path)
click to toggle source
Load app handler
@param [String] path
# File lib/citrus-loader/loader.rb, line 41 def load_app_handler path if !File.directory? path raise ArgumentError, 'expected a directory' end result = [] Dir.glob(File.join(path, '') + '*.rb').each { |filepath| if CitrusLoader.app_handler_loaded[filepath] result << CitrusLoader.app_handler_loaded[filepath] else ::Citrus::AppHandler.define_singleton_method(:inherited) { |subclass| CitrusLoader.app_handler_loaded[filepath] = subclass result << subclass } require filepath end } result end
load_app_remote(path)
click to toggle source
Load app remote
@param [String] path
# File lib/citrus-loader/loader.rb, line 64 def load_app_remote path if !File.directory? path raise ArgumentError, 'expected a directory' end subclasses = [] Dir.glob(File.join(path, '') + '*.rb').each { |filepath| if subclass = CitrusLoader.app_remote_loaded[filepath] subclasses << subclass else ::Citrus::AppRemote.define_singleton_method(:inherited) { |subclass| CitrusLoader.app_remote_loaded[filepath] = subclass subclasses << subclass } require filepath end } result = {} subclasses.each { |subclass| service = get_service_name subclass result[service] = subclass } result end
load_handler_filters(path)
click to toggle source
Load handler filters
@param [String] path
# File lib/citrus-loader/loader.rb, line 93 def load_handler_filters path if !File.directory? path raise ArgumentError, 'expected a directory' end result = [] Dir.glob(File.join(path, '') + '*.rb').each { |filepath| if CitrusLoader.handler_filters_loaded[filepath] result << CitrusLoader.handler_filters_loaded[filepath] else ::Citrus::HandlerFilter.define_singleton_method(:inherited) { |subclass| CitrusLoader.handler_filters_loaded[filepath] = subclass result << subclass } require filepath end } result end
load_rpc_filters(path)
click to toggle source
Load rpc filters
@param [String] path
# File lib/citrus-loader/loader.rb, line 116 def load_rpc_filters path if !File.directory? path raise ArgumentError, 'expected a directory' end result = [] Dir.glob(File.join(path, '') + '*.rb').each { |filepath| if CitrusLoader.rpc_filters_loaded[filepath] result << CitrusLoader.rpc_filters_loaded[filepath] else ::Citrus::RpcFilter.define_singleton_method(:inherited) { |subclass| CitrusLoader.rpc_filters_loaded[filepath] = subclass result << subclass } require filepath end } result end