Class: Serum::Rails::CodeScanner
- Inherits:
-
Object
- Object
- Serum::Rails::CodeScanner
- Defined in:
- lib/serum/rails/code_scanner.rb
Constant Summary collapse
- DEFAULT_FOLDERS =
%w[app lib config public].freeze
- ANYTHING =
/.*/.freeze
- DEBUG =
false
Instance Method Summary collapse
- #count_lines(options = {}) ⇒ Object
-
#initialize(root) ⇒ CodeScanner
constructor
A new instance of CodeScanner.
Constructor Details
#initialize(root) ⇒ CodeScanner
Returns a new instance of CodeScanner.
9 10 11 |
# File 'lib/serum/rails/code_scanner.rb', line 9 def initialize(root) @root = root end |
Instance Method Details
#count_lines(options = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/serum/rails/code_scanner.rb', line 13 def count_lines( = {}) pattern = .fetch(:pattern, ANYTHING) folders = Array.wrap(.fetch(:folders, DEFAULT_FOLDERS)) type_selection = TypeSelection.new([:types]) paths(folders, type_selection).sort.sum do |path| count_occurrences(path, pattern) end end |