opswalrus 1.0.70 → 1.0.73

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3be927f8a6e3ff21022fce2524d475897bdb910c4c7929dae53923b418fa74b0
4
- data.tar.gz: 1ba0e6af4e70a2509db80f306f2f4b9e7ab299623ec86e931c9200d30e69142a
3
+ metadata.gz: ad2d52c1a9f3f3f041ca0768f62f91fa85c84470de6442e90139aff6cae3944c
4
+ data.tar.gz: 9d05add771cd5f6f828bfd051710cef71525a1a562cfb47073993b60b14e5302
5
5
  SHA512:
6
- metadata.gz: 7c3955d601910ecb51c000a2d875a9012827878c0b4bf140b2c8d35b4ca80c68a5702140fb66148303d5fc4d3367456a3ecccd3849b5fc2629fa07d1709a62d2
7
- data.tar.gz: b0386db476b91c429c12bce0c15d690ca35e7cb2701fe38c4b0fdaa25ed931f1bc0c19e7067f72a52d40679b541da256699fd893bea5e8ef355757b06c66e6e3
6
+ metadata.gz: 15c43c38639432b2c684f9df85545e53bedaaa6c9051d929bbed266bfdce071c0dd2e68d40c643f07996f967714135217eb24029557dcbd7cbdab814c3366663
7
+ data.tar.gz: 4eef5d3a3f8c6982308e43ffa1cea08de1e5b141200492c741c4b2988f8d7437efb04b44e2be64d6bd866804da9a7c552bbe0f868945e10f9d96acb2e359d478
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- opswalrus (1.0.70)
4
+ opswalrus (1.0.73)
5
5
  activesupport (~> 7.0)
6
6
  bcrypt_pbkdf (~> 1.1)
7
7
  binding_of_caller (~> 1.0)
@@ -54,9 +54,8 @@ if echo $OS | grep -q 'ubuntu'; then
54
54
  sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq build-essential procps curl file git
55
55
 
56
56
  # restart services that need it
57
- sudo needrestart -q -r a
58
- sudo needrestart -q -r a
59
- sudo needrestart -q -r a
57
+ (sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
58
+ # sudo needrestart -q -r a
60
59
  elif echo $OS | grep -q 'fedora'; then
61
60
  sudo dnf groupinstall -y 'Development Tools'
62
61
  sudo dnf -yq install procps-ng curl file git
@@ -104,10 +103,8 @@ if echo $OS | grep -q 'ubuntu'; then
104
103
  # update package list
105
104
  sudo apt update -qy
106
105
 
107
- if [ -f /var/run/reboot-required ]; then
108
- echo 'A system reboot is required!'
109
- exit 1
110
- fi
106
+ # reboot if needed
107
+ (sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
111
108
 
112
109
  # install ruby dependencies
113
110
  # see https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
@@ -117,10 +114,8 @@ if echo $OS | grep -q 'ubuntu'; then
117
114
  fi
118
115
  sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm-dev libdb-dev uuid-dev
119
116
 
120
- # restart services that need it
121
- sudo needrestart -q -r a
122
- sudo needrestart -q -r a
123
- sudo needrestart -q -r a
117
+ # reboot if needed
118
+ (sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
124
119
  elif echo $OS | grep -q 'fedora'; then
125
120
  # from https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
126
121
  sudo yum install -y gcc patch bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel
@@ -145,10 +140,8 @@ if echo $OS | grep -q 'ubuntu'; then
145
140
  # update package list
146
141
  sudo apt update -qy
147
142
 
148
- if [ -f /var/run/reboot-required ]; then
149
- echo 'A system reboot is required!'
150
- exit 1
151
- fi
143
+ # reboot if needed
144
+ (sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
152
145
 
153
146
  sudo DEBIAN_FRONTEND=noninteractive apt install -yq age
154
147
 
@@ -23,6 +23,15 @@ module OpsWalrus
23
23
  def _non_bang_method(name)
24
24
  name.to_s.sub(/!$/, '')
25
25
  end
26
+
27
+ # define methods that exist on kernel and forward them to the method_missing call because
28
+ # we want method_missing to handle the calls that may result from navigating through a package's
29
+ # directory structure (e.g. we include clone here to handle core.git.clone which conflicts with Kernel#clone)
30
+ [:clone].each do |symbol_name|
31
+ define_method(symbol_name) do |*args, **kwargs, &block|
32
+ method_missing(symbol_name, *args, **kwargs, &block)
33
+ end
34
+ end
26
35
  end
27
36
 
28
37
  class RemoteImportInvocationContext < ImportInvocationContext
@@ -5,82 +5,6 @@ require_relative 'ops_file_script_dsl'
5
5
 
6
6
  module OpsWalrus
7
7
 
8
- # class ArrayOrHashNavigationProxy
9
- # extend Forwardable
10
-
11
- # def initialize(array_or_hash)
12
- # @obj = array_or_hash
13
- # end
14
-
15
- # def_delegators :@obj, :[], :to_s, :inspect, :hash, :===, :eql?, :kind_of?, :is_a?, :instance_of?, :respond_to?, :<=>
16
-
17
- # # def [](index, *args, **kwargs, &block)
18
- # # @obj.method(:[]).call(index, *args, **kwargs, &block)
19
- # # end
20
- # def respond_to_missing?(method, *)
21
- # @obj.is_a?(Hash) && @obj.respond_to?(method)
22
- # end
23
- # def method_missing(name, *args, **kwargs, &block)
24
- # case @obj
25
- # when Array
26
- # @obj.method(name).call(*args, **kwargs, &block)
27
- # when Hash
28
- # if @obj.respond_to?(name)
29
- # @obj.method(name).call(*args, **kwargs, &block)
30
- # else
31
- # value = self[name.to_s]
32
- # case value
33
- # when Array, Hash
34
- # ArrayOrHashNavigationProxy.new(value)
35
- # else
36
- # value
37
- # end
38
- # end
39
- # end
40
- # end
41
- # end
42
-
43
- # class InvocationParams
44
- # # @params : Hash
45
-
46
- # # params : Hash | ArrayOrHashNavigationProxy
47
- # def initialize(hashlike_params)
48
- # # this doesn't seem to make any difference
49
- # @params = hashlike_params.to_h
50
- # # @params = hashlike_params
51
- # end
52
-
53
- # def [](key)
54
- # @params[key]
55
- # end
56
-
57
- # def dig(*keys, default: nil)
58
- # # keys = keys.map {|key| key.is_a?(Integer) ? key : key.to_s }
59
- # @params.dig(*keys) || default
60
- # end
61
-
62
- # def method_missing(name, *args, **kwargs, &block)
63
- # if @params.respond_to?(name)
64
- # @params.method(name).call(*args, **kwargs, &block)
65
- # else
66
- # value = self[name]
67
- # case value
68
- # when Array, Hash
69
- # ArrayOrHashNavigationProxy.new(value)
70
- # else
71
- # value
72
- # end
73
- # end
74
- # end
75
- # end
76
-
77
- # class EnvParams < InvocationParams
78
- # # params : Hash | ArrayOrHashNavigationProxy
79
- # def initialize(hashlike_params = ENV)
80
- # super(hashlike_params)
81
- # end
82
- # end
83
-
84
8
  class OpsFileScript
85
9
 
86
10
  def self.define_for(ops_file, ruby_script)
@@ -1,3 +1,3 @@
1
1
  module OpsWalrus
2
- VERSION = "1.0.70"
2
+ VERSION = "1.0.73"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opswalrus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.70
4
+ version: 1.0.73
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Ellis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-21 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport