linux_provision 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ M2E1M2I4NDY2MGU5ZmU1ZjA2YjI3MTZkOTA5OTRhZWFjZTVjODFjMA==
5
+ data.tar.gz: !binary |-
6
+ MWVhNjljMjE2NjQ1YWZhZmVkY2YwZWU3NjFkNjBjYWJiMjBmZDE0OA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MGFlZGUzOGRmMDcxMzU5NjhlZGUxMWY3MDM3ZTBhNmJmZWM2NjExYmI0MWNl
10
+ ZmYyMzZhNWU1OThhNjc0MzJiYWEyMDQ5YTRhMGMyYjE5YTJhOTM0OTNjMThl
11
+ NGYzZGE4ZDQ2YWI3NzgzNzUyNDY5MTBjMTExYzAyN2Q5ZjE5MDE=
12
+ data.tar.gz: !binary |-
13
+ ZmM0YWZiZDdiM2RiMWY1M2VlOTY4N2UxNjliNWM4MDg1ZDM4NWJiYmI4NjIy
14
+ NTlhOGM1OWUxNDc5M2Y0YWRiMGZiNWIwYTcxMDQ3NmUxOTUyNjU0ZjM3ZjFl
15
+ NWIzMDQzMGUxMmVlMmYyZDUzYWU1M2NjYzhjMDBlYjdhNzc4ZDM=
data/CHANGES CHANGED
@@ -22,4 +22,8 @@
22
22
 
23
23
  == Version 0.9.5
24
24
 
25
- * Bug fix.
25
+ * Bug fix.
26
+
27
+ == Version 0.9.6
28
+
29
+ * Bump script_executor version.
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source "https://rubygems.org"
2
2
 
3
3
  group :default do
4
4
  gem "text-interpolator", "~>1.0"
5
- gem "script_executor", "~>1.4"
5
+ gem "script_executor", "~>1.5"
6
6
  gem "thor", "~>0.19"
7
7
  gem "json_pure", "~>1.8"
8
8
  end
@@ -48,8 +48,9 @@ GEM
48
48
  rake (>= 0.8.1)
49
49
  ruby-debug-ide (0.4.23.beta1)
50
50
  rake (>= 0.8.1)
51
- script_executor (1.4.2)
51
+ script_executor (1.5.0)
52
52
  highline (~> 1.6)
53
+ json_pure (~> 1.8)
53
54
  net-ssh (~> 2.8)
54
55
  text-interpolator (~> 1.0)
55
56
  showoff (0.9.8.1)
@@ -88,7 +89,7 @@ DEPENDENCIES
88
89
  rspec
89
90
  ruby-debug-base19x (= 0.11.30.pre15)
90
91
  ruby-debug-ide (= 0.4.23.beta1)
91
- script_executor (~> 1.4)
92
+ script_executor (~> 1.5)
92
93
  showoff
93
94
  text-interpolator (~> 1.0)
94
95
  thor (~> 0.19)
@@ -1,6 +1,6 @@
1
- require 'linux_provision/generic_provision'
1
+ require 'script_executor/base_provision'
2
2
 
3
- class LinuxProvision < GenericProvision
3
+ class LinuxProvision < BaseProvision
4
4
 
5
5
  USER_LOCAL_BIN = "/usr/local/bin"
6
6
 
@@ -1,3 +1,3 @@
1
1
  class LinuxProvision
2
- VERSION = "0.9.5"
2
+ VERSION = "0.9.6"
3
3
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
 
21
21
  spec.add_runtime_dependency "text-interpolator", ["~> 1.0"]
22
- spec.add_runtime_dependency "script_executor", ["~> 1.4"]
22
+ spec.add_runtime_dependency "script_executor", ["~> 1.5"]
23
23
  spec.add_runtime_dependency "thor", ["~> 0.19"]
24
24
  spec.add_runtime_dependency "json_pure", ["~> 1.8"]
