end
end
+ def engine_resource_name
+ @manifest.engine_resource_name || self.resource.table_name
+ end
+
# get engine resource from system resource manifest
def my_engine_resource
- Manifest.manifest.system_resources.engine_resources[@item.table_name]
+ Manifest.manifest.system_resources.engine_resources[self.engine_resource_name]
+ end
+
+ def engine_classname
+ @item.attributes[@manifest.extend_column_name]
end
# get snake_case engine name
# ex) circle_speech_balloon
# use to url, model_name generating
def engine_name
- self.my_engine_resource.resource_items[@item.classname]
+ self.my_engine_resource.resource_items[self.engine_classname]
end
def model_name
end
def enable?
- self.my_engine_resource.resource_items.include? @item.classname
+ self.my_engine_resource.resource_items.include? self.class_name
end
# get engine's module name
# get system resource instance
def resource
- raise 'blank foreign_key ' + @manifest.name unless self.check_resource
- r = @item.__send__ @manifest.resource_name
- raise 'resource not found' + @manifest.resource_name unless r
- r
+ Manifest.manifest.models[@manifest.resource_name].classify
end
# get extend instance