class ExtractingId::Core
Public Class Methods
new()
click to toggle source
# File lib/extracting_id.rb, line 6 def initialize end
Public Instance Methods
define(arrType)
click to toggle source
# File lib/extracting_id.rb, line 44 def define(arrType) arrType.map{|s| s.impDefine}.inject(""){|s, i| s + i} end
exchange(arrStr)
click to toggle source
# File lib/extracting_id.rb, line 22 def exchange(arrStr) arrStr.map{|s| to_class(s) }.flatten.inject([]){|a, s| if a.index(s) == nil then a.push(s) end a } end
fileRead(fileName)
click to toggle source
# File lib/extracting_id.rb, line 16 def fileRead(fileName) File.open(fileName, :mode => "rb", :encoding => "UTF-8").read end
fileWrite(output_dir)
click to toggle source
# File lib/extracting_id.rb, line 47 def fileWrite(output_dir) head = "#{output_dir}#{fileName}.h" FileUtils.mkdir_p(output_dir) unless FileTest.exist?(output_dir) File.open(head, "w:UTF-8"){|f| f.write header } end
header(arrType, fileName)
click to toggle source
# File lib/extracting_id.rb, line 41 def header(arrType, fileName) self.define(arrType) end
main(storyboardFile, output_dir, fileName = "ExtactedID")
click to toggle source
# File lib/extracting_id.rb, line 8 def main(storyboardFile, output_dir, fileName = "ExtactedID") readFile = self.fileRead(storyboardFile) arrayString = scan(readFile) arrType = self.exchange(arrayString) header = self.header(arrType, fileName) fileWrite(output_dir) end
scan(readFile)
click to toggle source
# File lib/extracting_id.rb, line 19 def scan(readFile) readFile.scan(/(.*)\n/).flatten end
to_class(s)
click to toggle source
# File lib/extracting_id.rb, line 30 def to_class(s) if / identifier="(\w+)" / =~ s then [Segue.new($1)] elsif / restorationIdentifier="(\w+)" / =~ s then [Restore.new($1)] elsif /storyboardIdentifier="(\w+)"/ =~ s then [Storyboard.new($1)] else [] end end