linux_provision 0.9.5 → 0.9.6

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.
@@ -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