Sha256: 26079ccb6f09bdcfe9a266da6542d5b0b6ebda0204b3e3f82dd6d4100a5a1f6b

Contents?: true

Size: 504 Bytes

Versions: 7

Compression:

Stored size: 504 Bytes

Contents

require 'models/glimmer/calculator/command'

module Glimmer
  class Calculator
    class Presenter
      FORMATTER = {
        nil   => '0',
        'NaN' => 'Not a number'
      }
    
      attr_accessor :result
      
      def initialize
        self.result = '0'
      end
      
      def press(button)
        command = Command.for(button)
        if command
          new_result = command.result
          self.result = FORMATTER[new_result] || new_result
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
glimmer-cs-calculator-1.1.4 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.1.3 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.1.2 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.1.1 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.1.0 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.0.2 lib/models/glimmer/calculator/presenter.rb
glimmer-cs-calculator-1.0.1 lib/models/glimmer/calculator/presenter.rb