hubcap 0.0.6 → 1.0.0

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