hubcap 1.0.0 → 1.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ec9cecf4b71e69d8361217640dca39aef5135028
4
+ data.tar.gz: 42e2d26f932995b23e2b63c8c3cfc0d6d6e1632a
5
+ SHA512:
6
+ metadata.gz: b91df5081cd0693c3ee1f056c1e50d8c01cce07d7e6caa66916cd06ecfd18a989ef6050bce2720794906e6cc0ae1532bfd84b5463de1cefbe36375374c13f172
7
+ data.tar.gz: ac8cb0c8e22b6544f34de9b46e7f0d6142846e011392d57186e5ac997884d8412d5f94973003a1edb09366bf9d9daf40caa62cffaddf9d8ad4c22a9ec66cce3f
data/Gemfile.lock CHANGED
@@ -1,29 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hubcap (1.0.0)
5
- capistrano
4
+ hubcap (1.1.0)
5
+ capistrano (~> 2.13)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- capistrano (2.13.4)
10
+ capistrano (2.15.5)
11
11
  highline
12
12
  net-scp (>= 1.0.0)
13
13
  net-sftp (>= 2.0.0)
14
14
  net-ssh (>= 2.0.14)
15
15
  net-ssh-gateway (>= 1.1.0)
16
- highline (1.6.15)
17
- jruby-pageant (1.1.1)
18
- net-scp (1.0.4)
19
- net-ssh (>= 1.99.1)
20
- net-sftp (2.0.5)
21
- net-ssh (>= 2.0.9)
22
- net-ssh (2.6.0)
23
- jruby-pageant (>= 1.1.1)
24
- net-ssh-gateway (1.1.0)
25
- net-ssh (>= 1.99.1)
26
- rake (0.9.2.2)
16
+ highline (1.6.21)
17
+ net-scp (1.2.1)
18
+ net-ssh (>= 2.6.5)
19
+ net-sftp (2.1.2)
20
+ net-ssh (>= 2.6.5)
21
+ net-ssh (2.9.1)
22
+ net-ssh-gateway (1.2.0)
23
+ net-ssh (>= 2.6.5)
24
+ rake (10.3.2)
27
25
 
28
26
  PLATFORMS
29
27
  ruby
data/hubcap.gemspec CHANGED
@@ -7,14 +7,14 @@ Gem::Specification.new do |gem|
7
7
  gem.description = 'Create a hub for your server configuration. '+
8
8
  'Use it with Capistrano, Puppet and others.'
9
9
  gem.summary = 'Hubcap Capistrano/Puppet extension'
10
- gem.homepage = ''
11
-
10
+ gem.homepage = 'https://github.com/joseph/hubcap'
11
+ gem.licenses = 'MIT'
12
12
  gem.files = `git ls-files`.split($\)
13
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
14
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
15
  gem.name = 'hubcap'
16
16
  gem.require_paths = ['lib']
17
17
  gem.version = Hubcap::VERSION
18
- gem.add_dependency('capistrano')
18
+ gem.add_dependency('capistrano', '~> 2.13')
19
19
  gem.add_development_dependency('rake')
20
20
  end
data/lib/hubcap/group.rb CHANGED
@@ -324,6 +324,7 @@ class Hubcap::Group
324
324
  def update_with_stringified_keys(dest, src)
325
325
  src.each_pair { |k, v|
326
326
  v = update_with_stringified_keys({}, v) if v.is_a?(Hash)
327
+ v = v.to_s if v.kind_of?(Symbol) # ensure strings not symbols
327
328
  dest.update(k.to_s => v)
328
329
  }
329
330
  dest
@@ -6,6 +6,7 @@ Capistrano::Configuration.instance(:must_exist).load do
6
6
  set(:puppet_repository) { raise "Required variable: puppet_repository" }
7
7
  end
8
8
  set(:puppet_branch, 'master')
9
+ set(:puppet_version, '3.6.2')
9
10
  set(:puppet_path, '/var/www/provision/puppet')
10
11
  set(:puppet_git_password) { Capistrano::CLI.password_prompt }
11
12
  set(:puppet_manifest_path) { "#{puppet_path}/puppet/host.pp" }
@@ -59,13 +60,11 @@ Capistrano::Configuration.instance(:must_exist).load do
59
60
  'fi'
