DEV Community

loading...

Discussion on: Daily Challenge #9 - What's Your Number?

Collapse
kaspermeyer profile image
Kasper Meyer

Ruby solution

require "minitest/autorun"

class PhoneNumberFormatter
  def initialize digits
    @digits = digits
  end

  def format
    "(#{area_code}) #{central_office_code}-#{line_number}"
  end

  private

    def area_code
      @digits[0..2].join
    end

    def central_office_code
      @digits[3..5].join
    end

    def line_number
      @digits[6..9].join
    end
end

class PhoneNumberFormatterTest < MiniTest::Test
  def test_formatted_phone_number
    output = PhoneNumberFormatter.new([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).format

    assert_equal "(123) 456-7890", output
  end
end