Class: Codeowners::Checker::CodeOwners

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/codeowners/checker/code_owners.rb

Overview

Manage CODEOWNERS file reading and re-writing.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_manager, transformers: nil) ⇒ CodeOwners

Returns a new instance of CodeOwners.



14
15
16
17
18
19
20
# File 'lib/codeowners/checker/code_owners.rb', line 14

def initialize(file_manager, transformers: nil)
  @file_manager = file_manager
  @transform_line_procs = [
    method(:build_line),
    *transformers
  ]
end

Instance Attribute Details

#file_managerObject (readonly)

Returns the value of attribute file_manager.



12
13
14
# File 'lib/codeowners/checker/code_owners.rb', line 12

def file_manager
  @file_manager
end

#transform_line_procsObject (readonly)

Returns the value of attribute transform_line_procs.



12
13
14
# File 'lib/codeowners/checker/code_owners.rb', line 12

def transform_line_procs
  @transform_line_procs
end

Instance Method Details

#each(&block) ⇒ Object



30
31
32
# File 'lib/codeowners/checker/code_owners.rb', line 30

def each(&block)
  main_group.each(&block)
end

#main_groupObject



26
27
28
# File 'lib/codeowners/checker/code_owners.rb', line 26

def main_group
  @main_group ||= Group.parse(list)
end

#persist!Object



22
23
24
# File 'lib/codeowners/checker/code_owners.rb', line 22

def persist!
  file_manager.content = to_content
end

#to_contentObject



34
35
36
# File 'lib/codeowners/checker/code_owners.rb', line 34

def to_content
  main_group.to_content
end