end
def overwrite
- self.t = SpeechBalloonTemplate.count.to_i
+ self.t = SpeechBalloonTemplate.count.to_i if self.new_record?
end
def visible? author
#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
"square@pettan.com": {\r
"classname": "Square",\r
"caption": "長方形",\r
- "default_width": 150,\r
- "default_height": 150,\r
"templates": {\r
+ "speech_balloon": {\r
+ "default_width": 150,\r
+ "default_height": 150\r
+ },\r
"all": {\r
"balloon": {\r
"system_picture": "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"\r
"square with size@pettan.com": {\r
"classname": "SquareWithSize",\r
"caption": "長方形改",\r
- "default_width": 150,\r
- "default_height": 100,\r
- "size_count": 3,\r
- "width_offset": 0,\r
- "height_offset": 0,\r
- "width_step": 100,\r
- "height_step": 100,\r
"templates": {\r
+ "speech_balloon": {\r
+ "default_width": 150,\r
+ "default_height": 100,\r
+ "size_count": 3,\r
+ "width_offset": 0,\r
+ "height_offset": 0,\r
+ "width_step": 100,\r
+ "height_step": 100\r
+ },\r
"small": {\r
"balloon": {\r
"size": 0,\r
@st.overwrite
@st.t.should eq 2
end
+ context 'つつがなく終わるとき' do\r
+ 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
@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',
context 'templateにballoonがないとき' do
before do
@templates = {
+ "speech_balloon" => {"default" => 1},
"one" => {}
}
@attr = {"classname" => 'store', "caption" => 'store test',
@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',
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