25
25
  spec.add_development_dependency "gemspec_deps_gen", ["~> 1.1"]
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linux_provision
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
5
- prerelease:
4
+ version: 0.9.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alexander Shvets
@@ -14,7 +13,6 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: text-interpolator
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,23 +27,20 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: script_executor
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '1.4'
33
+ version: '1.5'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '1.4'
40
+ version: '1.5'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: thor
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: json_pure
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: gemspec_deps_gen
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: gemcutter
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -158,7 +145,6 @@ files:
158
145
  - docker/supervisord/Dockerfile
159
146
  - docker/supervisord/supervisord.conf
160
147
  - lib/linux_provision.rb
161
- - lib/linux_provision/generic_provision.rb
162
148
  - lib/linux_provision/linux_provision.rb
163
149
  - lib/linux_provision/linux_provision_scripts.sh
164
150
  - lib/linux_provision/version.rb
@@ -186,30 +172,26 @@ files:
186
172
  homepage: http://github.com/shvets/linux_provision
187
173
  licenses:
188
174
  - MIT
175
+ metadata: {}
189
176
  post_install_message:
190
177
  rdoc_options: []
191
178
  require_paths:
192
179
  - lib
193
180
  required_ruby_version: !ruby/object:Gem::Requirement
194
- none: false
195
181
  requirements:
196
182
  - - ! '>='
197
183
  - !ruby/object:Gem::Version
198
184
  version: '0'
199
- segments:
200
- - 0
201
- hash: 1955455709235512256
202
185
  required_rubygems_version: !ruby/object:Gem::Requirement
203
- none: false
204
186
  requirements:
205
187
  - - ! '>='
206
188
  - !ruby/object:Gem::Version
207
189
  version: '0'
208
190
  requirements: []
209
191
  rubyforge_project:
210
- rubygems_version: 1.8.23
192
+ rubygems_version: 2.2.2
211
193
  signing_key:
212
- specification_version: 3
194
+ specification_version: 4
213
195
  summary: Library for building Linux computer provisioning
214
196
  test_files:
215
197
  - spec/linux_install_spec.rb
@@ -1,79 +0,0 @@
1
- require 'json'
2
- require "highline"
3
-
4
- require 'text_interpolator'
5
- require 'script_executor/executable'
6
- require 'script_executor/script_locator'
7
-
8
- class GenericProvision
9
- include Executable, ScriptLocator
10
-
11
- attr_reader :interpolator, :env, :script_list, :server_info
12
-
13
- def initialize parent_class, config_file_name, scripts_file_names
14
- @interpolator = TextInterpolator.new
15
-
16
- @env = read_config(config_file_name)
17
-
18
- @script_list = {}
19
-
20
- scripts_file_names.each do |name|
21
- @script_list.merge!(scripts(name))
22
- end
23
-
24
- create_script_methods
25
-
26
- create_thor_methods(parent_class) if parent_class.ancestors.include?(Thor)
27
-
28
- @server_info = env[:node] ? env[:node] : {}
29
- end
30
-
31
- protected
32
-
33
- def create_script_methods
34
- script_list.keys.each do |name|
35
- singleton_class.send(:define_method, name.to_sym) do
36
- self.send :run, server_info, name.to_s, env
37
- end
38
- end
39
- end
40
-
41
- def create_thor_methods parent_class
42
- provision = self
43
-
44
- provision.script_list.each do |name, value|
45
- title = provision.script_title(value)
46
-
47
- title = title.nil? ? name : title
48
-
49
- parent_class.send(:desc, name, title) if parent_class.respond_to?(:desc)
50
-
51
- parent_class.send(:define_method, name.to_sym) do
52
- provision.send "#{name}".to_sym
53
- end
54
- end
55
- end
56
-
57
- def read_config config_file_name
58
- hash = JSON.parse(File.read(config_file_name), :symbolize_names => true)
59
-
60
- interpolator.interpolate hash
61
- end
62
-
63
- def terminal
64
- @terminal ||= HighLine.new
65
- end
66
-
67
- def ask_password message
68
- terminal.ask(message) { |q| q.echo = "*" }
69
- end
70
-
71
- def run server_info, script_name, params
72
- execute(server_info) { evaluate_script_body(script_list[script_name], params, :string) }
73
- end
74
-
75
- def run_command server_info, command
76
- execute(server_info.merge({script: command}))
77
- end
78
-
79
- end