Class: Gitomator::Task::Config::ReposConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/gitomator/task/config/repos_config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_obj) ⇒ ReposConfig

Returns a new instance of ReposConfig.

Parameters:

  • config_obj (Hash)

    Configuration data (commonly loaded from a YAML file)



16
17
18
19
20
21
22
23
24
# File 'lib/gitomator/task/config/repos_config.rb', line 16

def initialize(config_obj)
  raise "Missing required key, repos" unless config_obj.has_key? 'repos'
  
  @default_access_permission = (config_obj['default_access_permission'] || :read).to_sym
  @source_repo = config_obj['source_repo']
  @repo_properties = config_obj['repo_properties'] || {}

  @repo2permissions = parse_repo2permissions(config_obj['repos'])
end

Instance Attribute Details

#default_access_permissionObject (readonly)

Returns the value of attribute default_access_permission.



9
10
11
# File 'lib/gitomator/task/config/repos_config.rb', line 9

def default_access_permission
  @default_access_permission
end

#repo_propertiesObject (readonly)

Returns the value of attribute repo_properties.



10
11
12
# File 'lib/gitomator/task/config/repos_config.rb', line 10

def repo_properties
  @repo_properties
end

#source_repoObject (readonly)

Returns the value of attribute source_repo.



11
12
13
# File 'lib/gitomator/task/config/repos_config.rb', line 11

def source_repo
  @source_repo
end

Instance Method Details

#permissions(repo) ⇒ Hash<String,Symbol>

Returns Map name (user or team) to permission (:read/:write/:admin).

Parameters:

  • repo (String)

    The name of a repository

Returns:

  • (Hash<String,Symbol>)

    Map name (user or team) to permission (:read/:write/:admin)



38
39
40
# File 'lib/gitomator/task/config/repos_config.rb', line 38

def permissions(repo)
  @repo2permissions[repo]
end

#reposEnumerable<Strings>

Returns The names of the repos.

Returns:

  • (Enumerable<Strings>)

    The names of the repos.



30
31
32
# File 'lib/gitomator/task/config/repos_config.rb', line 30

def repos
  @repo2permissions.keys
end