puppetfiler 0.1.4 → 0.1.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.rst +52 -0
- data/TODO +4 -4
- data/data/metadata_emptydeps.json +12 -0
- data/data/metadata_nodeps.json +10 -0
- data/data/simple_metadata.json +16 -0
- data/lib/puppetfiler/cli.rb +58 -8
- data/lib/puppetfiler/metadata.rb +37 -0
- data/lib/puppetfiler/mod.rb +84 -4
- data/lib/puppetfiler/puppetfile.rb +11 -61
- data/lib/puppetfiler/version.rb +1 -1
- data/lib/puppetfiler.rb +58 -0
- data/puppetfiler.gemspec +2 -0
- metadata +36 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e2e5783e88c6066b2e029741e8246192c59216f
|
4
|
+
data.tar.gz: c6a19c79436262c91b7d263205de583b5eb5484b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 263b769794f7d8aadff453d04d11a92ab9eaeb7fb1a461fb9d64d83ddd8a8a4b326318adfd75ac8473b1e24279a2e902d19543e257002307702633beacfde14d
|
7
|
+
data.tar.gz: 49d3855d4009093d043fcdc74e7b3fe1a34f08b0450cd0e26d214db327e2690a7c7bca29006289a3c944d9924ed259d8a1ab52b1e23d76d9e51cc29225be164d
|
data/CHANGELOG.rst
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
v0.1.5
|
2
|
+
------
|
3
|
+
|
4
|
+
Breaking changes
|
5
|
+
~~~~~~~~~~~~~~~~
|
6
|
+
- Puppetfile/metadata.json are now specified via flags instead of
|
7
|
+
passing them in.
|
8
|
+
If neither are passed puppetfiler checks for a Puppetfile first, then
|
9
|
+
for a metadata.json.
|
10
|
+
If neither are found puppetfiler fails.
|
11
|
+
|
12
|
+
Changes
|
13
|
+
~~~~~~~
|
14
|
+
- The fixture method is now a module function with the following
|
15
|
+
signature ``fixture(forge_modules, repos, modifier)``, with
|
16
|
+
forge_modules being instances of ``Puppetfiler::Mod``
|
17
|
+
|
18
|
+
``Puppetfiler::Puppetfile#fixture`` is still available.
|
19
|
+
|
20
|
+
- Fixtures can now also be generated from metadata.json files
|
21
|
+
|
22
|
+
|
23
|
+
v0.1.4
|
24
|
+
------
|
25
|
+
Bugfix release
|
26
|
+
|
27
|
+
The output of the fixture() method did not include the top-level
|
28
|
+
'fixtures' key.
|
29
|
+
|
30
|
+
v0.1.3
|
31
|
+
------
|
32
|
+
|
33
|
+
Changes
|
34
|
+
~~~~~~~
|
35
|
+
|
36
|
+
- A hash can now be passed into the fixture() method, allowing to
|
37
|
+
modify the resulting hashes.
|
38
|
+
Primarily useful to pass additional proxy flags or to target in-house
|
39
|
+
mirrors
|
40
|
+
|
41
|
+
v0.1.2
|
42
|
+
------
|
43
|
+
|
44
|
+
Changes
|
45
|
+
~~~~~~~
|
46
|
+
|
47
|
+
- Set mimimum ruby version to latest stable 2.1
|
48
|
+
|
49
|
+
v0.1.1
|
50
|
+
------
|
51
|
+
|
52
|
+
Initial release
|
data/TODO
CHANGED
@@ -9,8 +9,8 @@
|
|
9
9
|
environment, which'd favor matching against found metaparams below the
|
10
10
|
current path
|
11
11
|
|
12
|
-
*
|
13
|
-
|
14
|
-
|
12
|
+
* Mock api calls in aruba tests
|
13
|
+
Not as easy as with rspec, see https://github.com/cucumber/aruba/issues/169
|
14
|
+
However using arubas in-process execution it is possible to use webmock to mock these calls.
|
15
15
|
|
16
|
-
|
16
|
+
It is quite ugly though: https://github.com/erikhuda/thor/wiki/Integrating-with-Aruba-In-Process-Runs
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"name": "example-module",
|
3
|
+
"version": "0.1.0",
|
4
|
+
"author": "Some Author",
|
5
|
+
"summary": "Examplary summary",
|
6
|
+
"license": "MIT",
|
7
|
+
"source": "https://github.com/ntnn/puppetfiler",
|
8
|
+
"project_page": "https://github.com/ntnn/puppetfiler",
|
9
|
+
"issues_url": "https://github.com/ntnn/puppetfiler/issues",
|
10
|
+
"dependencies": [
|
11
|
+
]
|
12
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"name": "example-module",
|
3
|
+
"version": "0.1.0",
|
4
|
+
"author": "Some Author",
|
5
|
+
"summary": "Examplary summary",
|
6
|
+
"license": "MIT",
|
7
|
+
"source": "https://github.com/ntnn/puppetfiler",
|
8
|
+
"project_page": "https://github.com/ntnn/puppetfiler",
|
9
|
+
"issues_url": "https://github.com/ntnn/puppetfiler/issues"
|
10
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{
|
2
|
+
"name": "example-module",
|
3
|
+
"version": "0.1.0",
|
4
|
+
"author": "Some Author",
|
5
|
+
"summary": "Examplary summary",
|
6
|
+
"license": "MIT",
|
7
|
+
"source": "https://github.com/ntnn/puppetfiler",
|
8
|
+
"project_page": "https://github.com/ntnn/puppetfiler",
|
9
|
+
"issues_url": "https://github.com/ntnn/puppetfiler/issues",
|
10
|
+
"dependencies": [
|
11
|
+
{
|
12
|
+
"name": "puppetlabs/stdlib",
|
13
|
+
"version_requirement": ">= 4.13.0 < 5.0.0"
|
14
|
+
}
|
15
|
+
]
|
16
|
+
}
|
data/lib/puppetfiler/cli.rb
CHANGED
@@ -5,22 +5,56 @@ require 'puppetfiler/version'
|
|
5
5
|
|
6
6
|
module Puppetfiler
|
7
7
|
class CLI < Thor
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
class_option :puppetfile, {
|
9
|
+
:default => nil,
|
10
|
+
:desc => 'Puppetfile to act on',
|
11
|
+
:aliases => ['p'],
|
12
|
+
}
|
13
|
+
|
14
|
+
class_option :metadata, {
|
15
|
+
:default => nil,
|
16
|
+
:desc => 'metadata.json to act on',
|
17
|
+
:aliases => ['m'],
|
18
|
+
}
|
19
|
+
|
20
|
+
desc 'check', 'Check forge for newer versions of used forge modules'
|
21
|
+
def check()
|
22
|
+
target = target(options)
|
23
|
+
|
24
|
+
case target[:type]
|
25
|
+
when :puppetfile
|
26
|
+
t = Puppetfiler::Puppetfile.new(target[:result])
|
27
|
+
when :metadata
|
28
|
+
# TODO see below
|
29
|
+
fail 'Checking metadata.json for version range updates is not implemented yet'
|
30
|
+
else fail "Unkown type: #{target[:type]}"
|
31
|
+
end
|
32
|
+
|
33
|
+
format = "% -#{t.maxlen_name}s % -#{t.maxlen_ver}s %s"
|
12
34
|
|
13
35
|
puts sprintf(format, 'module', 'current', 'newest')
|
14
36
|
|
15
|
-
|
37
|
+
# TODO the updates should be collected asynchronously to
|
38
|
+
# speed up the process
|
39
|
+
t.updates.each do |name, hash|
|
16
40
|
puts sprintf(format, name, hash[:current], hash[:newest])
|
17
41
|
end
|
18
42
|
end
|
19
43
|
|
20
|
-
desc 'fixture
|
44
|
+
desc 'fixture', 'Create puppetlabs_spec_helper compatible .fixtures.yml from puppetfile or metadata.json'
|
21
45
|
method_option :stdout, :aliases => '-o'
|
22
|
-
def fixture(
|
23
|
-
|
46
|
+
def fixture()
|
47
|
+
target = target(options)
|
48
|
+
|
49
|
+
case target[:type]
|
50
|
+
when :puppetfile
|
51
|
+
f = Puppetfiler::Puppetfile.new(target[:result])
|
52
|
+
when :metadata
|
53
|
+
f = Puppetfiler::Metadata.new(File.new(target[:result]))
|
54
|
+
else fail "Unkown type: #{target[:type]}"
|
55
|
+
end
|
56
|
+
|
57
|
+
f = f.fixture.to_yaml
|
24
58
|
|
25
59
|
if options[:stdout]
|
26
60
|
puts f
|
@@ -33,5 +67,21 @@ module Puppetfiler
|
|
33
67
|
def version
|
34
68
|
puts "puppetfiler v#{Puppetfiler::VERSION}"
|
35
69
|
end
|
70
|
+
|
71
|
+
private
|
72
|
+
def target(opts)
|
73
|
+
{
|
74
|
+
:puppetfile => 'Puppetfile',
|
75
|
+
:metadata => 'metadata.json',
|
76
|
+
}.each do |sym, str|
|
77
|
+
if opts[sym]
|
78
|
+
return { :result => opts[sym], :type => sym }
|
79
|
+
elsif File.exists?(str)
|
80
|
+
return { :result => str, :type => sym }
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
fail 'No Puppetfile or metadata.json found, aborting'
|
85
|
+
end
|
36
86
|
end
|
37
87
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'puppetfiler/mod'
|
3
|
+
require 'semantic_puppet'
|
4
|
+
|
5
|
+
module Puppetfiler
|
6
|
+
class Metadata
|
7
|
+
attr :dependencies
|
8
|
+
attr :path
|
9
|
+
def initialize(target)
|
10
|
+
@dependencies = {}
|
11
|
+
|
12
|
+
parse target
|
13
|
+
end
|
14
|
+
|
15
|
+
def fixture(modifiers = {})
|
16
|
+
Puppetfiler.fixture(@dependencies, {}, modifiers)
|
17
|
+
end
|
18
|
+
|
19
|
+
def eql?(other)
|
20
|
+
@dependencies.eql?(other.dependencies)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
def parse(target)
|
25
|
+
json = JSON.load(target)
|
26
|
+
|
27
|
+
if not json.has_key?('dependencies') or json['dependencies'].eql?([])
|
28
|
+
warn 'No dependencies found'
|
29
|
+
return nil
|
30
|
+
end
|
31
|
+
|
32
|
+
json['dependencies'].each do |hash|
|
33
|
+
@dependencies[hash['name']] = Puppetfiler::Mod.new(hash)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/puppetfiler/mod.rb
CHANGED
@@ -3,10 +3,90 @@ require 'semantic_puppet'
|
|
3
3
|
|
4
4
|
module Puppetfiler
|
5
5
|
class Mod
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
attr :name
|
7
|
+
attr :slug
|
8
|
+
attr :range
|
9
|
+
|
10
|
+
def initialize(*args)
|
11
|
+
require 'hashie'
|
12
|
+
args = Hashie.symbolize_keys(args[0])
|
13
|
+
|
14
|
+
raise "Names with dashes are disallowed: #{args[:name]}" if /-/.match(args[:name])
|
15
|
+
|
16
|
+
@name = args[:name]
|
17
|
+
@slug = @name.gsub('/', '-')
|
18
|
+
|
19
|
+
@forge = PuppetForge::Module.find(@slug)
|
20
|
+
|
21
|
+
@range = nil
|
22
|
+
[:range, 'range', 'version_requirement'].each do |v|
|
23
|
+
if args.has_key?(v)
|
24
|
+
if not args[v].is_a?(SemanticPuppet::VersionRange)
|
25
|
+
args[v] = SemanticPuppet::VersionRange.parse(args[v])
|
26
|
+
end
|
27
|
+
|
28
|
+
@range = args[v]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
@version = nil
|
33
|
+
[:version, 'version'].each do |v|
|
34
|
+
@version = SemanticPuppet::Version.parse(args[v]) if args.has_key?(v)
|
35
|
+
end
|
36
|
+
@version = latest_valid if not @version
|
37
|
+
end
|
38
|
+
|
39
|
+
def eql?(other)
|
40
|
+
return false if not @name.eql?(other.name)
|
41
|
+
|
42
|
+
# range has to be checked first, sine version is a method
|
43
|
+
# returning at least latest
|
44
|
+
if @range
|
45
|
+
return false if not other.range
|
46
|
+
return true if @range.eql?(other.range)
|
47
|
+
end
|
48
|
+
|
49
|
+
return true if version.eql?(other.version)
|
50
|
+
|
51
|
+
return false
|
52
|
+
end
|
53
|
+
|
54
|
+
def version
|
55
|
+
return latest_valid if not @version
|
56
|
+
|
57
|
+
return @version
|
58
|
+
end
|
59
|
+
|
60
|
+
def latest
|
61
|
+
return SemanticPuppet::Version.parse(@forge.current_release.version)
|
62
|
+
end
|
63
|
+
|
64
|
+
def valid_versions
|
65
|
+
return [] if not @range
|
66
|
+
|
67
|
+
versions = []
|
68
|
+
|
69
|
+
@forge.releases.each do |release|
|
70
|
+
version = SemanticPuppet::Version.parse(release.version)
|
71
|
+
versions << version if @range.cover?(version)
|
72
|
+
end
|
73
|
+
|
74
|
+
return versions
|
75
|
+
end
|
76
|
+
|
77
|
+
def latest_valid
|
78
|
+
if not @range
|
79
|
+
return latest
|
80
|
+
end
|
81
|
+
|
82
|
+
return valid_versions[0]
|
83
|
+
end
|
84
|
+
|
85
|
+
def version_valid(version = @version)
|
86
|
+
return false if not @range
|
87
|
+
|
88
|
+
version = SemanticPuppet::Version.parse(version) if not version.is_a?(SemanticPuppet::Version)
|
89
|
+
return range.cover?(version)
|
10
90
|
end
|
11
91
|
end
|
12
92
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'puppetfiler
|
1
|
+
require 'puppetfiler'
|
2
2
|
|
3
3
|
module Puppetfiler
|
4
4
|
class Puppetfile
|
@@ -25,6 +25,9 @@ module Puppetfiler
|
|
25
25
|
end
|
26
26
|
|
27
27
|
begin
|
28
|
+
# TODO similar to Metadata, allow IO objects like File,
|
29
|
+
# string or similar to be passed in instead of expecting
|
30
|
+
# a path
|
28
31
|
self.instance_eval(File.read(@puppetfile))
|
29
32
|
rescue SyntaxError => error
|
30
33
|
STDERR.puts "Puppetfile at path '#{@puppetfile}' is invalid:"
|
@@ -40,9 +43,9 @@ module Puppetfiler
|
|
40
43
|
def updates
|
41
44
|
updates = {}
|
42
45
|
|
43
|
-
@modules.each do |name,
|
44
|
-
current =
|
45
|
-
newest =
|
46
|
+
@modules.each do |name, mod|
|
47
|
+
current = mod.version
|
48
|
+
newest = mod.latest
|
46
49
|
|
47
50
|
if not newest.eql?(current)
|
48
51
|
updates[name] = {
|
@@ -56,62 +59,7 @@ module Puppetfiler
|
|
56
59
|
end
|
57
60
|
|
58
61
|
def fixture(modifiers = {})
|
59
|
-
|
60
|
-
'forge_modules' => {},
|
61
|
-
'repositories' => {},
|
62
|
-
}
|
63
|
-
|
64
|
-
fixtures.each do |k, v|
|
65
|
-
modifiers[k] = {} if not modifiers.has_key?(k)
|
66
|
-
end
|
67
|
-
|
68
|
-
@modules.each do |name, version|
|
69
|
-
short = name.split('/')[1]
|
70
|
-
value = {
|
71
|
-
'repo' => name,
|
72
|
-
'ref' => version,
|
73
|
-
}
|
74
|
-
|
75
|
-
modifiers['forge_modules'].each do |modifier, merger|
|
76
|
-
# TODO use x.match?(y) on ruby 2.4
|
77
|
-
value.merge!(merger) if name =~ /#{modifier}/
|
78
|
-
end
|
79
|
-
|
80
|
-
fixtures['forge_modules'][short] = value
|
81
|
-
end
|
82
|
-
|
83
|
-
@repos.each do |name, hash|
|
84
|
-
if hash.has_key?(:ref)
|
85
|
-
content = {
|
86
|
-
'repo' => hash[:uri],
|
87
|
-
'ref' => hash[:ref],
|
88
|
-
}
|
89
|
-
|
90
|
-
modifiers['repositories'].each do |modifier, merger|
|
91
|
-
content.merge!(merger) if name =~ /#{modifier}/
|
92
|
-
end
|
93
|
-
else
|
94
|
-
content = hash[:uri]
|
95
|
-
|
96
|
-
modifiers['repositories'].each do |modifier, merger|
|
97
|
-
if name =~ /#{modifier}/
|
98
|
-
if merger.is_a?(String)
|
99
|
-
content = merger
|
100
|
-
else
|
101
|
-
content = {
|
102
|
-
'repo' => hash[:uri],
|
103
|
-
}
|
104
|
-
|
105
|
-
content.merge!(merger)
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
fixtures['repositories'][name] = content
|
112
|
-
end
|
113
|
-
|
114
|
-
{ 'fixtures' => fixtures }
|
62
|
+
Puppetfiler.fixture(@modules, @repos, modifiers)
|
115
63
|
end
|
116
64
|
|
117
65
|
private
|
@@ -124,7 +72,9 @@ module Puppetfiler
|
|
124
72
|
|
125
73
|
if arg.is_a?(String)
|
126
74
|
return if arg == 'latest'
|
127
|
-
|
75
|
+
|
76
|
+
@modules[name] = Puppetfiler::Mod.new(:name => name, :version => arg)
|
77
|
+
|
128
78
|
@maxlen_name = name.length if name.length > @maxlen_name
|
129
79
|
@maxlen_ver = arg.length if arg.length > @maxlen_ver
|
130
80
|
else args.is_a?(Hash)
|
data/lib/puppetfiler/version.rb
CHANGED
data/lib/puppetfiler.rb
CHANGED
@@ -1,7 +1,65 @@
|
|
1
1
|
require 'puppetfiler/cli'
|
2
|
+
require 'puppetfiler/metadata'
|
2
3
|
require 'puppetfiler/mod'
|
3
4
|
require 'puppetfiler/puppetfile'
|
4
5
|
require 'puppetfiler/version'
|
5
6
|
|
6
7
|
module Puppetfiler
|
8
|
+
def self.fixture(modules, repos, modifiers = {})
|
9
|
+
fixtures = {}
|
10
|
+
|
11
|
+
%w{forge_modules repositories}.each do |k|
|
12
|
+
modifiers[k] = {} if not modifiers.has_key?(k)
|
13
|
+
end
|
14
|
+
|
15
|
+
modules.each do |name, mod|
|
16
|
+
short = name.split('/')[1]
|
17
|
+
value = {
|
18
|
+
'repo' => name,
|
19
|
+
'ref' => mod.version.to_s,
|
20
|
+
}
|
21
|
+
|
22
|
+
modifiers['forge_modules'].each do |modifier, merger|
|
23
|
+
# TODO use x.match?(y) on ruby 2.4
|
24
|
+
value.merge!(merger) if name =~ /#{modifier}/
|
25
|
+
end
|
26
|
+
|
27
|
+
fixtures['forge_modules'] = {} if not fixtures.has_key?('forge_modules')
|
28
|
+
fixtures['forge_modules'][short] = value
|
29
|
+
end
|
30
|
+
|
31
|
+
repos.each do |name, hash|
|
32
|
+
if hash.has_key?(:ref)
|
33
|
+
content = {
|
34
|
+
'repo' => hash[:uri],
|
35
|
+
'ref' => hash[:ref],
|
36
|
+
}
|
37
|
+
|
38
|
+
modifiers['repositories'].each do |modifier, merger|
|
39
|
+
content.merge!(merger) if name =~ /#{modifier}/
|
40
|
+
end
|
41
|
+
else
|
42
|
+
content = hash[:uri]
|
43
|
+
|
44
|
+
modifiers['repositories'].each do |modifier, merger|
|
45
|
+
if name =~ /#{modifier}/
|
46
|
+
if merger.is_a?(String)
|
47
|
+
content = merger
|
48
|
+
else
|
49
|
+
content = {
|
50
|
+
'repo' => hash[:uri],
|
51
|
+
}
|
52
|
+
|
53
|
+
content.merge!(merger)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
fixtures['repositories'] = {} if not fixtures.has_key?('repositories')
|
60
|
+
fixtures['repositories'][name] = content
|
61
|
+
end
|
62
|
+
|
63
|
+
return { 'fixtures' => fixtures }
|
64
|
+
end
|
7
65
|
end
|
data/puppetfiler.gemspec
CHANGED
@@ -31,8 +31,10 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_development_dependency 'pry', '~> 0.10.4'
|
32
32
|
spec.add_development_dependency 'simplecov', '~> 0.13.0'
|
33
33
|
spec.add_development_dependency 'simplecov-console', '~> 0.4.1'
|
34
|
+
spec.add_development_dependency 'webmock', '~> 2.3'
|
34
35
|
|
35
36
|
spec.add_dependency 'puppet_forge', '~> 2.2'
|
36
37
|
spec.add_dependency 'semantic_puppet', '~> 0.1.4'
|
37
38
|
spec.add_dependency 'thor', '~> 0.19.4'
|
39
|
+
spec.add_dependency 'hashie', '~> 3.5'
|
38
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppetfiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nelo-T. Wallus
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 0.4.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: webmock
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.3'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.3'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: puppet_forge
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +178,20 @@ dependencies:
|
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: 0.19.4
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: hashie
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '3.5'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '3.5'
|
167
195
|
description:
|
168
196
|
email:
|
169
197
|
- nelo@wallus.de
|
@@ -176,6 +204,7 @@ files:
|
|
176
204
|
- ".gitignore"
|
177
205
|
- ".rspec"
|
178
206
|
- ".travis.yml"
|
207
|
+
- CHANGELOG.rst
|
179
208
|
- Gemfile
|
180
209
|
- LICENSE.txt
|
181
210
|
- README.rst
|
@@ -183,10 +212,14 @@ files:
|
|
183
212
|
- TODO
|
184
213
|
- bin/console
|
185
214
|
- bin/setup
|
215
|
+
- data/metadata_emptydeps.json
|
216
|
+
- data/metadata_nodeps.json
|
217
|
+
- data/simple_metadata.json
|
186
218
|
- data/simple_puppetfile.rb
|
187
219
|
- exe/puppetfiler
|
188
220
|
- lib/puppetfiler.rb
|
189
221
|
- lib/puppetfiler/cli.rb
|
222
|
+
- lib/puppetfiler/metadata.rb
|
190
223
|
- lib/puppetfiler/mod.rb
|
191
224
|
- lib/puppetfiler/puppetfile.rb
|
192
225
|
- lib/puppetfiler/version.rb
|
@@ -211,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
244
|
version: '0'
|
212
245
|
requirements: []
|
213
246
|
rubyforge_project:
|
214
|
-
rubygems_version: 2.
|
247
|
+
rubygems_version: 2.6.10
|
215
248
|
signing_key:
|
216
249
|
specification_version: 4
|
217
250
|
summary: Miscallenous actions on Puppetfiles
|