#フキダシテンプレート
-class SpeechBalloonTemplate < ActiveRecord::Base
+class SpeechBalloonTemplate < Peta::Item
+ load_manifest
has_many :speech_balloons
belongs_to :system_picture
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :settings, :presence => true
- before_validation :valid_encode
-
- def valid_encode
- ['name', 'classname', 'caption', 'settings'].each do |a|
- next if attributes[a] == nil
- raise Pettanr::BadRequest unless attributes[a].valid_encoding?
- end
- end
-
def supply_default
end
self.t = SpeechBalloonTemplate.count.to_i if self.new_record?
end
- def visible? author
- true
- end
-
def symbol_option
self.system_picture.tmb_opt_img_tag
end
- def self.list
- opt = {}
- opt.merge!(self.list_opt)
- opt.merge!({:order => 'speech_balloon_templates.t asc'})
- SpeechBalloonTemplate.find(:all, opt)
- end
-
def self.enable_list
- SpeechBalloonTemplate.list.delete_if {|sbt|
- Pettanr::Application.speech_balloons[sbt.classname] == nil
+ SpeechBalloonTemplate.find(:all).delete_if {|sbt|
+ sbt.enable? == false
}
end
{}
end
- def self.show rid, au
- opt = {}
- opt.merge!(self.show_opt)
- res = SpeechBalloonTemplate.find(rid, opt)
- raise ActiveRecord::Forbidden unless res.visible?(au)
- res
- end
-
def self.show_opt
{}
end
@template_settings ||= JSON.parse(self.settings)
end
+ def my_engine_resource
+ Manifest.manifest.system_resources.engine_resources['speech_balloon_templates']
+ end
+
def engine_name
- Pettanr::Application.speech_balloons[self.classname]
+ self.my_engine_resource.resource_items[self.classname]
+ end
+
+ def enable?
+ self.my_engine_resource.resource_items.include? self.classname
end
def engine_module_name
engine.const_get 'SpeechBalloonModule'
end
+ def engine_extend_module
+ engine.extend_module
+ end
+
def engine_balloon_model
engine.const_get 'Balloon'
end