Method: PDK::Generate::ResourceAPIObject#check_preconditions
- Defined in:
- lib/pdk/generate/resource_api_object.rb
#check_preconditions ⇒ Object
:nocov: This is tested in spec/acceptance/new_transport_spec.rb
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/pdk/generate/resource_api_object.rb', line 11 def check_preconditions super # Note that these preconditions are only applicable to the current (V1) template rendering layout and will need to be changed # when additional template renderers are introduced. # # These preconditions can be removed once the pdk-templates are carrying the puppet-resource_api gem by default, and have switched # the default mock_with value. sync_path = PDK::Util.find_upwards('.sync.yml') if sync_path.nil? raise_precondition_error(_('.sync.yml not found')) end sync = YAML.load_file(sync_path) if !sync.is_a? Hash raise_precondition_error(_('.sync.yml contents is not a Hash')) elsif !sync.key? 'Gemfile' raise_precondition_error(_('Gemfile configuration not found')) elsif !sync['Gemfile'].key? 'optional' raise_precondition_error(_('Gemfile.optional configuration not found')) elsif !sync['Gemfile']['optional'].key? ':development' raise_precondition_error(_('Gemfile.optional.:development configuration not found')) elsif sync['Gemfile']['optional'][':development'].none? { |g| g['gem'] == 'puppet-resource_api' } raise_precondition_error(_('puppet-resource_api not found in the Gemfile config')) elsif !sync.key? 'spec/spec_helper.rb' raise_precondition_error(_('spec/spec_helper.rb configuration not found')) elsif !sync['spec/spec_helper.rb'].key? 'mock_with' raise_precondition_error(_('spec/spec_helper.rb.mock_with configuration not found')) elsif !sync['spec/spec_helper.rb']['mock_with'] == ':rspec' raise_precondition_error(_('spec/spec_helper.rb.mock_with not set to \':rspec\'')) end end |