puppet_forge 2.2.1 → 2.2.2
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/.gitignore +1 -0
- data/CHANGELOG.md +6 -0
- data/README.md +29 -0
- data/Rakefile +5 -0
- data/lib/puppet_forge.rb +3 -0
- data/lib/puppet_forge/connection/connection_failure.rb +3 -2
- data/lib/puppet_forge/error.rb +2 -6
- data/lib/puppet_forge/lazy_relations.rb +1 -1
- data/lib/puppet_forge/unpacker.rb +2 -2
- data/lib/puppet_forge/v3/metadata.rb +8 -9
- data/lib/puppet_forge/v3/release.rb +1 -1
- data/lib/puppet_forge/version.rb +1 -1
- data/locales/config.yaml +21 -0
- data/puppet_forge.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf3597a6621d4980a95db5690d60d0448c48295d
|
4
|
+
data.tar.gz: 90545df14bb6128d330e2d6c0769b0bbeb84ff10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd7247cdacde04841fab5a86fa5b11d82307f64d5ad4081be62f2a60cab63ea995736dee808047e487d7b58172dda0035bab3718039b09a3a3d467192302b617
|
7
|
+
data.tar.gz: fa634012325f4b1211e1ea8ca6b25db72a33143607f6af8202c1c554e5624cee1768b16dec28a9ee27e42ae5605120d6b4395023784ba750171652d46e82fad9
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
Starting with v2.0.0, all notable changes to this project will be documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## v2.2.2 - 2016-07-06
|
7
|
+
|
8
|
+
### Changed
|
9
|
+
|
10
|
+
* Externalized all user facing strings with gettext to support future localization work.
|
11
|
+
|
6
12
|
## v2.2.1 - 2016-05-24
|
7
13
|
|
8
14
|
### Changed
|
data/README.md
CHANGED
@@ -186,6 +186,26 @@ user.username # => "puppetlabs"
|
|
186
186
|
user.created_at # => "2010-05-19 05:46:26 -0700"
|
187
187
|
```
|
188
188
|
|
189
|
+
### i18n
|
190
|
+
|
191
|
+
When adding new error or log messages please follow the instructions for
|
192
|
+
[writing translatable code](https://github.com/puppetlabs/gettext-setup-gem#writing-translatable-code).
|
193
|
+
|
194
|
+
The PuppetForge gem will default to outputing all error messages in English, but you may set the locale
|
195
|
+
using the `FastGettext.set_locale` method. If translations do not exist for the language you request then the gem will
|
196
|
+
default to English. The `set_locale` method will return the locale, as a string, that FastGettext will now
|
197
|
+
use to report PuppetForge errors.
|
198
|
+
|
199
|
+
``` ruby
|
200
|
+
# Assuming the German translations exist, this will set the reporting language
|
201
|
+
# to German
|
202
|
+
|
203
|
+
locale = FastGettext.set_locale "de_DE"
|
204
|
+
|
205
|
+
# If it successfully finds Germany's locale, locale will be "de_DE"
|
206
|
+
# If it fails to find any German locale, locale will be "en"
|
207
|
+
```
|
208
|
+
|
189
209
|
##Caveats
|
190
210
|
|
191
211
|
This library currently does no response caching of its own, instead opting to
|
@@ -214,3 +234,12 @@ to create a free account to add new tickets.
|
|
214
234
|
* Austin Blatt, Puppet Labs
|
215
235
|
* Adrien Thebo, Puppet Labs
|
216
236
|
* Anderson Mills, Puppet Labs
|
237
|
+
|
238
|
+
## Maintenance
|
239
|
+
|
240
|
+
Maintainers:
|
241
|
+
|
242
|
+
* Jesse Scott, jesse@puppet.com
|
243
|
+
* Anderson Mills, anderson@puppet.com
|
244
|
+
|
245
|
+
Tickets: File at https://tickets.puppet.com/browse/FORGE
|
data/Rakefile
CHANGED
data/lib/puppet_forge.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'puppet_forge/version'
|
2
|
+
require 'gettext-setup'
|
2
3
|
|
3
4
|
module PuppetForge
|
4
5
|
class << self
|
@@ -6,6 +7,8 @@ module PuppetForge
|
|
6
7
|
attr_accessor :host
|
7
8
|
end
|
8
9
|
|
10
|
+
GettextSetup.initialize(File.absolute_path('../locales', File.dirname(__FILE__)))
|
11
|
+
|
9
12
|
self.host = 'https://forgeapi.puppetlabs.com'
|
10
13
|
|
11
14
|
require 'puppet_forge/tar'
|
@@ -10,9 +10,10 @@ module PuppetForge
|
|
10
10
|
rescue Faraday::ConnectionFailed => e
|
11
11
|
baseurl = env[:url].dup
|
12
12
|
baseurl.path = ''
|
13
|
-
errmsg = "Unable to connect to #{baseurl.to_s}"
|
14
13
|
if proxy = env[:request][:proxy]
|
15
|
-
errmsg
|
14
|
+
errmsg = _("Unable to connect to %{url} (using proxy %{proxy})") % {url: baseurl.to_s, proxy: proxy.uri.to_s}
|
15
|
+
else
|
16
|
+
errmsg = _("Unable to connect to %{url}") % {url: baseurl.to_s}
|
16
17
|
end
|
17
18
|
errmsg << ": #{e.message}"
|
18
19
|
m = Faraday::ConnectionFailed.new(errmsg)
|
data/lib/puppet_forge/error.rb
CHANGED
@@ -16,15 +16,11 @@ module PuppetForge
|
|
16
16
|
def initialize(options)
|
17
17
|
@entry_path = options[:entry_path]
|
18
18
|
@directory = options[:directory]
|
19
|
-
super "Attempt to install file into
|
19
|
+
super _("Attempt to install file into %{path} under %{directory}") % {path: @entry_path.inspect, directory: @directory.inspect}
|
20
20
|
end
|
21
21
|
|
22
22
|
def multiline
|
23
|
-
|
24
|
-
Could not install package
|
25
|
-
Package attempted to install file into
|
26
|
-
#{@entry_path.inspect} under #{@directory.inspect}.
|
27
|
-
MSG
|
23
|
+
_("Could not install package\n Package attempted to install file into\n %{path} under %{directory}.") % {path: @entry_path.inspect, directory: @directory.inspect}
|
28
24
|
end
|
29
25
|
end
|
30
26
|
|
@@ -24,7 +24,7 @@ module PuppetForge
|
|
24
24
|
version = class_name.split("::")[-2]
|
25
25
|
|
26
26
|
if version.nil?
|
27
|
-
raise RuntimeError, "Unable to determine the parent PuppetForge version module"
|
27
|
+
raise RuntimeError, _("Unable to determine the parent PuppetForge version module")
|
28
28
|
end
|
29
29
|
|
30
30
|
PuppetForge.const_get(version)
|
@@ -39,7 +39,7 @@ module PuppetForge
|
|
39
39
|
begin
|
40
40
|
PuppetForge::Tar.instance.unpack(@filename, @tmpdir)
|
41
41
|
rescue PuppetForge::ExecutionFailure => e
|
42
|
-
raise RuntimeError, "Could not extract contents of module archive:
|
42
|
+
raise RuntimeError, _("Could not extract contents of module archive: %{error_msg}") % {error_msg: e.message}
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -61,7 +61,7 @@ module PuppetForge
|
|
61
61
|
if metadata_file
|
62
62
|
@root_dir = Pathname.new(metadata_file).dirname
|
63
63
|
else
|
64
|
-
raise "No valid metadata.json found!"
|
64
|
+
raise _("No valid metadata.json found!")
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -63,7 +63,7 @@ module PuppetForge
|
|
63
63
|
validate_version_range(version_requirement) if version_requirement
|
64
64
|
|
65
65
|
if dup = @data['dependencies'].find { |d| d.full_module_name == name && d.version_requirement != version_requirement }
|
66
|
-
raise ArgumentError, "Dependency conflict for
|
66
|
+
raise ArgumentError, _("Dependency conflict for %{module_name}: Dependency %{conflict_name} was given conflicting version requirements %{version} and %{conflict_version}. Verify that there are no duplicates in the metadata.json or the Modulefile.") % {module_name: full_module_name, conflict_name: name, version: version_requirement, conflict_version: dup.version_requirement}
|
67
67
|
end
|
68
68
|
|
69
69
|
dep = Dependency.new(name, version_requirement, repository)
|
@@ -165,31 +165,30 @@ module PuppetForge
|
|
165
165
|
|
166
166
|
err = case modname
|
167
167
|
when nil, '', :namespace_missing
|
168
|
-
"the field must be a namespaced module name"
|
168
|
+
_("the field must be a namespaced module name")
|
169
169
|
when /[^a-z0-9_]/i
|
170
|
-
"the module name contains non-alphanumeric (or underscore) characters"
|
170
|
+
_("the module name contains non-alphanumeric (or underscore) characters")
|
171
171
|
when /^[^a-z]/i
|
172
|
-
"the module name must begin with a letter"
|
172
|
+
_("the module name must begin with a letter")
|
173
173
|
else
|
174
|
-
"the namespace contains non-alphanumeric characters"
|
174
|
+
_("the namespace contains non-alphanumeric characters")
|
175
175
|
end
|
176
176
|
|
177
|
-
raise ArgumentError, "Invalid 'name' field in metadata.json:
|
177
|
+
raise ArgumentError, _("Invalid 'name' field in metadata.json: %{error}") % {error: err}
|
178
178
|
end
|
179
179
|
|
180
180
|
# Validates that the version string can be parsed by SemanticPuppet.
|
181
181
|
def validate_version(version)
|
182
182
|
return if SemanticPuppet::Version.valid?(version)
|
183
183
|
|
184
|
-
|
185
|
-
raise ArgumentError, "Invalid 'version' field in metadata.json: #{err}"
|
184
|
+
raise ArgumentError, _("Invalid 'version' field in metadata.json: version string cannot be parsed as a valid Semantic Version")
|
186
185
|
end
|
187
186
|
|
188
187
|
# Validates that the version range can be parsed by SemanticPuppet.
|
189
188
|
def validate_version_range(version_range)
|
190
189
|
SemanticPuppet::VersionRange.parse(version_range)
|
191
190
|
rescue ArgumentError => e
|
192
|
-
raise ArgumentError, "Invalid 'version_range' field in metadata.json:
|
191
|
+
raise ArgumentError, _("Invalid 'version_range' field in metadata.json: %{error}") % {error: e}
|
193
192
|
end
|
194
193
|
end
|
195
194
|
end
|
@@ -27,7 +27,7 @@ module PuppetForge
|
|
27
27
|
resp = self.class.conn.get(download_url)
|
28
28
|
path.open('wb') { |fh| fh.write(resp.body) }
|
29
29
|
rescue Faraday::ResourceNotFound => e
|
30
|
-
raise PuppetForge::ReleaseNotFound, "The module release
|
30
|
+
raise PuppetForge::ReleaseNotFound, (_("The module release %{release_slug} does not exist on %{url}.") % {release_slug: slug, url: self.class.conn.url_prefix}), e.backtrace
|
31
31
|
rescue Faraday::ClientError => e
|
32
32
|
if e.response && e.response[:status] == 403
|
33
33
|
raise PuppetForge::ReleaseForbidden.from_response(e.response)
|
data/lib/puppet_forge/version.rb
CHANGED
data/locales/config.yaml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
# This is the project-specific configuration file for setting up
|
3
|
+
# fast_gettext for your project.
|
4
|
+
gettext:
|
5
|
+
# This is used for the name of the .pot and .po files; they will be
|
6
|
+
# called <project_name>.pot?
|
7
|
+
project_name: 'forge-ruby'
|
8
|
+
# This is used in comments in the .pot and .po files to indicate what
|
9
|
+
# project the files belong to and should bea little more desctiptive than
|
10
|
+
# <project_name>
|
11
|
+
package_name: Puppet Forge Gem
|
12
|
+
# The locale that the default messages in the .pot file are in
|
13
|
+
default_locale: en
|
14
|
+
# The email used for sending bug reports.
|
15
|
+
bugs_address: docs@puppetlabs.com
|
16
|
+
# The holder of the copyright.
|
17
|
+
copyright_holder: Puppet, Inc.
|
18
|
+
# Patterns for +Dir.glob+ used to find all files that might contain
|
19
|
+
# translatable content, relative to the project root directory
|
20
|
+
source_files:
|
21
|
+
- 'lib/**/*.rb'
|
data/puppet_forge.gemspec
CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_runtime_dependency "faraday_middleware", [">= 0.9.0", "< 0.11.0"]
|
25
25
|
spec.add_dependency 'semantic_puppet', '~> 0.1.0'
|
26
26
|
spec.add_dependency 'minitar'
|
27
|
+
spec.add_dependency 'gettext-setup', '>= 0.3'
|
27
28
|
|
28
29
|
spec.add_development_dependency "bundler", "~> 1.6"
|
29
30
|
spec.add_development_dependency "rake"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet_forge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -72,6 +72,20 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: gettext-setup
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.3'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0.3'
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
name: bundler
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,6 +231,7 @@ files:
|
|
217
231
|
- lib/puppet_forge/v3/release.rb
|
218
232
|
- lib/puppet_forge/v3/user.rb
|
219
233
|
- lib/puppet_forge/version.rb
|
234
|
+
- locales/config.yaml
|
220
235
|
- puppet_forge.gemspec
|
221
236
|
- spec/fixtures/v3/files/puppetlabs-apache-0.0.1.tar.gz.headers
|
222
237
|
- spec/fixtures/v3/files/puppetlabs-apache-0.0.1.tar.gz.json
|