2014-02-12 46 views
0

我正在使用ruby on rails項目。我想轉換使用正則表達式將rails關聯轉換爲shouldamatcher語法

'has_many :comments,:as=>:entity,:order=>"id asc", :dependent => :destroy'

看起來像這樣

it { should have_many(:comments).as(:entity).order("id asc").dependent(:destroy)}

我這樣做幾乎成功。我面對的唯一問題就是它的一部分。我使用查找字符串中的鍵值對的正則表達式是

'has_many :comments,:as=>:entity,:order=>"id asc", :dependent => :destroy'.scan(/:\w+\s*=>\s*.\w+/)返回

#=> [":as=>:entity", ":order=>\"id", ":dependent => :destroy"] 

它無法返回內的任何值的滿弦。它只是從正則表達式中看出來的第一個字。

我想這樣的結果:

#=> [":as=>:entity", ":order=> "id asc", ":dependent => :destroy"]

回答

0

試試這個:

'has_many :comments,:as=>:entity,:order=>"id asc", :dependent => :destroy'.scan(/:\w+\s*=>\s*.[\w \"\']+/) 
相關問題