Class: PDK::Module::Update
  
  
  
  
    
      Constant Summary
      collapse
    
    
      
        - GIT_DESCRIBE_PATTERN =
          
        
- %r{\A(?<base>.+?)-(?<additional_commits>\d+)-g(?<sha>.+)\Z}
Instance Attribute Summary
  
  Attributes inherited from Convert
  #options
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Convert
  #force?, #full_report, #generate_banner, #initialize, invoke, #needs_bundle_update?, #noop?, #print_result, #print_summary, #stage_changes!, #summary, #update_manager, #update_metadata
  
    Instance Method Details
    
      
  
  
    #current_version  ⇒ Object 
  
  
  
  
    | 
59
60
61 | # File 'lib/pdk/module/update.rb', line 59
def current_version
  @current_version ||= describe_ref_to_s(current_template_version)
end | 
 
    
      
    
      
  
  
    #new_template_version  ⇒ Object 
  
  
  
  
    | 
67
68
69
70
71
72
73
74
75 | # File 'lib/pdk/module/update.rb', line 67
def new_template_version
  return options[:'template-ref'] if options[:'template-ref']
  if template_uri.default? && template_uri.ref_is_tag? && PDK::Util.package_install?
    PDK::Util::TemplateURI.default_template_ref
  else
    template_uri.git_ref
  end
end | 
 
    
      
  
  
    #new_version  ⇒ Object 
  
  
  
  
    | 
63
64
65 | # File 'lib/pdk/module/update.rb', line 63
def new_version
  @new_version ||= fetch_remote_version(new_template_version)
end | 
 
    
      
  
  
    #run  ⇒ Object 
  
  
  
  
    | 
8
9
10
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
41
42
43
44
45
46
47 | # File 'lib/pdk/module/update.rb', line 8
def run
  template_uri.git_ref = new_template_version
  stage_changes!
  if current_version == new_version
    PDK.logger.debug _('This module is already up to date with version %{version} of the template.') % {
      version: new_version,
    }
  end
  unless update_manager.changes?
    PDK::Report.default_target.puts(_('No changes required.'))
    return
  end
  PDK.logger.info(update_message)
  print_summary
  full_report('update_report.txt') unless update_manager.changes[:modified].empty?
  return if noop?
  unless force?
    message = _('Do you want to continue and make these changes to your module?')
    return unless PDK::CLI::Util.prompt_for_yes(message)
  end
    if needs_bundle_update?
    update_manager.unlink_file('Gemfile.lock')
    update_manager.unlink_file(File.join('.bundle', 'config'))
  end
  update_manager.sync_changes!
  PDK::Util::Bundler.ensure_bundle! if needs_bundle_update?
  print_result 'Update completed'
end | 
 
    
      
  
  
    #template_uri  ⇒ Object 
  
  
  
  
    | 
55
56
57 | # File 'lib/pdk/module/update.rb', line 55
def template_uri
  @template_uri ||= PDK::Util::TemplateURI.new(module_metadata.data['template-url'])
end |