Class TaskJuggler::LogicalFlag
In: lib/taskjuggler/LogicalOperation.rb
Parent: LogicalOperation

This class handles operands that represent flags. The operation evaluates to true if the property provided by the expression has the flag assigned.

Methods

eval   new   to_s  

Public Class methods

[Source]

# File lib/taskjuggler/LogicalOperation.rb, line 223
    def initialize(opnd)
      super
    end

Public Instance methods

Return true if the property has the flag assigned.

[Source]

# File lib/taskjuggler/LogicalOperation.rb, line 228
    def eval(expr)
      if expr.query.is_a?(Query)
        # This is used for Project or PTN related Queries
        expr.query.property['flags', 0].include?(@operand1)
      else
        # This is used for Journal objects.
        expr.query.flags.include?(@operand1)
      end
    end

[Source]

# File lib/taskjuggler/LogicalOperation.rb, line 238
    def to_s(query)
      if query
        if query.is_a?(Query)
          query.property['flags', 0].include(@operand1) ? 'true' : 'false'
        else
          query.flags.include(@operand1) ? 'true' : 'false'
        end
      else
        @operand1
      end
    end

[Validate]