Class: Inspec::Resource
- Inherits:
- 
      Object
      
        - Object
- Inspec::Resource
 
- Defined in:
- lib/inspec/resource.rb
Class Method Summary collapse
- 
  
    
      .create_dsl(profile_context)  ⇒ ResourcesDSL 
    
    
  
  
  
  
  
  
  
  
  
    Creates the inner DSL which includes all resources for creating tests. 
- .default_registry ⇒ Object
- .new_registry ⇒ Object
- .registry ⇒ Object
- .supports ⇒ Object
Class Method Details
.create_dsl(profile_context) ⇒ ResourcesDSL
Creates the inner DSL which includes all resources for creating tests. It is always connected to one target, which is specified via the backend argument.
| 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # File 'lib/inspec/resource.rb', line 33 def self.create_dsl(profile_context) backend = profile_context.backend my_registry = profile_context.resource_registry Module.new do define_method :resource_class do |profile_name, resource_name| inner_context = if profile_name == profile_context.profile_id profile_context else profile_context.subcontext_by_name(profile_name) end raise ProfileNotFound, "Cannot find profile named: #{profile_name}" if inner_context.nil? inner_context.resource_registry[resource_name] end my_registry.each do |id, r| define_method id.to_sym do |*args| r.new(backend, id.to_s, *args) end # confirm backend custom resources have access to other custom resources next if backend.respond_to?(id) backend.class.send(:define_method, id.to_sym) do |*args| r.new(backend, id.to_s, *args) end end # attach backend so we have access to all resources and # the train connection object define_method :inspec do backend end end end | 
.default_registry ⇒ Object
| 11 12 13 | # File 'lib/inspec/resource.rb', line 11 def self.default_registry @default_registry ||= {} end | 
.new_registry ⇒ Object
| 23 24 25 | # File 'lib/inspec/resource.rb', line 23 def self.new_registry default_registry.dup end | 
.registry ⇒ Object
| 15 16 17 | # File 'lib/inspec/resource.rb', line 15 def self.registry @registry ||= default_registry end | 
.supports ⇒ Object
| 19 20 21 | # File 'lib/inspec/resource.rb', line 19 def self.supports @supports ||= {} end |