60
61
  ].join(' '))
61
62
 
62
- # 3.0.0-rc5 is the last version that a) runs on Ruby 1.9 and b) works.
63
- ppt_ver = '3.0.0.rc5'
64
63
  sudo_bash([
65
- "if [[ `gem q -i -n \"^puppet$\" -v #{ppt_ver}` =~ \"true\" ]]; then",
64
+ "if [[ `gem q -i -n \"^puppet$\" -v #{puppet_version}` =~ \"true\" ]]; then",
66
65
  'echo "Puppet verified";',
67
66
  'else',
68
- "gem install puppet -v #{ppt_ver} --pre --no-rdoc --no-ri;",
67
+ "gem install puppet -v #{puppet_version} --no-rdoc --no-ri;",
69
68
  'fi'
70
69
  ].join(' '))
71
70
 
@@ -1,5 +1,5 @@
1
1
  module Hubcap
2
2
 
3
- VERSION = '1.0.0'
3
+ VERSION = '1.1.0'
4
4
 
5
5
  end
@@ -66,6 +66,21 @@ class Hubcap::TestServer < Test::Unit::TestCase
66
66
  assert_equal(['1', '2', 'everything.test'], hash['parameters'].values.sort)
67
67
  end
68
68
 
69
+ def test_param_converts_symbols_to_strings
70
+ hub = Hubcap.hub {
71
+ server('test') {
72
+ param(:foo => 1, 'bar' => '2', :baz => :baz)
73
+ }
74
+ }
75
+ hash = YAML.load(hub.servers.first.yaml)
76
+ %w(foo bar baz).each { |i|
77
+ assert(hash['parameters'].keys.include?(i), "expected keys to include #{i}")
78
+ }
79
+ [1, '2', 'baz'].each { |i|
80
+ assert(hash['parameters'].values.include?(i), "expected values to include #{i}")
81
+ }
82
+ end
83
+
69
84
  def test_yaml_server_name
70
85
  hub = Hubcap.hub {
71
86
  group('everything') {
@@ -143,7 +158,7 @@ class Hubcap::TestServer < Test::Unit::TestCase
143
158
 
144
159
  def test_host_lookup_handle_circular_reference
145
160
  assert_raises(Hubcap::HostCircularReference) {
146
- hub = Hubcap.hub {
161
+ Hubcap.hub {
147
162
  host('some.other.thing' => 'g1.t1')
148
163
  group('g1') {
149
164
  host('g1.t1' => 'some.other.thing')
metadata CHANGED
@@ -1,38 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hubcap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Joseph Pearson
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-13 00:00:00.000000000 Z
11
+ date: 2014-08-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: capistrano
16
- requirement: &7042900 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '2.13'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *7042900
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.13'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rake
27
- requirement: &7042480 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *7042480
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  description: Create a hub for your server configuration. Use it with Capistrano, Puppet
37
42
  and others.
38
43
  email:
@@ -70,29 +75,29 @@ files:
70
75
  - test/unit/test_hub.rb
71
76
  - test/unit/test_hubcap.rb
72
77
  - test/unit/test_server.rb
73
- homepage: ''
74
- licenses: []
78
+ homepage: https://github.com/joseph/hubcap
79
+ licenses:
80
+ - MIT
81
+ metadata: {}
75
82
  post_install_message:
76
83
  rdoc_options: []
77
84
  require_paths:
78
85
  - lib
79
86
  required_ruby_version: !ruby/object:Gem::Requirement
80
- none: false
81
87
  requirements:
82
- - - ! '>='
88
+ - - '>='
83
89
  - !ruby/object:Gem::Version
84
90
  version: '0'
85
91
  required_rubygems_version: !ruby/object:Gem::Requirement
86
- none: false
87
92
  requirements:
88
- - - ! '>='
93
+ - - '>='
89
94
  - !ruby/object:Gem::Version
90
95
  version: '0'
91
96
  requirements: []
92
97
  rubyforge_project:
93
- rubygems_version: 1.8.11
98
+ rubygems_version: 2.0.14
94
99
  signing_key:
95
- specification_version: 3
100
+ specification_version: 4
96
101
  summary: Hubcap Capistrano/Puppet extension
97
102
  test_files:
98
103
  - test/data/example.rb