X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fmodels%2Fspeech_balloon_template.rb;h=a1f14d99fd6c13505ef38f49a77133b1372ca4b8;hp=9c27ec58c342673482770baf4117c74a2ef00fb6;hb=217d11149d268d99fab8517eb3309f33cac5eb19;hpb=17fdb3464638babad4f9b11bd4ddc316333fcca7 diff --git a/app/models/speech_balloon_template.rb b/app/models/speech_balloon_template.rb index 9c27ec58..a1f14d99 100644 --- a/app/models/speech_balloon_template.rb +++ b/app/models/speech_balloon_template.rb @@ -69,6 +69,46 @@ class SpeechBalloonTemplate < ActiveRecord::Base r end + def parsed_settings + @template_settings ||= JSON.parse(self.settings) + end + + def engine_name + Pettanr::Application.speech_balloons[self.classname] + end + + def engine_module_name + self.engine_name.camelize + end + + def engine + Object.const_get self.engine_module_name + end + + def engine_speech_balloon_model + engine.const_get 'SpeechBalloon' + end + + def engine_speech_balloon_module + engine.const_get 'SpeechBalloonModule' + end + + def engine_balloon_model + engine.const_get 'Balloon' + end + + def engine_balloon_module + engine.const_get 'BalloonModule' + end + + def engine_speech_model + engine.const_get 'Speech' + end + + def engine_speech_module + engine.const_get 'SpeechModule' + end + def self.import filename SpeechBalloonTemplate.import_file(filename) {|name, attr| SpeechBalloonTemplate.store(name, attr)} end