Class: BBK::Utils::Cli::Category
- Inherits:
-
Struct
- Object
- Struct
- BBK::Utils::Cli::Category
- Defined in:
- lib/bbk/utils/cli/docs/builder.rb
Overview
Структура категории для группировки конфигураций
Instance Attribute Summary collapse
-
#cfgs ⇒ Array<Hash>
readonly
конфигурации категории.
-
#desc ⇒ String
readonly
описание категории.
-
#envs ⇒ Array<String>
readonly
список переменных окружения категории.
-
#id ⇒ String
readonly
идентификатор категории.
-
#name ⇒ String
readonly
название категории.
-
#order ⇒ Numeric
readonly
порядок сортировки.
-
#patterns ⇒ Array<String>
readonly
шаблоны для поиска элементов категории.
Instance Method Summary collapse
-
#add(cfg) ⇒ self
Добавляет конфигурацию в категорию.
-
#initialize(**kwargs) ⇒ Category
constructor
Инициализирует категорию.
-
#match?(env_name) ⇒ Boolean
Проверяет соответствие имени переменной окружающей категории.
Constructor Details
#initialize(**kwargs) ⇒ Category
Инициализирует категорию
112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 112 def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end |
Instance Attribute Details
#cfgs ⇒ Array<Hash> (readonly)
Returns конфигурации категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#desc ⇒ String (readonly)
Returns описание категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#envs ⇒ Array<String> (readonly)
Returns список переменных окружения категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#id ⇒ String (readonly)
Returns идентификатор категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#name ⇒ String (readonly)
Returns название категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#order ⇒ Numeric (readonly)
Returns порядок сортировки.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
#patterns ⇒ Array<String> (readonly)
Returns шаблоны для поиска элементов категории.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 101 Category = Struct.new(:id, :name, :desc, :envs, :order, :patterns, :cfgs, keyword_init: true) do # Инициализирует категорию # # @param kwargs [Hash] параметры категории # @option kwargs [String] :id идентификатор категории # @option kwargs [String] :name название категории # @option kwargs [String] :desc описание категории # @option kwargs [Array<String>] :envs переменные окружения # @option kwargs [Numeric] :order порядок сортировки # @option kwargs [Array<String>] :patterns шаблоны поиска # @option kwargs [Array<Hash>] :cfgs конфигурации def initialize(**kwargs) kwargs[:id] = kwargs[:id].to_s kwargs[:name] = kwargs[:name].to_s || kwargs[:id].capitalize kwargs[:desc] = kwargs[:desc].to_s kwargs[:patterns] ||= [] kwargs[:envs] ||= [] kwargs[:order] ||= Float::INFINITY kwargs[:cfgs] ||= [] super end # Проверяет соответствие имени переменной окружающей категории # # @param env_name [String, Symbol] имя переменной окружения # @return [Boolean] true если соответствует категории def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end # Добавляет конфигурацию в категорию # # @param cfg [Hash] конфигурация для добавления # @return [self] возвращает сам объект для цепочного вызова def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end end |
Instance Method Details
#add(cfg) ⇒ self
Добавляет конфигурацию в категорию
141 142 143 144 145 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 141 def add(cfg) cfgs << cfg self.cfgs = cfgs.sort_by { |c| c[:env] } self end |
#match?(env_name) ⇒ Boolean
Проверяет соответствие имени переменной окружающей категории
129 130 131 132 133 134 135 |
# File 'lib/bbk/utils/cli/docs/builder.rb', line 129 def match?(env_name) return true if envs.any? { |e| e == env_name.to_s.strip } return true if patterns.any? { |p| env_name.to_s.strip.start_with?(p) } false end |