module FanyiAPI::API
Constants
- StrategyNotRegistered
Public Instance Methods
call(strategy="youdao", query)
click to toggle source
call strategy with action and arguments
# File lib/fanyi_api/api.rb, line 20 def call(strategy="youdao", query) stra = instance_variable_get :"@#{strategy}" raise StrategyNotRegistered if stra.nil? stra.(query) end
register(strategy, options={})
click to toggle source
register a strategy
# File lib/fanyi_api/api.rb, line 9 def register(strategy, options={}) stra_sym = :"@#{strategy}" stra = instance_variable_get stra_sym if stra.nil? strategy_class = eval("FanyiAPI::Strategies::#{strategy.camel_case}") instance_variable_set stra_sym, strategy_class.new(options).extend(FanyiAPI::Requester) define_method(strategy) { instance_variable_get stra_sym } end end