Module: Jsapi::Meta::Callable
- Defined in:
- lib/jsapi/meta/callable.rb,
lib/jsapi/meta/callable/symbol_evaluator.rb,
lib/jsapi/meta/callable/symbol_sequence_evaluator.rb
Defined Under Namespace
Classes: SymbolEvaluator, SymbolSequenceEvaluator
Class Method Summary collapse
Class Method Details
.from(arg) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jsapi/meta/callable.rb', line 10 def from(arg) raise ArgumentError, "argument can't be blank" if arg.blank? return arg if arg.respond_to?(:call) # e.g. a Proc symbols = Array.wrap(arg).flat_map do |symbol| next symbol if symbol.is_a?(Symbol) symbol.to_s.split('.') end.map(&:to_sym) return SymbolEvaluator.new(symbols.first) if symbols.one? SymbolSequenceEvaluator.new(*symbols) end |