Class: FlexSourceInspector::Inspector
- Inherits:
-
Object
- Object
- FlexSourceInspector::Inspector
- Defined in:
- lib/flex-source-inspector.rb
Class Method Summary collapse
- .add_to_used(used, project_files, class_declaration, src_folder) ⇒ Object
- .convert_to_class_name(file_name) ⇒ Object
- .inspect(src_folder, *link_reports) ⇒ Object
-
.is_declared?(file_name, declaration) ⇒ Boolean
A declaration can either be: “/Path/to/file/com/MyClass.as” or “/Path/to/My.swc(com:MyClass)” We check to see if either declaration matches the given file.
Class Method Details
.add_to_used(used, project_files, class_declaration, src_folder) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/flex-source-inspector.rb', line 39 def self.add_to_used(used, project_files, class_declaration, src_folder) project_files.each{ |file| cleaned = file.gsub( src_folder, "") used << file if is_declared?(cleaned, class_declaration) } end |
.convert_to_class_name(file_name) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/flex-source-inspector.rb', line 69 def self.convert_to_class_name( file_name ) out = file_name out.gsub!("/", ".") out.gsub!(".as", "") out.gsub!(".mxml", "") if out[0] == "." out = out[1..out.length] end out.gsub!(/(.*)\.(.*)/, '\1:\2' ) out end |
.inspect(src_folder, *link_reports) ⇒ Object
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 32 33 34 35 36 37 |
# File 'lib/flex-source-inspector.rb', line 7 def self.inspect( src_folder, *link_reports) puts "\nFlex Source Inspector : Version: #{Flex::Source::Inspector::VERSION}" puts "-- inspect --" raise "FlexSourceInspector::Error source folder doesn't exist #{src_folder}" unless File.exists? src_folder project_files = Dir["#{src_folder}/**/*.as"] project_files.concat Dir["#{src_folder}/**/*.mxml"] used = Array.new puts "src folder: #{src_folder}" names = link_reports.map{ |n| File.basename(n)} puts "reading: #{names.join(', ')}" link_reports.each{|report| raise "FlexSourceInspector::Error: #{report} doesn't exist!" unless File.exists?( report ) file = File.open( report ) doc = REXML::Document.new file doc.elements.each("//script"){ |script| name = script.attributes["name"] add_to_used( used, project_files, name, src_folder ) } } unused = project_files - used lines = unused.join("\n") "result:\n#{lines}\nend" end |
.is_declared?(file_name, declaration) ⇒ Boolean
A declaration can either be: “/Path/to/file/com/MyClass.as” or “/Path/to/My.swc(com:MyClass)” We check to see if either declaration matches the given file.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/flex-source-inspector.rb', line 53 def self.is_declared?( file_name, declaration ) # Check for a direct file declaration if declaration.include? file_name return true end # Check for a swc declaration class_name = convert_to_class_name file_name if declaration.include? class_name return true end false end |