class ModelMaker::Entity
Attributes
name[R]
project[RW]
protocols[RW]
superclass[RW]
Public Class Methods
new(name)
click to toggle source
# File src/lib/modelmaker.rb, line 111 def initialize(name) @name = name @superclass = 'NSObject' @properties = {} @protocols = [] @deps = [] end
Public Instance Methods
add_dependency(cls)
click to toggle source
# File src/lib/modelmaker.rb, line 160 def add_dependency(cls) @deps << cls end
add_property(property)
click to toggle source
# File src/lib/modelmaker.rb, line 156 def add_property(property) @properties[property.name] = property end
class_name()
click to toggle source
# File src/lib/modelmaker.rb, line 132 def class_name if @project "#{@project.class_prefix}#{@name}" else @name end end
Also aliased as: name
dependencies()
click to toggle source
# File src/lib/modelmaker.rb, line 164 def dependencies if not @project raise "Need a project to list dependencies" end deps = [] for dependency in @deps do deps << @project.get_entity(dependency) end deps end
instance_name()
click to toggle source
# File src/lib/modelmaker.rb, line 150 def instance_name name = @name.clone name[0] = name[0].downcase name end
mutable_class()
click to toggle source
# File src/lib/modelmaker.rb, line 140 def mutable_class if @project "#{@project.class_prefix}Mutable#{@name}" else "Mutable#{@name}" end end
needs_init?()
click to toggle source
# File src/lib/modelmaker.rb, line 181 def needs_init? for property in properties do if property.needs_init? return true end end return false end
project=(project)
click to toggle source
# File src/lib/modelmaker.rb, line 124 def project=(project) @project = project for property in properties do property.project = project end end
properties()
click to toggle source
# File src/lib/modelmaker.rb, line 177 def properties @properties.values end
short_name()
click to toggle source
# File src/lib/modelmaker.rb, line 120 def short_name @name end