Class: GitReviewer::Configuration
- Inherits:
-
Object
- Object
- GitReviewer::Configuration
- Defined in:
- lib/gitreviewer/config/configuration.rb
Instance Attribute Summary collapse
-
#file_owner ⇒ Object
Array<FileReOwner>.
-
#folder_owner ⇒ Object
Array<FolderOwner>.
-
#ignore_files ⇒ Object
Array<String>.
-
#ignore_folders ⇒ Object
Array<String>.
-
#project_owner ⇒ Object
String.
Instance Method Summary collapse
- #ignore?(file_name) ⇒ Boolean
-
#initialize(project_owner, folder_owner, file_owner, ignore_files, ignore_folders) ⇒ Configuration
constructor
A new instance of Configuration.
- #reviewer_of_file(file_name) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(project_owner, folder_owner, file_owner, ignore_files, ignore_folders) ⇒ Configuration
10 11 12 13 14 15 16 |
# File 'lib/gitreviewer/config/configuration.rb', line 10 def initialize(project_owner, folder_owner, file_owner, ignore_files, ignore_folders) @project_owner = project_owner @folder_owner = folder_owner @file_owner = file_owner @ignore_files = ignore_files @ignore_folders = ignore_folders end |
Instance Attribute Details
#file_owner ⇒ Object
Array<FileReOwner>
6 7 8 |
# File 'lib/gitreviewer/config/configuration.rb', line 6 def file_owner @file_owner end |
#folder_owner ⇒ Object
Array<FolderOwner>
5 6 7 |
# File 'lib/gitreviewer/config/configuration.rb', line 5 def folder_owner @folder_owner end |
#ignore_files ⇒ Object
Array<String>
7 8 9 |
# File 'lib/gitreviewer/config/configuration.rb', line 7 def ignore_files @ignore_files end |
#ignore_folders ⇒ Object
Array<String>
8 9 10 |
# File 'lib/gitreviewer/config/configuration.rb', line 8 def ignore_folders @ignore_folders end |
#project_owner ⇒ Object
String
4 5 6 |
# File 'lib/gitreviewer/config/configuration.rb', line 4 def project_owner @project_owner end |
Instance Method Details
#ignore?(file_name) ⇒ Boolean
28 29 30 31 32 33 34 35 36 |
# File 'lib/gitreviewer/config/configuration.rb', line 28 def ignore?(file_name) if @ignore_files != nil && @ignore_files.include?(file_name) return true end if @ignore_folders != nil && @ignore_folders.any?{ |folder| folder != nil && !folder.empty? && file_name.start_with?(folder) } return true end return false end |
#reviewer_of_file(file_name) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gitreviewer/config/configuration.rb', line 38 def reviewer_of_file(file_name) if ignore?(file_name) return nil end fowner = @file_owner.select { |owner| owner.path != nil && !owner.path.empty? && owner.path == file_name }.first if fowner != nil && fowner.owner != nil return fowner.owner end downer = @folder_owner.select { |owner| owner.path != nil && !owner.path.empty? && file_name.start_with?(owner.path) }.first if downer != nil && downer.owner != nil return downer.owner end if @project_owner == nil || @project_owner.empty? return "<project owner>" end return @project_owner end |
#to_hash ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/gitreviewer/config/configuration.rb', line 18 def to_hash { project_owner: @project_owner, folder_owner: @folder_owner.map(&:to_hash), file_owner: @file_owner.map(&:to_hash), ignore_files: @ignore_files, ignore_folders: @ignore_folders } end |