class Ovaltine::Storyboard
Attributes
cell_reuse_identifiers[R]
filepaths[R]
name[R]
segue_identifiers[R]
view_controller_identifiers[R]
Public Class Methods
new(name, filepaths)
click to toggle source
# File lib/ovaltine/storyboard.rb, line 7 def initialize name, filepaths @name, @filepaths = name, filepaths @cell_reuse_identifiers = [] @segue_identifiers = [] @view_controller_identifiers = [] filepaths.each {|f| parse(File.expand_path(f))} end
Public Instance Methods
parse(path)
click to toggle source
# File lib/ovaltine/storyboard.rb, line 15 def parse path load_dependencies document = REXML::Document.new(File.new(path)) document.get_elements('//').each do |node| parse_identifiers(node) end end
Private Instance Methods
load_dependencies()
click to toggle source
# File lib/ovaltine/storyboard.rb, line 25 def load_dependencies unless @@loaded ||= false require 'fileutils' require 'pathname' require 'rexml/document' @@loaded = true end end
parse_identifiers(node)
click to toggle source
# File lib/ovaltine/storyboard.rb, line 34 def parse_identifiers node case node.name when 'segue' if identifier = node.attributes["identifier"] segue_identifiers << identifier unless segue_identifiers.include?(identifier) end when /viewcontroller/i, 'navigationController' if identifier = node.attributes["storyboardIdentifier"] view_controller_identifiers << identifier unless view_controller_identifiers.include?(identifier) end when /cell/i if identifier = node.attributes["reuseIdentifier"] cell_reuse_identifiers << identifier unless cell_reuse_identifiers.include?(identifier) end end end