summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util/fileparsing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/util/fileparsing.rb')
-rw-r--r--lib/puppet/util/fileparsing.rb44
1 files changed, 11 insertions, 33 deletions
diff --git a/lib/puppet/util/fileparsing.rb b/lib/puppet/util/fileparsing.rb
index 974d908b8..7348b8946 100644
--- a/lib/puppet/util/fileparsing.rb
+++ b/lib/puppet/util/fileparsing.rb
@@ -43,18 +43,14 @@ module Puppet::Util::FileParsing
def fields=(fields)
@fields = fields.collect do |field|
r = symbolize(field)
- if INVALID_FIELDS.include?(r)
- raise ArgumentError.new("Cannot have fields named #{r}")
- end
+ raise ArgumentError.new("Cannot have fields named #{r}") if INVALID_FIELDS.include?(r)
r
end
end
def initialize(type, options = {}, &block)
@type = symbolize(type)
- unless [:record, :text].include?(@type)
- raise ArgumentError, "Invalid record type #{@type}"
- end
+ raise ArgumentError, "Invalid record type #{@type}" unless [:record, :text].include?(@type)
set_options(options)
@@ -64,9 +60,7 @@ module Puppet::Util::FileParsing
self.separator ||= /\s+/
self.joiner ||= " "
self.optional ||= []
- unless defined?(@rollup)
- @rollup = true
- end
+ @rollup = true unless defined?(@rollup)
end
if block_given?
@@ -213,9 +207,7 @@ module Puppet::Util::FileParsing
end
def line_separator
- unless defined?(@line_separator)
- @line_separator = "\n"
- end
+ @line_separator = "\n" unless defined?(@line_separator)
@line_separator
end
@@ -244,18 +236,14 @@ module Puppet::Util::FileParsing
# Handle parsing a single line.
def parse_line(line)
- unless records?
- raise Puppet::DevError, "No record types defined; cannot parse lines"
- end
+ raise Puppet::DevError, "No record types defined; cannot parse lines" unless records?
@record_order.each do |record|
# These are basically either text or record lines.
method = "handle_#{record.type}_line"
if respond_to?(method)
if result = send(method, line, record)
- if record.respond_to?(:post_parse)
- record.send(:post_parse, result)
- end
+ record.send(:post_parse, result) if record.respond_to?(:post_parse)
return result
end
else
@@ -282,9 +270,7 @@ module Puppet::Util::FileParsing
# the regex will be removed.
# * <tt>:separator</tt>: The record separator. Defaults to /\s+/.
def record_line(name, options, &block)
- unless options.include?(:fields)
- raise ArgumentError, "Must include a list of fields"
- end
+ raise ArgumentError, "Must include a list of fields" unless options.include?(:fields)
record = FileRecord.new(:record, options, &block)
record.name = symbolize(name)
@@ -299,9 +285,7 @@ module Puppet::Util::FileParsing
# Define a new type of text record.
def text_line(name, options, &block)
- unless options.include?(:match)
- raise ArgumentError, "You must provide a :match regex for text lines"
- end
+ raise ArgumentError, "You must provide a :match regex for text lines" unless options.include?(:match)
record = FileRecord.new(:text, options, &block)
record.name = symbolize(name)
@@ -313,9 +297,7 @@ module Puppet::Util::FileParsing
def to_file(records)
text = records.collect { |record| to_line(record) }.join(line_separator)
- if trailing_separator
- text += line_separator
- end
+ text += line_separator if trailing_separator
return text
end
@@ -334,9 +316,7 @@ module Puppet::Util::FileParsing
case record.type
when :text; return details[:line]
else
- if record.respond_to?(:to_line)
- return record.to_line(details)
- end
+ return record.to_line(details) if record.respond_to?(:to_line)
line = record.join(details)
@@ -381,9 +361,7 @@ module Puppet::Util::FileParsing
@record_types ||= {}
@record_order ||= []
- if @record_types.include?(record.name)
- raise ArgumentError, "Line type #{record.name} is already defined"
- end
+ raise ArgumentError, "Line type #{record.name} is already defined" if @record_types.include?(record.name)
@record_types[record.name] = record
@record_order << record