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
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.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/inspec/resource.rb', line 30 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 end end end |
.default_registry ⇒ Object
12 13 14 |
# File 'lib/inspec/resource.rb', line 12 def self.default_registry @default_registry ||= {} end |
.new_registry ⇒ Object
20 21 22 |
# File 'lib/inspec/resource.rb', line 20 def self.new_registry default_registry.dup end |
.registry ⇒ Object
16 17 18 |
# File 'lib/inspec/resource.rb', line 16 def self.registry @registry ||= default_registry end |