hubcap 0.0.6 → 1.0.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.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify dependencies in hubcap.gemspec!
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ hubcap (1.0.0)
5
+ capistrano
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ capistrano (2.13.4)
11
+ highline
12
+ net-scp (>= 1.0.0)
13
+ net-sftp (>= 2.0.0)
14
+ net-ssh (>= 2.0.14)
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)
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ hubcap!
33
+ rake
data/bin/hubcap CHANGED
File without changes
data/hubcap.gemspec CHANGED
@@ -15,4 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.name = 'hubcap'
16
16
  gem.require_paths = ['lib']
17
17
  gem.version = Hubcap::VERSION
18
+ gem.add_dependency('capistrano')
19
+ gem.add_development_dependency('rake')
18
20
  end
data/lib/hubcap/group.rb CHANGED
@@ -34,7 +34,7 @@ class Hubcap::Group
34
34
  p += '.rb' unless File.exists?(p)
35
35
  raise("File not found: #{path}") unless File.exists?(p)
36
36
  code = IO.read(p)
37
- eval(code)
37
+ eval(code, binding, p)
38
38
  end
39
39
 
40
40
 
data/lib/hubcap/server.rb CHANGED
@@ -5,10 +5,14 @@ class Hubcap::Server < Hubcap::Group
5
5
 
6
6
  def initialize(parent, name, options = {}, &blk)
7
7
  super(parent, name, &blk)
8
+ hist = history.join('.')
9
+
10
+ # only set the server_name if it's not already set
11
+ param('server_name' => hist) if params['server_name'].nil?
12
+
8
13
  # If name is an IP, or is not in hosts hash, use name as address
9
14
  # Otherwise, dereference it from the hash and assign it
10
15
  unless @address = options[:address]
11
- hist = history.join('.')
12
16
  @address = lookup(hist)
13
17
  @address = lookup(name) if @address == hist
14
18
  end
@@ -1,5 +1,5 @@
1
1
  module Hubcap
2
2
 
3
- VERSION = '0.0.6'
3
+ VERSION = '1.0.0'
4
4
 
5
5
  end
@@ -55,15 +55,28 @@ class Hubcap::TestServer < Test::Unit::TestCase
55
55
  role('baseline')
56
56
  server('test') {
57
57
  role('test::server')
58
- param('foo' => 1, 'bar' => 2)
58
+ param('foo' => '1', 'bar' => '2')
59
59
  }
60
60
  }
61
61
  }
62
62
  hash = YAML.load(hub.servers.first.yaml)
63
63
  assert_equal({ 'baseline' => nil, 'test::server' => nil }, hash['classes'])
64
64
  assert_equal(['classes', 'parameters'], hash.keys.sort)
65
- assert_equal(['bar', 'foo'], hash['parameters'].keys.sort)
66
- assert_equal([1, 2], hash['parameters'].values.sort)
65
+ assert_equal(['bar', 'foo', 'server_name'], hash['parameters'].keys.sort)
66
+ assert_equal(['1', '2', 'everything.test'], hash['parameters'].values.sort)
67
+ end
68
+
69
+ def test_yaml_server_name
70
+ hub = Hubcap.hub {
71
+ group('everything') {
72
+ role('baseline')
73
+ param('server_name' => 'do not overwrite')
74
+ server('test')
75
+ }
76
+ }
77
+ hash = YAML.load(hub.servers.first.yaml)
78
+ assert_equal(['server_name'], hash['parameters'].keys)
79
+ assert_equal(['do not overwrite'], hash['parameters'].values)
67
80
  end
68
81
 
69
82
 
metadata CHANGED
@@ -1,35 +1,51 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: hubcap
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 6
9
- version: 0.0.6
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Joseph Pearson
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-11-01 00:00:00 +11:00
18
- default_executable:
19
- dependencies: []
20
-
21
- description: Create a hub for your server configuration. Use it with Capistrano, Puppet and others.
22
- email:
12
+ date: 2013-06-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: capistrano
16
+ requirement: &7042900 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *7042900
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &7042480 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *7042480
36
+ description: Create a hub for your server configuration. Use it with Capistrano, Puppet
37
+ and others.
38
+ email:
23
39
  - joseph@booki.sh
24
- executables:
40
+ executables:
25
41
  - hubcap
26
42
  extensions: []
27
-
28
43
  extra_rdoc_files: []
29
-
30
- files:
44
+ files:
31
45
  - .gitignore
32
46
  - Capfile.example
47
+ - Gemfile
48
+ - Gemfile.lock
33
49
  - README.md
34
50
  - Rakefile
35
51
  - bin/hubcap
@@ -54,37 +70,31 @@ files:
54
70
  - test/unit/test_hub.rb
55
71
  - test/unit/test_hubcap.rb
56
72
  - test/unit/test_server.rb
57
- has_rdoc: true
58
- homepage: ""
73
+ homepage: ''
59
74
  licenses: []
60
-
61
75
  post_install_message:
62
76
  rdoc_options: []
63
-
64
- require_paths:
77
+ require_paths:
65
78
  - lib
66
- required_ruby_version: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- segments:
71
- - 0
72
- version: "0"
73
- required_rubygems_version: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- segments:
78
- - 0
79
- version: "0"
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
80
91
  requirements: []
81
-
82
92
  rubyforge_project:
83
- rubygems_version: 1.3.6
93
+ rubygems_version: 1.8.11
84
94
  signing_key:
85
95
  specification_version: 3
86
96
  summary: Hubcap Capistrano/Puppet extension
87
- test_files:
97
+ test_files:
88
98
  - test/data/example.rb
89
99
  - test/data/parts/foo_param.rb
90
100
  - test/data/readme.rb