Sha256: e8c270a06db602848ed5d625f46fefcf226e30b991837a6442cfeaef3428fc7e
Contents?: true
Size: 998 Bytes
Versions: 1
Compression:
Stored size: 998 Bytes
Contents
# frozen_string_literal: true require 'nokogiri' module CoreData class DataModel attr_reader :name, :version, :entities def initialize(data_model) loop do case data_model when File, /^\<\?xml/ (data_model = ::Nokogiri::XML(data_model)) && redo when String case data_model when /\.xcdatamodeld?$/ (data_model = Dir[File.join(data_model, '/**/contents')].first) && redo else (data_model = ::File.read(data_model)) && 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 end end require 'core_data/data_model/entity' require 'core_data/data_model/attribute' require 'core_data/data_model/relationship'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
core_data-0.2.0 | ./lib/core_data/data_model.rb |