Module: Luoma::Predicates

Defined in:
lib/luoma/predicates/type.rb,
lib/luoma/predicates/blank.rb,
lib/luoma/predicates/empty.rb,
lib/luoma/predicates/defined.rb,
sig/luoma/predicates/type.rbs,
sig/luoma/predicates/blank.rbs,
sig/luoma/predicates/empty.rbs,
sig/luoma/predicates/defined.rbs

Class Method Summary collapse

Class Method Details

.array?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


21
22
23
# File 'lib/luoma/predicates/type.rb', line 21

def self.array?(context, obj)
  obj.is_a?(Array)
end

.blank?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/luoma/predicates/blank.rb', line 6

def self.blank?(context, obj)
  case obj
  when nil
    true
  when String
    obj.strip == ""
  when Array, Hash
    obj.empty?
  else
    obj.respond_to?(:length) ? obj.length.zero? : false # rubocop:disable Style/ZeroLengthPredicate
  end
end

.defined?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


6
7
8
# File 'lib/luoma/predicates/defined.rb', line 6

def self.defined?(context, obj)
  !(obj == :nothing || obj.is_a?(UndefinedDrop))
end

.empty?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


6
7
8
9
10
11
12
13
# File 'lib/luoma/predicates/empty.rb', line 6

def self.empty?(context, obj)
  case obj
  when Array, Hash, String
    obj.empty?
  else
    obj.respond_to?(:length) ? obj.length.zero? : false # rubocop:disable Style/ZeroLengthPredicate
  end
end

.null?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


6
7
8
# File 'lib/luoma/predicates/type.rb', line 6

def self.null?(context, obj)
  obj.nil?
end

.number?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


16
17
18
# File 'lib/luoma/predicates/type.rb', line 16

def self.number?(context, obj)
  obj.is_a?(Numeric)
end

.numeric?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


31
32
33
# File 'lib/luoma/predicates/type.rb', line 31

def self.numeric?(context, obj)
  obj.is_a?(Numeric) || (context.env.to_numeric(obj, context) != :nothing)
end

.object?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


26
27
28
# File 'lib/luoma/predicates/type.rb', line 26

def self.object?(context, obj)
  obj.is_a?(Hash)
end

.string?(context, obj) ⇒ Boolean

(RenderContext, untyped) -> bool

Parameters:

Returns:

  • (Boolean)


11
12
13
# File 'lib/luoma/predicates/type.rb', line 11

def self.string?(context, obj)
  obj.is_a?(String)
end