librarian-puppet-maestrodev 0.9.9.7 → 0.9.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,22 +7,22 @@ module Librarian
7
7
  class Forge
8
8
  class Repo
9
9
 
10
- attr_accessor :source, :name, :versions, :api_data
11
- private :source=, :name=, :versions=, :api_data, :api_data=
10
+ attr_accessor :source, :name
11
+ private :source=, :name=
12
12
 
13
13
  def initialize(source, name)
14
14
  self.source = source
15
15
  self.name = name
16
+ @api_data = nil
17
+ end
16
18
 
17
- # call API and cache data
18
- self.api_data = api_call(name)
19
- if api_data.nil?
20
- raise Error, "Unable to find module '#{name}' on #{source}"
21
- end
19
+ def versions
20
+ return @versions if @versions
22
21
  versions = api_data[name].map { |r| r['version'] }.reverse
23
22
  debug { " Module #{name} found versions: #{versions.join(", ")}" }
24
23
  versions.select { |v| ! Gem::Version.correct? v }.each { |v| debug { "Ignoring invalid version '#{v}' for module #{name}" } }
25
- self.versions = versions.select { |v| Gem::Version.correct? v }
24
+ @versions = versions.select { |v| Gem::Version.correct? v }
25
+ @versions
26
26
  end
27
27
 
28
28
  def dependencies(version)
@@ -95,6 +95,7 @@ module Librarian
95
95
 
96
96
 
97
97
  command = "puppet module install --version #{version} --target-dir '#{path}' --module_repository '#{source}' --modulepath '#{path}' --ignore-dependencies '#{target}'"
98
+ debug { "Executing puppet module install for #{name} #{version}" }
98
99
  output = `#{command}`
99
100
 
100
101
  # Check for bad exit code
@@ -138,8 +139,18 @@ module Librarian
138
139
  end
139
140
 
140
141
  private
142
+ def api_data
143
+ return @api_data if @api_data
144
+ # call API and cache data
145
+ @api_data = api_call(name)
146
+ if @api_data.nil?
147
+ raise Error, "Unable to find module '#{name}' on #{source}"
148
+ end
149
+ @api_data
150
+ end
141
151
 
142
152
  def api_call(module_name)
153
+ debug { "Querying Forge API for module #{name}" }
143
154
  base_url = source.uri
144
155
  begin
145
156
  data = open("#{base_url}/api/v1/releases.json?module=#{module_name}") {|f| f.read}
@@ -1,5 +1,5 @@
1
1
  module Librarian
2
2
  module Puppet
3
- VERSION = "0.9.9.7"
3
+ VERSION = "0.9.9.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librarian-puppet-maestrodev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.9.7
4
+ version: 0.9.9.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -149,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
149
  version: '0'
150
150
  segments:
151
151
  - 0
152
- hash: -3641701570484774639
152
+ hash: -1093121364581452316
153
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  none: false
155
155
  requirements:
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  version: '0'
159
159
  segments:
160
160
  - 0
161
- hash: -3641701570484774639
161
+ hash: -1093121364581452316
162
162
  requirements: []
163
163
  rubyforge_project:
164
164
  rubygems_version: 1.8.25