Commit 99ee39bf authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add comments to new CI config classes and modules

parent 20ccd446
module Gitlab
module Ci
##
# Base GitLab CI Configuration facade
#
class Config
class LoaderError < StandardError; end
delegate :valid?, :errors, to: :@global
##
......
......@@ -2,6 +2,17 @@ module Gitlab
module Ci
class Config
module Node
##
# This mixin is responsible for adding DSL, which purpose is to
# simplifly process of adding child nodes.
#
# This can be used only if parent node is a configuration entry that
# holds a hash as a configuration value, for example:
#
# job:
# script: ...
# artifacts: ...
#
module Configurable
extend ActiveSupport::Concern
......
......@@ -2,6 +2,9 @@ module Gitlab
module Ci
class Config
module Node
##
# Base abstract class for each configuration entry node.
#
class Entry
class InvalidError < StandardError; end
......
......@@ -2,6 +2,10 @@ module Gitlab
module Ci
class Config
module Node
##
# This class represents a global entry - root node for entire
# GitLab CI Configuration file.
#
class Global < Entry
include Configurable
......
module Gitlab
module Ci
class Config
##
# This class represents a configuration entry that is not being used
# in configuration file.
#
# This implements Null Object pattern.
#
module Node
class Null < Entry
def value
......
......@@ -2,6 +2,14 @@ module Gitlab
module Ci
class Config
module Node
##
# Entry that represents a script.
#
# Each element in the value array is a command that will be executed
# by GitLab Runner. Currently we concatenate this commands with
# new line character as a separator what is compatbile with
# implementation in Runner.
#
class Script < Entry
include ValidationHelpers
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment