Module: Legion::Extensions::Helpers::Segments
- Defined in:
- lib/legion/extensions/helpers/segments.rb
Class Method Summary collapse
- .categorize_gem(gem_name, categories:, lists:) ⇒ Object
- .derive_const_path(gem_name) ⇒ Object
- .derive_namespace(gem_name) ⇒ Object
- .derive_require_path(gem_name) ⇒ Object
- .derive_segments(gem_name) ⇒ Object
- .segments_to_amqp_prefix(segments) ⇒ Object
- .segments_to_log_tag(segments) ⇒ Object
- .segments_to_settings_path(segments) ⇒ Object
- .segments_to_table_prefix(segments) ⇒ Object
Class Method Details
.categorize_gem(gem_name, categories:, lists:) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/legion/extensions/helpers/segments.rb', line 41 def categorize_gem(gem_name, categories:, lists:) # Check defined lists first (list membership takes priority) lists.each do |cat_name, gem_list| next unless categories.key?(cat_name) return { category: cat_name, tier: categories[cat_name][:tier] } if gem_list.include?(gem_name) end # Check prefix-matched categories = gem_name.delete_prefix('lex-') categories.each do |cat_name, cat_config| next unless cat_config[:type] == :prefix return { category: cat_name, tier: cat_config[:tier] } if .start_with?("#{cat_name}-") end { category: :default, tier: 5 } end |
.derive_const_path(gem_name) ⇒ Object
17 18 19 |
# File 'lib/legion/extensions/helpers/segments.rb', line 17 def derive_const_path(gem_name) "Legion::Extensions::#{derive_namespace(gem_name).join('::')}" end |
.derive_namespace(gem_name) ⇒ Object
13 14 15 |
# File 'lib/legion/extensions/helpers/segments.rb', line 13 def derive_namespace(gem_name) derive_segments(gem_name).map { |s| s.split('_').map(&:capitalize).join } end |
.derive_require_path(gem_name) ⇒ Object
21 22 23 |
# File 'lib/legion/extensions/helpers/segments.rb', line 21 def derive_require_path(gem_name) "legion/extensions/#{derive_segments(gem_name).join('/')}" end |
.derive_segments(gem_name) ⇒ Object
9 10 11 |
# File 'lib/legion/extensions/helpers/segments.rb', line 9 def derive_segments(gem_name) gem_name.delete_prefix('lex-').split('-') end |
.segments_to_amqp_prefix(segments) ⇒ Object
29 30 31 |
# File 'lib/legion/extensions/helpers/segments.rb', line 29 def segments_to_amqp_prefix(segments) "lex.#{segments.join('.')}" end |
.segments_to_log_tag(segments) ⇒ Object
25 26 27 |
# File 'lib/legion/extensions/helpers/segments.rb', line 25 def segments_to_log_tag(segments) segments.map { |s| "[#{s}]" }.join end |
.segments_to_settings_path(segments) ⇒ Object
33 34 35 |
# File 'lib/legion/extensions/helpers/segments.rb', line 33 def segments_to_settings_path(segments) segments.map(&:to_sym) end |
.segments_to_table_prefix(segments) ⇒ Object
37 38 39 |
# File 'lib/legion/extensions/helpers/segments.rb', line 37 def segments_to_table_prefix(segments) segments.join('_') end |