Sha256: 36796b7abb20b8084cb2c8fcf58eedff06939a0f3edbe8afb232f3159ab091bc

Contents?: true

Size: 837 Bytes

Versions: 32

Compression:

Stored size: 837 Bytes

Contents

require 'sass/script/string'
require 'sass/script/number'
require 'sass/script/color'
require 'sass/script/functions'
require 'sass/script/unary_operation'

module Sass::Script
  class Operation # :nodoc:
    def initialize(operand1, operand2, operator)
      @operand1 = operand1
      @operand2 = operand2
      @operator = operator
    end

    def inspect
      "(#{@operator.inspect} #{@operand1.inspect} #{@operand2.inspect})"
    end

    def perform(environment)
      literal1 = @operand1.perform(environment)
      literal2 = @operand2.perform(environment)
      begin
        literal1.send(@operator, literal2)
      rescue NoMethodError => e
        raise e unless e.name.to_s == @operator.to_s
        raise Sass::SyntaxError.new("Undefined operation: \"#{literal1} #{@operator} #{literal2}\".")
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 7 rubygems

Version Path
gohanlonllc-haml-2.1.0.20080513000000 lib/sass/script/operation.rb
gohanlonllc-haml-2.1.0 lib/sass/script/operation.rb
honkster-haml-2.1.0 lib/sass/script/operation.rb
honkster-haml-2.1.1 lib/sass/script/operation.rb
jwhitmire-haml-2.1.0.1 lib/sass/script/operation.rb
jwhitmire-haml-2.1.0.2 lib/sass/script/operation.rb
jwhitmire-haml-2.1.0.3 lib/sass/script/operation.rb
wireframe-haml-2.1.0 lib/sass/script/operation.rb
wireframe-haml-2.1.1 lib/sass/script/operation.rb
haml-edge-2.1.11 lib/sass/script/operation.rb
haml-edge-2.1.12 lib/sass/script/operation.rb
haml-edge-2.1.1 lib/sass/script/operation.rb
haml-edge-2.1.10 lib/sass/script/operation.rb
haml-edge-2.1.19 lib/sass/script/operation.rb
haml-edge-2.1.2 lib/sass/script/operation.rb
haml-edge-2.1.20 lib/sass/script/operation.rb
haml-edge-2.1.21 lib/sass/script/operation.rb
haml-edge-2.1.3 lib/sass/script/operation.rb
haml-edge-2.1.4 lib/sass/script/operation.rb
haml-edge-2.1.5 lib/sass/script/operation.rb