opswalrus 1.0.70 → 1.0.73

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