Sha256: 2e705a3007219544a3129edb6628dfb8b367bec87ff94d489c5d4a6b4de99987
Contents?: true
Size: 1.23 KB
Versions: 4
Compression:
Stored size: 1.23 KB
Contents
require 'fig/statement' require 'fig/statement/command' module Fig; end # A grouping of statements within a package. May not be nested. # # Any processing of statements is guaranteed to hit any Overrides first. class Fig::Statement::Configuration < Fig::Statement attr_reader :name, :statements def initialize(line_column, source_description, name, statements) super(line_column, source_description) @name = name overrides, others = statements.partition do |statement| statement.is_a?(Fig::Statement::Override) end @statements = [overrides, others].flatten end def command_statement return statements.find do |statement| statement.is_a?(Fig::Statement::Command) end end # Block will receive a Statement. def walk_statements(&block) @statements.each do |statement| yield statement statement.walk_statements &block end end def unparse(indent) unparse_statements(indent, "config #{@name}", @statements, 'end') end private def unparse_statements(indent, prefix, statements, suffix) body = @statements.map {|statement| statement.unparse(indent + ' ') }.join("\n") return ["\n#{indent}#{prefix}", body, "#{indent}#{suffix}"].join("\n") end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fig-0.1.69 | lib/fig/statement/configuration.rb |
fig-0.1.67 | lib/fig/statement/configuration.rb |
fig-0.1.65 | lib/fig/statement/configuration.rb |
fig-0.1.64 | lib/fig/statement/configuration.rb |