Module: Ruby::Rego::Builtins::Types
- Defined in:
- lib/ruby/rego/builtins/types.rb
Overview
Built-in type predicates.
Constant Summary collapse
- TYPE_PREDICATES =
{ "is_string" => :is_string, "is_number" => :is_number, "is_boolean" => :is_boolean, "is_array" => :is_array, "is_object" => :is_object, "is_set" => :is_set, "is_null" => :is_null }.freeze
Class Method Summary collapse
-
.is_array(value) ⇒ Ruby::Rego::BooleanValue
-
.is_boolean(value) ⇒ Ruby::Rego::BooleanValue
-
.is_null(value) ⇒ Ruby::Rego::BooleanValue
-
.is_number(value) ⇒ Ruby::Rego::BooleanValue
-
.is_object(value) ⇒ Ruby::Rego::BooleanValue
-
.is_set(value) ⇒ Ruby::Rego::BooleanValue
-
.is_string(value) ⇒ Ruby::Rego::BooleanValue
-
.register! ⇒ Ruby::Rego::Builtins::BuiltinRegistry
-
.type_name(value) ⇒ Ruby::Rego::StringValue
Class Method Details
.is_array(value) ⇒ Ruby::Rego::BooleanValue
69 70 71 |
# File 'lib/ruby/rego/builtins/types.rb', line 69 def self.is_array(value) BooleanValue.new(value.is_a?(ArrayValue)) end |
.is_boolean(value) ⇒ Ruby::Rego::BooleanValue
63 64 65 |
# File 'lib/ruby/rego/builtins/types.rb', line 63 def self.is_boolean(value) BooleanValue.new(value.is_a?(BooleanValue)) end |
.is_null(value) ⇒ Ruby::Rego::BooleanValue
87 88 89 |
# File 'lib/ruby/rego/builtins/types.rb', line 87 def self.is_null(value) BooleanValue.new(value.is_a?(NullValue)) end |
.is_number(value) ⇒ Ruby::Rego::BooleanValue
57 58 59 |
# File 'lib/ruby/rego/builtins/types.rb', line 57 def self.is_number(value) BooleanValue.new(value.is_a?(NumberValue)) end |
.is_object(value) ⇒ Ruby::Rego::BooleanValue
75 76 77 |
# File 'lib/ruby/rego/builtins/types.rb', line 75 def self.is_object(value) BooleanValue.new(value.is_a?(ObjectValue)) end |
.is_set(value) ⇒ Ruby::Rego::BooleanValue
81 82 83 |
# File 'lib/ruby/rego/builtins/types.rb', line 81 def self.is_set(value) BooleanValue.new(value.is_a?(SetValue)) end |
.is_string(value) ⇒ Ruby::Rego::BooleanValue
51 52 53 |
# File 'lib/ruby/rego/builtins/types.rb', line 51 def self.is_string(value) BooleanValue.new(value.is_a?(StringValue)) end |
.register! ⇒ Ruby::Rego::Builtins::BuiltinRegistry
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ruby/rego/builtins/types.rb', line 24 def self.register! registry = BuiltinRegistry.instance TYPE_PREDICATES.each do |name, handler| register_predicate(registry, name, handler) end register_type_name(registry) registry end |
.type_name(value) ⇒ Ruby::Rego::StringValue
93 94 95 |
# File 'lib/ruby/rego/builtins/types.rb', line 93 def self.type_name(value) StringValue.new(value.type_name) end |