Method: CoreData::DataModel#initialize
- Defined in:
- lib/core_data/data_model.rb
#initialize(data_model) ⇒ DataModel
Returns a new instance of DataModel.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/core_data/data_model.rb', line 7 def initialize(data_model) loop do case data_model when File, /^\<\?xml/ data_model = ::Nokogiri::XML(data_model) and redo when String case data_model when /\.xcdatamodeld?$/ data_model = Dir[File.join(data_model, "/**/contents")].first and redo else data_model = ::File.read(data_model) and redo end when ::Nokogiri::XML::Document break else raise ArgumentError end end model = data_model.at_xpath('model') @name = model['name'] @version = model['systemVersion'] @entities = model.xpath('entity').collect{|element| Entity.new(element)} end |