Module: Meta::Scope::Utils
- Defined in:
- lib/meta/scope/utils.rb
Class Method Summary collapse
- .and(*scopes) ⇒ Object
-
.parse(scope) ⇒ Object
根据选项构建 Scope 实例,这是兼容之前的字符串写法。.
Class Method Details
.and(*scopes) ⇒ Object
25 26 27 28 |
# File 'lib/meta/scope/utils.rb', line 25 def and(*scopes) scopes = scopes.map { |s| parse(s) } And.new(*scopes) end |
.parse(scope) ⇒ Object
根据选项构建 Scope 实例,这是兼容之前的字符串写法。
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/meta/scope/utils.rb', line 11 def parse(scope) scope = [scope] if scope.is_a?(String) || scope.is_a?(Symbol) # 只会有两种类型:Array[String] 和 Scope 子类 if scope.is_a?(Meta::Scope::Base) scope elsif scope.is_a?(Array) scopes = scope.map { |s| parse_string(s) } Or.new(*scopes) else raise ArgumentError, 'scope 参数必须是一个数组或者 Scope 子类' end end |