Module: Gitguard::Config

Extended by:
Config
Included in:
Config
Defined in:
lib/gitguard/config.rb

Constant Summary collapse

CONFIG_FILENAME =
'.gitguard'.freeze

Instance Method Summary collapse

Instance Method Details

#configObject



11
12
13
# File 'lib/gitguard/config.rb', line 11

def config
  @config ||= load_config
end

#config_pathObject



19
20
21
22
23
24
25
26
# File 'lib/gitguard/config.rb', line 19

def config_path
  unless @config_path
    dir = DirSearch.up{|dir| File.readable?(File.join(dir, CONFIG_FILENAME)) }
    raise Error, "File not found: #{CONFIG_FILENAME}" unless dir
    @config_path = File.join(dir, CONFIG_FILENAME)
  end
  @config_path
end

#load_configObject



15
16
17
# File 'lib/gitguard/config.rb', line 15

def load_config
  YAML.load_file(config_path)
end

#rake_task_patternsObject



28
29
30
# File 'lib/gitguard/config.rb', line 28

def rake_task_patterns
  config['tasks'].map{|t| Regexp.new(t) }
end

#target_rake_task?(task) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/gitguard/config.rb', line 32

def target_rake_task?(task)
  rake_task_patterns.any?{|ptn| ptn =~ task}
end