# File lib/cimi/models/collection.rb, line 51 def self.generate(model_class) model_name = model_class.name.split("::").last coll_class = Class.new(CIMI::Model::Collection) CIMI::Model.const_set(:"#{model_name}Collection", coll_class) coll_class.entry_name = model_name.underscore.pluralize.to_sym entry_schema = model_class.schema coll_class.instance_eval do text :count array self.entry_name, :schema => entry_schema, :xml_name => model_name array :operations do scalar :rel, :href end end coll_class end
# File lib/cimi/models/collection.rb, line 26 def initialize(values = {}) if values[:entries] values[self.class.entry_name] = values.delete(:entries) end super(values) end
# File lib/cimi/models/collection.rb, line 47 def self.xml_tag_name "Collection" end
# File lib/cimi/models/collection.rb, line 37 def [](a) a = entry_name if a == :entries super(a) end
# File lib/cimi/models/collection.rb, line 42 def []=(a, v) a = entry_name if a == :entries super(a, v) end
# File lib/cimi/models/collection.rb, line 33 def entries self[entry_name] end