Class: AbideDevUtils::Sce::HieraData::MappingData::Mapper
- Inherits:
 - 
      Object
      
        
- Object
 - AbideDevUtils::Sce::HieraData::MappingData::Mapper
 
 
- Defined in:
 - lib/abide_dev_utils/sce/hiera_data/mapping_data.rb
 
Overview
Handles interacting with mapping data
Instance Attribute Summary collapse
- 
  
    
      #framework  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute framework.
 - 
  
    
      #map_data  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute map_data.
 - 
  
    
      #module_name  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute module_name.
 
Instance Method Summary collapse
- #each_like(identifier) ⇒ Object
 - #each_with_array_like(identifier) ⇒ Object
 - #get(control_id, level: nil, profile: nil) ⇒ Object
 - 
  
    
      #initialize(module_name, framework, map_data)  ⇒ Mapper 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Mapper.
 - #levels ⇒ Object
 - #map_type(control_id) ⇒ Object
 - #profiles ⇒ Object
 - #title ⇒ Object
 - #version ⇒ Object
 
Constructor Details
#initialize(module_name, framework, map_data) ⇒ Mapper
Returns a new instance of Mapper.
      22 23 24 25 26 27 28 29  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 22 def initialize(module_name, framework, map_data) @module_name = module_name @framework = framework load_framework(@framework) @map_data = map_data.map { |_, v| MapData.new(v) } @cache = {} @rule_cache = {} end  | 
  
Instance Attribute Details
#framework ⇒ Object (readonly)
Returns the value of attribute framework.
      20 21 22  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 20 def framework @framework end  | 
  
#map_data ⇒ Object (readonly)
Returns the value of attribute map_data.
      20 21 22  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 20 def map_data @map_data end  | 
  
#module_name ⇒ Object (readonly)
Returns the value of attribute module_name.
      20 21 22  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 20 def module_name @module_name end  | 
  
Instance Method Details
#each_like(identifier) ⇒ Object
      47 48 49  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 47 def each_like(identifier) identified_map_data(identifier)&.each { |key, val| yield key, val } end  | 
  
#each_with_array_like(identifier) ⇒ Object
      51 52 53  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 51 def each_with_array_like(identifier) identified_map_data(identifier)&.each_with_object([]) { |(key, val), ary| yield [key, val], ary } end  | 
  
#get(control_id, level: nil, profile: nil) ⇒ Object
      55 56 57  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 55 def get(control_id, level: nil, profile: nil) identified_map_data(control_id)&.get(control_id, level: level, profile: profile) end  | 
  
#levels ⇒ Object
      39 40 41  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 39 def levels @levels ||= default_map_data.levels end  | 
  
#map_type(control_id) ⇒ Object
      59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 59 def map_type(control_id) return control_id if ALL_TYPES.include?(control_id) case control_id when %r{^c[0-9_]+$} 'hiera_title_num' when %r{^[0-9][0-9.]*$} 'number' when %r{^[a-z][a-z0-9_]+$} 'hiera_title' when %r{^V-[0-9]{6}$} 'vulnid' else 'title' end end  | 
  
#profiles ⇒ Object
      43 44 45  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 43 def profiles @profiles ||= default_map_data.profiles end  | 
  
#title ⇒ Object
      31 32 33  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 31 def title @title ||= benchmark_data['title'] end  | 
  
#version ⇒ Object
      35 36 37  | 
    
      # File 'lib/abide_dev_utils/sce/hiera_data/mapping_data.rb', line 35 def version @version ||= benchmark_data['version'] end  |