semantic_puppet 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|