Skip to content

Instantly share code, notes, and snippets.

@onigra
Last active December 30, 2015 21:09
Show Gist options
  • Save onigra/7886016 to your computer and use it in GitHub Desktop.
Save onigra/7886016 to your computer and use it in GitHub Desktop.
class Converter
def initialize text
@text = text
end
def push_arrivederci
@text.str << 'アリーヴェデルチ!(さよならだ)'
end
# こういう余計な文字列を消すメソッドが増えてきたので外に出したい
def remove_gesu
@text.gsub!(/何をやったってしくじるもんなのさゲス野郎はな。/, '')
end
def convert!
push_arrivederci
remove_gesu
end
end
class RemoveUnnecessaryText
attr_accessor :str
def initialize str
@str = str
end
def remove_gesu
@str.gsub!(/何をやったってしくじるもんなのさゲス野郎はな。/, '')
end
def replace!
remove_gesu
end
end
class Converter
def initialize text
@text = RemoveUnnecessaryText.new text
end
def push_arrivederci
@text.str << 'アリーヴェデルチ!(さよならだ)'
end
def convert!
push_arrivederci
@text.replace!
end
end
require_relative 'converter'
describe Converter do
context "#convert!" do
let(:obj) { Converter.new '何をやったってしくじるもんなのさゲス野郎はな。アリアリアリアリ' }
it { expect(obj.convert!).to eq 'アリアリアリアリアリーヴェデルチ!(さよならだ)' }
end
end

$ rspec converter_spec.rb

Converter
  #convert!
    should eq "アリアリアリアリアリーヴェデルチ!(さよならだ)"

Finished in 0.00414 seconds
1 example, 0 failures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment