Class: Luoma::FilterContext

Inherits:
Object
  • Object
show all
Defined in:
lib/luoma/filter.rb,
sig/luoma/filter.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token, render_context) ⇒ FilterContext

(t_token, RenderContext)

Parameters:



8
9
10
11
12
# File 'lib/luoma/filter.rb', line 8

def initialize(token, render_context)
  @token = token
  @render_context = render_context
  @env = render_context.env
end

Instance Attribute Details

#envEnvironment (readonly)

Returns the value of attribute env.

Returns:



5
6
7
# File 'lib/luoma/filter.rb', line 5

def env
  @env
end

#render_contextRenderContext (readonly)

Returns the value of attribute render_context.

Returns:



5
6
7
# File 'lib/luoma/filter.rb', line 5

def render_context
  @render_context
end

#tokent_token (readonly)

Returns the value of attribute token.

Returns:

  • (t_token)


5
6
7
# File 'lib/luoma/filter.rb', line 5

def token
  @token
end

Instance Method Details

#argument_error(message) ⇒ FilterArgumentError

(String) -> FilterArgumentError

Parameters:

  • message (String)

Returns:



24
25
26
27
28
29
30
# File 'lib/luoma/filter.rb', line 24

def argument_error(message)
  FilterArgumentError.new(
    message, @token,
    @render_context.template.source,
    @render_context.template.name
  )
end

#cmp(left, right) ⇒ -1, ...

(untyped, untyped) -> (-1 | 1 | 0 | nil)

Parameters:

  • left (Object)
  • right (Object)

Returns:

  • (-1, 1, 0, nil)


83
84
85
# File 'lib/luoma/filter.rb', line 83

def cmp(left, right)
  @env.cmp(left, right, @render_context, @token)
end

#empty?Boolean

(untyped) -> bool

Parameters:

  • obj (Object)

Returns:

  • (Boolean)


61
# File 'sig/luoma/filter.rbs', line 61

def empty?: (untyped obj) -> bool

#eq?(obj, other) ⇒ Object

(untyped, untyped) -> bool

Parameters:

  • obj (Object)
  • other (Object)

Returns:

  • (Object)


73
74
75
# File 'lib/luoma/filter.rb', line 73

def eq?(obj, other)
  @env.eq?(obj, other, @render_context, @token)
end

#fetch(obj, key, default: :nothing) ⇒ Object

(untyped, untyped, ?default: untyped?) -> untyped

Parameters:

  • obj (Object)
  • key (Object)
  • default: (Object) (defaults to: :nothing)

Returns:

  • (Object)


93
94
95
# File 'lib/luoma/filter.rb', line 93

def fetch(obj, key, default: :nothing)
  obj.respond_to?(:[]) && obj.respond_to?(:key?) && key.is_a?(String) && obj.key?(key) ? obj[key] : default
end

#lt?(obj, other) ⇒ Object

(untyped, untyped) -> bool

Parameters:

  • obj (Object)
  • other (Object)

Returns:

  • (Object)


78
79
80
# File 'lib/luoma/filter.rb', line 78

def lt?(obj, other)
  @env.lt?(obj, other, @render_context, @token)
end

#nothing?(obj) ⇒ Boolean

(untyped) -> bool

Parameters:

  • obj (Object)

Returns:

  • (Boolean)


88
89
90
# File 'lib/luoma/filter.rb', line 88

def nothing?(obj)
  @env.nothing?(obj)
end

#to_a(obj) ⇒ Array[untyped]

(untyped) -> Array

Parameters:

  • obj (Object)

Returns:

  • (Array[untyped])


33
34
35
# File 'lib/luoma/filter.rb', line 33

def to_a(obj)
  @env.to_a(obj, @render_context)
end

#to_date(obj) ⇒ Object

(untyped) -> untyped

Parameters:

  • obj (Object)

Returns:

  • (Object)


63
64
65
# File 'lib/luoma/filter.rb', line 63

def to_date(obj)
  @env.to_date(obj, @render_context)
end

#to_enumerable(obj) ⇒ Enumerable[untyped]

(untyped) -> Enumerable

Parameters:

  • obj (Object)

Returns:

  • (Enumerable[untyped])


58
59
60
# File 'lib/luoma/filter.rb', line 58

def to_enumerable(obj)
  @env.to_enumerable(obj, @render_context)
end

#to_h(obj) ⇒ Hash[untyped, untyped]

(untyped) -> Hash[untyped, untyped]

Parameters:

  • obj (Object)

Returns:

  • (Hash[untyped, untyped])


38
39
40
# File 'lib/luoma/filter.rb', line 38

def to_h(obj)
  @env.to_h(obj, @render_context)
end

#to_i(obj, default: :nothing) ⇒ void

This method returns an undefined value.

[X] (untyped, ?default: X) -> (Integer | X)



43
44
45
# File 'lib/luoma/filter.rb', line 43

def to_i(obj, default: :nothing)
  @env.to_i(obj, @render_context, default: default)
end

#to_numeric(obj, default: :nothing) ⇒ void

This method returns an undefined value.

[X] (untyped, ?default: X) -> (Numeric | X)



53
54
55
# File 'lib/luoma/filter.rb', line 53

def to_numeric(obj, default: :nothing)
  @env.to_numeric(obj, @render_context, default: default)
end

#to_string(obj) ⇒ String

(untyped) -> String

Parameters:

  • obj (Object)

Returns:

  • (String)


48
49
50
# File 'lib/luoma/filter.rb', line 48

def to_string(obj)
  @env.to_string(obj, @render_context)
end

#truthy?(obj) ⇒ Object

(untyped) -> bool

Parameters:

  • obj (Object)

Returns:

  • (Object)


68
69
70
# File 'lib/luoma/filter.rb', line 68

def truthy?(obj)
  @env.truthy?(obj, @render_context)
end

#type_error(message) ⇒ TemplateTypeError

(String) -> TemplateTypeError

Parameters:

  • message (String)

Returns:



15
16
17
18
19
20
21
# File 'lib/luoma/filter.rb', line 15

def type_error(message)
  TemplateTypeError.new(
    message, @token,
    @render_context.template.source,
    @render_context.template.name
  )
end