Class: StoryboardLint::SourceScanner
- Inherits:
-
Object
- Object
- StoryboardLint::SourceScanner
- Defined in:
- lib/storyboardlint.rb
Instance Method Summary collapse
- #class_names ⇒ Object
-
#initialize(src_root, matcher) ⇒ SourceScanner
constructor
A new instance of SourceScanner.
- #reuse_ids ⇒ Object
- #scan_files ⇒ Object
- #segue_ids ⇒ Object
- #source_files ⇒ Object
- #storyboard_ids ⇒ Object
Constructor Details
#initialize(src_root, matcher) ⇒ SourceScanner
68 69 70 71 72 |
# File 'lib/storyboardlint.rb', line 68 def initialize(src_root, matcher) @matcher = matcher @src_root = src_root @scan_performed = false end |
Instance Method Details
#class_names ⇒ Object
116 117 118 119 |
# File 'lib/storyboardlint.rb', line 116 def class_names scan_files @class_names end |
#reuse_ids ⇒ Object
131 132 133 134 |
# File 'lib/storyboardlint.rb', line 131 def reuse_ids scan_files @reuse_ids end |
#scan_files ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/storyboardlint.rb', line 81 def scan_files if !@scan_performed @class_names ||= [] @segue_ids ||= [] @storyboard_ids ||= [] @reuse_ids ||= [] source_files.each do |source_file| File.readlines(source_file).each_with_index do |line, idx| # class names line.scan(@matcher.class_regex).each do |match| @class_names << {:file => source_file, :line => idx + 1, :class_name => match[0]} end # segue ids line.scan(@matcher.segue_id_regex_source).each do |match| @segue_ids << {:file => source_file, :line => idx + 1, :id => match[0]} end # storyboard ids line.scan(@matcher.storyboard_id_regex_source).each do |match| @storyboard_ids << {:file => source_file, :line => idx + 1, :id => match[0]} end # reuse ids line.scan(@matcher.reuse_id_regex_source).each do |match| @reuse_ids << {:file => source_file, :line => idx + 1, :id => match[0]} end end end @scan_performed = true end end |
#segue_ids ⇒ Object
121 122 123 124 |
# File 'lib/storyboardlint.rb', line 121 def segue_ids scan_files @segue_ids end |
#source_files ⇒ Object
74 75 76 77 78 79 |
# File 'lib/storyboardlint.rb', line 74 def source_files return @source_files if @source_files # find all *.h, *.c, *.m and *.mm files @source_files = Dir.glob(File.join(@src_root, "**/*.{h,c,m,mm}")) end |
#storyboard_ids ⇒ Object
126 127 128 129 |
# File 'lib/storyboardlint.rb', line 126 def storyboard_ids scan_files @storyboard_ids end |