From: yasushiito Date: Wed, 26 Sep 2012 10:23:45 +0000 (+0900) Subject: t#29672:fix sbt for properties X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=354cf525ce8fb689872d92b379fde4505a93edd8 t#29672:fix sbt for properties --- diff --git a/app/models/speech_balloon_template.rb b/app/models/speech_balloon_template.rb index 96902193..2e907aa2 100644 --- a/app/models/speech_balloon_template.rb +++ b/app/models/speech_balloon_template.rb @@ -12,7 +12,7 @@ class SpeechBalloonTemplate < ActiveRecord::Base end def overwrite - self.t = SpeechBalloonTemplate.count.to_i + self.t = SpeechBalloonTemplate.count.to_i if self.new_record? end def visible? author @@ -54,6 +54,7 @@ class SpeechBalloonTemplate < ActiveRecord::Base #templatesのballoonがフキダシ画像を持っているはずなので置換しておく #templates => {hoge => {balloon => system_picture}} (attr["templates"] || {}).each do |n, v| + next if n == 'speech_balloon' res = replace_system_picture(v["balloon"] || {}) return nil if res == false #置換なしでnil 失敗でfalse end diff --git a/db/speech_balloon_templates.json b/db/speech_balloon_templates.json index 2e1ce872..154a6acf 100644 --- a/db/speech_balloon_templates.json +++ b/db/speech_balloon_templates.json @@ -2,9 +2,11 @@ "square@pettan.com": { "classname": "Square", "caption": "長方形", - "default_width": 150, - "default_height": 150, "templates": { + "speech_balloon": { + "default_width": 150, + "default_height": 150 + }, "all": { "balloon": { "system_picture": "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" @@ -21,14 +23,16 @@ "square with size@pettan.com": { "classname": "SquareWithSize", "caption": "長方形改", - "default_width": 150, - "default_height": 100, - "size_count": 3, - "width_offset": 0, - "height_offset": 0, - "width_step": 100, - "height_step": 100, "templates": { + "speech_balloon": { + "default_width": 150, + "default_height": 100, + "size_count": 3, + "width_offset": 0, + "height_offset": 0, + "width_step": 100, + "height_step": 100 + }, "small": { "balloon": { "size": 0, diff --git a/spec/models/speech_balloon_template_spec.rb b/spec/models/speech_balloon_template_spec.rb index 18b4352a..0c40e529 100644 --- a/spec/models/speech_balloon_template_spec.rb +++ b/spec/models/speech_balloon_template_spec.rb @@ -126,6 +126,15 @@ describe SpeechBalloonTemplate do @st.overwrite @st.t.should eq 2 end + context 'つつがなく終わるとき' do + before do + @st = FactoryGirl.create :speech_balloon_template, :t => 0 + end + it '更新のときは補充しない' do + @st.overwrite + @st.t.should eq 0 + end + end end describe '閲覧許可に於いて' do @@ -226,9 +235,11 @@ describe SpeechBalloonTemplate do @sp = FactoryGirl.create :system_picture @st = FactoryGirl.build :speech_balloon_template @templates = { + "speech_balloon" => {"default" => 1}, "one" => {"balloon" => {"system_picture" => 'BASE64'}} } @sp_replaced_templates = { + "speech_balloon" => {"default" => 1}, "one" => {"balloon" => {"system_picture_id" => @sp.id}} } @attr = {"classname" => 'store', "caption" => 'store test', @@ -275,6 +286,7 @@ describe SpeechBalloonTemplate do context 'templateにballoonがないとき' do before do @templates = { + "speech_balloon" => {"default" => 1}, "one" => {} } @attr = {"classname" => 'store', "caption" => 'store test', @@ -295,6 +307,7 @@ describe SpeechBalloonTemplate do @sp = FactoryGirl.create :system_picture @st = FactoryGirl.create :speech_balloon_template @templates = { + "speech_balloon" => {"default" => 1}, "one" => {"balloon" => {"system_picture_id" => @sp.id}} } @attr = {"classname" => 'store', "caption" => 'store test', @@ -308,7 +321,7 @@ describe SpeechBalloonTemplate do SpeechBalloonTemplate.any_instance.stub(:overwrite).with(any_args).and_return(true) SpeechBalloonTemplate.any_instance.stub(:save).with(any_args).and_return(true) end - it 'テンプレート拡張データ置換に問い合わせている' do + it 'テンプレート置換に問い合わせている' do SpeechBalloonTemplate.should_receive(:templates_json_from).exactly(1) r = SpeechBalloonTemplate.store 'circle_v01', @attr end