From 155bda88aab4127de1796e4f148df734430803b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mota?= Date: Sat, 4 May 2013 13:00:21 +0100 Subject: [PATCH] Move field. --- move-field/lib/after.rb | 29 +++++++++++++++++++++++++++++ move-field/lib/before.rb | 29 +++++++++++++++++++++++++++++ move-field/test/test.rb | 9 ++++++++- 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/move-field/lib/after.rb b/move-field/lib/after.rb index e69de29..3bc7f12 100644 --- a/move-field/lib/after.rb +++ b/move-field/lib/after.rb @@ -0,0 +1,29 @@ +PHONE_CODES = { + en_gb: "44", + pt: "351" +} + +class Phone + attr_reader :number, :locale + + def initialize number, locale + @number = number + @locale = locale + end + + def to_s + PHONE_CODES[locale] + " " + number + end +end + +class Person + attr_reader :phone + + def initialize(locale: :en_gb, phone: nil) + @phone = Phone.new phone, locale + end + + def full_phone + ["+", phone].join + end +end diff --git a/move-field/lib/before.rb b/move-field/lib/before.rb index e69de29..772e7d0 100644 --- a/move-field/lib/before.rb +++ b/move-field/lib/before.rb @@ -0,0 +1,29 @@ +PHONE_CODES = { + en_gb: "44", + pt: "351" +} + +class Phone + attr_reader :number + + def initialize number + @number = number + end + + def to_s + number + end +end + +class Person + attr_reader :locale, :phone + + def initialize(locale: :en_gb, phone: nil) + @locale = locale + @phone = Phone.new phone + end + + def full_phone + ["+", PHONE_CODES[locale], " ", phone].join + end +end diff --git a/move-field/test/test.rb b/move-field/test/test.rb index a8f6974..7107803 100644 --- a/move-field/test/test.rb +++ b/move-field/test/test.rb @@ -1,5 +1,12 @@ -require 'minitest/spec' require 'minitest/autorun' +require 'minitest/spec' require 'before' if ENV["BEFORE"] require 'after' unless ENV["BEFORE"] + +describe Person do + it "has a phone number" do + person = Person.new(locale: :pt, phone: "555-0342") + person.full_phone.must_equal "+351 555-0342" + end +end