class Mandrake::DSL::ConditionalExpression
A class for building conditional expressions @example
cond1 = Mandrake::DSL::If.new('env["PATH_INFO"] == "/"') cond2 = Mandrake::DSL::Unless.new('env["REQUEST_METHOD"] == "GET"') cond1 + cond2 #=> '(env["PATH_INFO"] == "/") && !(env["REQUEST_METHOD"] == "GET")' cond1.concat(cond2) #=> '(env["PATH_INFO"] == "/") && !(env["REQUEST_METHOD"] == "GET")' cond1 #=> '(env["PATH_INFO"] == "/") && !(env["REQUEST_METHOD"] == "GET")'
@!visibility private
Attributes
code[RW]
Public Class Methods
expression()
click to toggle source
@!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 15 def self.expression @expression end
new(code)
click to toggle source
@param [Mandrake::DSL::Stringify::Relation, Proc] code @!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 27 def initialize(code) @code = code end
template(text)
click to toggle source
@param [String] text @!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 21 def self.template(text) @expression ||= text end
Public Instance Methods
+(other_expression)
click to toggle source
@param [Mandrake::DSL::ConditonalExpression] other_expression @!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 33 def +(other_expression) expression + " && " + other_expression.to_s end
concat(other_expression)
click to toggle source
Concatenates an other expression with self @param [Mandrake::DSL::ConditonalExpression] other_expression @!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 40 def concat(other_expression) @expression = send(:+, other_expression) end
expression()
click to toggle source
@!visibility private
# File lib/mandrake/dsl/conditional_expression.rb, line 45 def expression @expression ||= self.class.expression.gsub(/{:condition:}/, @code.to_s) end
Also aliased as: to_s