Class: Predicate::Qualifier

Inherits:
Sexpr::Rewriter
  • Object
show all
Defined in:
lib/predicate/processors/qualifier.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(qualifier) ⇒ Qualifier

Returns a new instance of Qualifier.



6
7
8
# File 'lib/predicate/processors/qualifier.rb', line 6

def initialize(qualifier)
  @qualifier = qualifier
end

Instance Attribute Details

#qualifierObject (readonly)

Returns the value of attribute qualifier.



9
10
11
# File 'lib/predicate/processors/qualifier.rb', line 9

def qualifier
  @qualifier
end

Instance Method Details

#on_identifier(sexpr) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/predicate/processors/qualifier.rb', line 11

def on_identifier(sexpr)
  case qualifier
  when Symbol
    [:qualified_identifier, qualifier, sexpr.name]
  else
    return sexpr unless q = qualifier[sexpr.name]
    [:qualified_identifier, q, sexpr.name]
  end
end

#on_native(sexpr) ⇒ Object

Raises:



21
22
23
# File 'lib/predicate/processors/qualifier.rb', line 21

def on_native(sexpr)
  raise NotSupportedError
end

#on_var(sexpr) ⇒ Object

Raises:



25
26
27
# File 'lib/predicate/processors/qualifier.rb', line 25

def on_var(sexpr)
  raise NotSupportedError
end