semantic_puppet 0.1.3 → 0.1.4
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 +4 -0
- data/README.md +29 -0
- data/Rakefile +9 -0
- data/lib/semantic_puppet.rb +4 -2
- data/lib/semantic_puppet/gem_version.rb +3 -0
- data/lib/semantic_puppet/version.rb +7 -7
- data/lib/semantic_puppet/version_range.rb +1 -1
- data/locales/config.yaml +21 -0
- data/semantic_puppet.gemspec +3 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e204300a1f6f9188796a9dd602c30f62762d765d
|
4
|
+
data.tar.gz: cca5d579a7002ae8207652352497b1ebe5bc3b2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 591144201a679d5ed1ddb237b51c78f36a930b426156c1f0ae48bfaec4f66b4285812fe769db326e64875ba7ffec6216e30bf61b2308ed6ef1a4fe56a595a490
|
7
|
+
data.tar.gz: d449dcf10e49683e326c117489557ee9c9d1f73cd087a9621c72fb969b89bd69ba6b10a3da97c912c0374a2860bb35eb0d9d84d99814296ae5c1302b7ec93676
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## 0.1.4 - 2016-07-06
|
6
|
+
### Changed
|
7
|
+
- Externalized all user-facing strings using gettext libraries to support future localization.
|
8
|
+
|
5
9
|
## 0.1.3 - 2016-05-24
|
6
10
|
### Added
|
7
11
|
- Typesafe implementation of ModuleRelease#eql? (and ModuleRelease#==). (PUP-6341)
|
data/README.md
CHANGED
@@ -57,8 +57,37 @@ publishing modules to [Puppet Forge](https://forge.puppetlabs.com) which is
|
|
57
57
|
documented at
|
58
58
|
[Publishing Modules on the Puppet Forge](https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html#dependencies-in-metadatajson).
|
59
59
|
|
60
|
+
### i18n
|
61
|
+
|
62
|
+
When adding new error or log messages please follow the instructions for
|
63
|
+
[writing translatable code](https://github.com/puppetlabs/gettext-setup-gem#writing-translatable-code).
|
64
|
+
|
65
|
+
The SemanticPuppet gem will default to outputing all error messages in English, but you may set the locale
|
66
|
+
using the `FastGettext.set_locale` method. If translations do not exist for the language you request then the gem will
|
67
|
+
default to English. The `set_locale` method will return the locale, as a string, that FastGettext will now
|
68
|
+
use to report PuppetForge errors.
|
69
|
+
|
70
|
+
``` ruby
|
71
|
+
# Assuming the German translations exist, this will set the reporting language
|
72
|
+
# to German
|
73
|
+
|
74
|
+
locale = FastGettext.set_locale "de_DE"
|
75
|
+
|
76
|
+
# If it successfully finds Germany's locale, locale will be "de_DE"
|
77
|
+
# If it fails to find any German locale, locale will be "en"
|
78
|
+
```
|
79
|
+
|
60
80
|
Contributors
|
61
81
|
------------
|
62
82
|
|
63
83
|
Pieter van de Bruggen wrote the library originally, with additions by Alex
|
64
84
|
Dreyer, Jesse Scott and Anderson Mills.
|
85
|
+
|
86
|
+
## Maintenance
|
87
|
+
|
88
|
+
Maintainers:
|
89
|
+
|
90
|
+
* Jesse Scott, jesse@puppet.com
|
91
|
+
* Anderson Mills, anderson@puppet.com
|
92
|
+
|
93
|
+
Tickets: File at https://tickets.puppet.com/browse/FORGE
|
data/Rakefile
CHANGED
@@ -56,3 +56,12 @@ begin
|
|
56
56
|
rescue LoadError
|
57
57
|
warn "[Warning]: Could not load `bundler/gem_tasks`."
|
58
58
|
end
|
59
|
+
|
60
|
+
# Gettext tasks
|
61
|
+
begin
|
62
|
+
spec = Gem::Specification.find_by_name 'gettext-setup'
|
63
|
+
load "#{spec.gem_dir}/lib/tasks/gettext.rake"
|
64
|
+
GettextSetup.initialize(File.absolute_path('locales', File.dirname(__FILE__)))
|
65
|
+
rescue LoadError
|
66
|
+
warn "[Warning]: Could not load gettext tasks."
|
67
|
+
end
|
data/lib/semantic_puppet.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
require 'gettext-setup'
|
2
|
+
|
1
3
|
module SemanticPuppet
|
4
|
+
GettextSetup.initialize(File.absolute_path('../locales', File.dirname(__FILE__)))
|
5
|
+
|
2
6
|
autoload :Version, 'semantic_puppet/version'
|
3
7
|
autoload :VersionRange, 'semantic_puppet/version_range'
|
4
8
|
autoload :Dependency, 'semantic_puppet/dependency'
|
5
|
-
|
6
|
-
VERSION = '0.1.3'
|
7
9
|
end
|
@@ -18,7 +18,7 @@ module SemanticPuppet
|
|
18
18
|
match, major, minor, patch, prerelease, build = *ver.match(/\A#{REGEX_FULL}\Z/)
|
19
19
|
|
20
20
|
if match.nil?
|
21
|
-
raise "Unable to parse '
|
21
|
+
raise _("Unable to parse '%{version}' as a semantic version identifier") % {version: ver}
|
22
22
|
end
|
23
23
|
|
24
24
|
prerelease = parse_prerelease(prerelease) if prerelease
|
@@ -26,7 +26,7 @@ module SemanticPuppet
|
|
26
26
|
# The following code prevents build metadata for now.
|
27
27
|
#build = parse_build_metadata(build) if build
|
28
28
|
if !build.nil?
|
29
|
-
raise "'
|
29
|
+
raise _("'%{version}' MUST NOT include build identifiers") % {version: ver}
|
30
30
|
end
|
31
31
|
|
32
32
|
self.new(major.to_i, minor.to_i, patch.to_i, prerelease, build)
|
@@ -46,11 +46,11 @@ module SemanticPuppet
|
|
46
46
|
prerelease = prerelease.split('.', -1)
|
47
47
|
|
48
48
|
if prerelease.empty? or prerelease.any? { |x| x.empty? }
|
49
|
-
raise "
|
49
|
+
raise _("%{subject} MUST NOT be empty") % {subject: subject}
|
50
50
|
elsif prerelease.any? { |x| x =~ /[^0-9a-zA-Z-]/ }
|
51
|
-
raise "
|
51
|
+
raise _("%{subject} MUST use only ASCII alphanumerics and hyphens") % {subject: subject}
|
52
52
|
elsif prerelease.any? { |x| x =~ /^0\d+$/ }
|
53
|
-
raise "
|
53
|
+
raise _("%{subject} MUST NOT contain leading zeroes") % {subject: subject}
|
54
54
|
end
|
55
55
|
|
56
56
|
return prerelease.map { |x| x =~ /^\d+$/ ? x.to_i : x }
|
@@ -61,9 +61,9 @@ module SemanticPuppet
|
|
61
61
|
build = build.split('.', -1)
|
62
62
|
|
63
63
|
if build.empty? or build.any? { |x| x.empty? }
|
64
|
-
raise "
|
64
|
+
raise _("%{subject} MUST NOT be empty") % {subject: subject}
|
65
65
|
elsif build.any? { |x| x =~ /[^0-9a-zA-Z-]/ }
|
66
|
-
raise "
|
66
|
+
raise _("%{subject} MUST use only ASCII alphanumerics and hyphens") % {subject: subject}
|
67
67
|
end
|
68
68
|
|
69
69
|
return build
|
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: 'semantic_puppet'
|
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: Semantic Puppet 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/semantic_puppet.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
require "semantic_puppet"
|
3
|
+
require "semantic_puppet/gem_version"
|
4
4
|
|
5
5
|
spec = Gem::Specification.new do |s|
|
6
6
|
# Metadata
|
@@ -22,6 +22,8 @@ spec = Gem::Specification.new do |s|
|
|
22
22
|
# Dependencies
|
23
23
|
s.required_ruby_version = '>= 1.8.7'
|
24
24
|
|
25
|
+
s.add_dependency "gettext-setup", ">= 0.3"
|
26
|
+
|
25
27
|
s.add_development_dependency "rake"
|
26
28
|
s.add_development_dependency "rspec"
|
27
29
|
s.add_development_dependency "simplecov"
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: semantic_puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
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
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gettext-setup
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.3'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rake
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,8 +130,10 @@ files:
|
|
116
130
|
- lib/semantic_puppet/dependency/module_release.rb
|
117
131
|
- lib/semantic_puppet/dependency/source.rb
|
118
132
|
- lib/semantic_puppet/dependency/unsatisfiable_graph.rb
|
133
|
+
- lib/semantic_puppet/gem_version.rb
|
119
134
|
- lib/semantic_puppet/version.rb
|
120
135
|
- lib/semantic_puppet/version_range.rb
|
136
|
+
- locales/config.yaml
|
121
137
|
- semantic_puppet.gemspec
|
122
138
|
- spec/spec_helper.rb
|
123
139
|
- spec/unit/semantic_puppet/dependency/graph_node_spec.rb
|