Class: Gitlab::UsageMetricDefinitionGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Gitlab::UsageMetricDefinitionGenerator
- Defined in:
- lib/generators/gitlab/usage_metric_definition_generator.rb
Defined Under Namespace
Classes: Directory
Constant Summary collapse
- TIME_FRAME_DIRS =
[ Directory.new('counts_7d', '7d', 'number'), Directory.new('counts_28d', '28d', 'number'), Directory.new('counts_all', 'all', 'number'), Directory.new('settings', 'none', 'boolean'), Directory.new('license', 'none', 'string') ].freeze
- TOP_LEVEL_DIR =
'config'
- TOP_LEVEL_DIR_EE =
'ee'
- VALID_INPUT_DIRS =
(TIME_FRAME_DIRS.flat_map { |d| [d.name, d.time_frame] } - %w[none]).freeze
Instance Method Summary collapse
- #class_name ⇒ Object
- #create_metric_file ⇒ Object
- #distribution ⇒ Object
- #milestone ⇒ Object
- #tier ⇒ Object
- #time_frame ⇒ Object
- #value_type ⇒ Object
Instance Method Details
#class_name ⇒ Object
70 71 72 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 70 def class_name [:class_name] end |
#create_metric_file ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 42 def create_metric_file validate! key_paths.each do |key_path| template "metric_definition.yml", file_path(key_path), key_path end end |
#distribution ⇒ Object
58 59 60 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 58 def distribution (ee? ? ['- ee'] : ['- ce', '- ee']).join("\n") end |
#milestone ⇒ Object
66 67 68 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 66 def milestone Gitlab::VERSION.match('(\d+\.\d+)').captures.first end |
#tier ⇒ Object
62 63 64 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 62 def tier (ee? ? ['#- premium', '- ultimate'] : ['- free', '- premium', '- ultimate']).join("\n") end |
#time_frame ⇒ Object
50 51 52 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 50 def time_frame directory&.time_frame end |
#value_type ⇒ Object
54 55 56 |
# File 'lib/generators/gitlab/usage_metric_definition_generator.rb', line 54 def value_type directory&.value_type end |