Sha256: 40862a173d3d02f9198602c9fdbec7d90fa0b3d9410ea015bdd0b35fb9b3e411

Contents?: true

Size: 744 Bytes

Versions: 2

Compression:

Stored size: 744 Bytes

Contents

# Superclass for all scales of measure
# Designed to be extended with the measure method implemented
# by the specific

class Scale

  attr_reader :measurements

  # creates internal array to store measurements
  # if sub-classes need their own initialize logic
  # call super first
  def initialize
    @measurements = Array.new
  end

  # performs measurement and adds to internal array
  def record_measurement()
    new_measure = measure
    add(new_measure)
  end

  # method to perform a measurement, should return an instance of Measure
  def measure()
    raise "Someone forgot to override Scale.measure with their unique logic"
  end

  # adds a new measure to end of array
  def add(measure)
    @measurements.push(measure)
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mobiusloop-0.1.3 lib/mobiusloop/scale.rb
mobiusloop-0.1.2 lib/mobiusloop/scale.rb