1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00
haml--haml/lib/sass/constant/operation.rb
nex3 9a22c3717e Added a bunch of tests for Sass... almost at 100% rcov!
git-svn-id: svn://hamptoncatlin.com/haml/trunk@322 7063305b-7217-0410-af8c-cdc13e5119b9
2007-01-31 04:30:30 +00:00

30 lines
690 B
Ruby

require 'sass/constant/string'
require 'sass/constant/number'
require 'sass/constant/color'
module Sass::Constant
class Operation
def initialize(operand1, operand2, operator)
@operand1 = operand1
@operand2 = operand2
@operator = operator
end
def to_s
self.perform.to_s
end
protected
def perform
literal1 = @operand1.perform
literal2 = @operand2.perform
begin
literal1.send(@operator, literal2)
rescue NoMethodError => e
raise e unless e.name == @operator
raise Sass::SyntaxError.new("Undefined operation: \"#{literal1} #{@operator} #{literal2}\"")
end
end
end
end