Class: XCDM::Schema
- Inherits:
-
Object
- Object
- XCDM::Schema
- Defined in:
- lib/xcdm/schema.rb
Defined Under Namespace
Instance Attribute Summary collapse
-
#entities ⇒ Object
readonly
Returns the value of attribute entities.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
- #entity(name, &block) ⇒ Object
-
#initialize(version) ⇒ Schema
constructor
A new instance of Schema.
- #to_xml(builder = nil) ⇒ Object
Constructor Details
#initialize(version) ⇒ Schema
Returns a new instance of Schema.
11 12 13 14 |
# File 'lib/xcdm/schema.rb', line 11 def initialize(version) @version = version @entities = [] end |
Instance Attribute Details
#entities ⇒ Object (readonly)
Returns the value of attribute entities.
9 10 11 |
# File 'lib/xcdm/schema.rb', line 9 def entities @entities end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
9 10 11 |
# File 'lib/xcdm/schema.rb', line 9 def version @version end |
Instance Method Details
#entity(name, &block) ⇒ Object
16 17 18 |
# File 'lib/xcdm/schema.rb', line 16 def entity(name, &block) @entities << Entity.new(name).tap { |e| e.instance_eval(&block) } end |
#to_xml(builder = nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/xcdm/schema.rb', line 20 def to_xml(builder = nil) builder ||= Builder::XmlMarkup.new(:indent => 2) builder.instruct! :xml, :standalone => 'yes' attrs = { name: "", userDefinedModelVersionIdentifier: version, type: "com.apple.IDECoreDataModeler.DataModel", documentVersion: "1.0", lastSavedToolsVersion: "2061", systemVersion: "12D78", minimumToolsVersion: "Xcode 4.3", macOSVersion: "Automatic", iOSVersion: "Automatic" } builder.model(attrs) do |builder| entities.each do |entity| entity.to_xml(builder) end end end |