Class: GitHubChangelogGenerator::ParserFile

Inherits:
Object
  • Object
show all
Defined in:
lib/github_changelog_generator/parser_file.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ ParserFile

Returns a new instance of ParserFile.



3
4
5
# File 'lib/github_changelog_generator/parser_file.rb', line 3

def initialize(options)
  @options = options
end

Instance Method Details

#fileObject



7
8
9
# File 'lib/github_changelog_generator/parser_file.rb', line 7

def file
  File.expand_path(@options[:params_file] || ".github_changelog_generator")
end

#file?Boolean

Returns:



11
12
13
# File 'lib/github_changelog_generator/parser_file.rb', line 11

def file?
  File.exist?(file)
end

#file_openObject



15
16
17
# File 'lib/github_changelog_generator/parser_file.rb', line 15

def file_open
  File.open(file)
end

#parse!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/github_changelog_generator/parser_file.rb', line 19

def parse!
  return unless file?
  file_open.each do |line|
    begin
      key, value = line.split("=")
      key_sym = key.sub("-", "_").to_sym
      value = value.gsub(/[\n\r]+/, "")
      value = true if value =~ (/^(true|t|yes|y|1)$/i)
      value = false if value =~ (/^(false|f|no|n|0)$/i)
      @options[key_sym] = value
    rescue
      raise "File #{file} is incorrect in line \"#{line.gsub(/[\n\r]+/, '')}\""
    end
  end
  @options
end