hubcap 1.0.0 → 1.1.0

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