train-core 1.5.4 → 1.5.6

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: 1197725af1432c82b09cf462be25c26a554466b81d09c643237c8d08cb39ef4b
4
- data.tar.gz: d9a0df5873c6e54afe2ecf8109e57c270f790ad3aeec848a259ac65c32fa2064
3
+ metadata.gz: d678392322f894b6807ecf2da658f788f7829009512ecca7f3b7fa0819c9b050
4
+ data.tar.gz: eb0b6e01142247f9a89270638df30554c579fa17e55535dd6436835ec48ea852
5
5
  SHA512:
6
- metadata.gz: d779763025d53cc407b7463ac6da6a945115bb92428addd4ddfc5fe75495db755d46ac2d50821c6e516da653b64d0f07380d51e341141655fc2dbdefd4493bc4
7
- data.tar.gz: a05b332b124733414c30a16d34887d9704487c2b6363426d247b4368e2e73dcd66d1345b001d45f0cf645065e38f58590a6a4974ebb277fd5101fca711868bc2
6
+ metadata.gz: dd5c26cdfc1a057e85129c15ebd559739aea1b27bc76846a7151936f47bb9afd4618fb25177e4e735c9f2cf39e4f470d9c2119109c73fe9cf5832f5f8816fbb6
7
+ data.tar.gz: 7b7e9250bec17278aa2626725d045de508f93c3e3fcc17fdf62fb0c9236a16a49fefa65cb044fcc7ee056467232c51344d5b3f5a6d260c513c8c03d1d79daef5
@@ -1,21 +1,28 @@
1
- <!-- latest_release 1.5.4 -->
2
- ## [v1.5.4](https://github.com/inspec/train/tree/v1.5.4) (2018-10-15)
1
+ <!-- latest_release 1.5.6 -->
2
+ ## [v1.5.6](https://github.com/inspec/train/tree/v1.5.6) (2018-11-01)
3
3
 
4
4
  #### Merged Pull Requests
5
- - Correct example plugin link [#363](https://github.com/inspec/train/pull/363) ([jerryaldrichiii](https://github.com/jerryaldrichiii))
5
+ - Adds cached_client method in BaseConnection [#371](https://github.com/inspec/train/pull/371) ([dmccown](https://github.com/dmccown))
6
6
  <!-- latest_release -->
7
7
 
8
- <!-- release_rollup since=1.5.0 -->
9
- ### Changes since 1.5.0 release
8
+ <!-- release_rollup since=1.5.4 -->
9
+ ### Changes since 1.5.4 release
10
10
 
11
11
  #### Merged Pull Requests
12
- - Correct example plugin link [#363](https://github.com/inspec/train/pull/363) ([jerryaldrichiii](https://github.com/jerryaldrichiii)) <!-- 1.5.4 -->
13
- - Adds Azure Vault Client [#351](https://github.com/inspec/train/pull/351) ([r-fennell](https://github.com/r-fennell)) <!-- 1.5.3 -->
14
- - Remove the legacy version bumping from the rakefile [#359](https://github.com/inspec/train/pull/359) ([tas50](https://github.com/tas50)) <!-- 1.5.2 -->
15
- - Fixes the link pointing back to the plugin docs [#362](https://github.com/inspec/train/pull/362) ([cattywampus](https://github.com/cattywampus)) <!-- 1.5.1 -->
12
+ - Adds cached_client method in BaseConnection [#371](https://github.com/inspec/train/pull/371) ([dmccown](https://github.com/dmccown)) <!-- 1.5.6 -->
13
+ - Fix Cisco IOS detection when banners lack a `\r\n` [#372](https://github.com/inspec/train/pull/372) ([jerryaldrichiii](https://github.com/jerryaldrichiii)) <!-- 1.5.5 -->
16
14
  <!-- release_rollup -->
17
15
 
18
16
  <!-- latest_stable_release -->
17
+ ## [v1.5.4](https://github.com/inspec/train/tree/v1.5.4) (2018-10-18)
18
+
19
+ #### Merged Pull Requests
20
+ - Fixes the link pointing back to the plugin docs [#362](https://github.com/inspec/train/pull/362) ([cattywampus](https://github.com/cattywampus))
21
+ - Remove the legacy version bumping from the rakefile [#359](https://github.com/inspec/train/pull/359) ([tas50](https://github.com/tas50))
22
+ - Adds Azure Vault Client [#351](https://github.com/inspec/train/pull/351) ([r-fennell](https://github.com/r-fennell))
23
+ - Correct example plugin link [#363](https://github.com/inspec/train/pull/363) ([jerryaldrichiii](https://github.com/jerryaldrichiii))
24
+ <!-- latest_stable_release -->
25
+
19
26
  ## [v1.5.0](https://github.com/inspec/train/tree/v1.5.0) (2018-09-27)
20
27
 
21
28
  #### Merged Pull Requests
@@ -23,7 +30,6 @@
23
30
  - Adding GCP admin_client helper. [#349](https://github.com/inspec/train/pull/349) ([skpaterson](https://github.com/skpaterson))
24
31
  - Plugins: Test harness, test fixture, docs, and local-type example [#356](https://github.com/inspec/train/pull/356) ([clintoncwolfe](https://github.com/clintoncwolfe))
25
32
  - Bump minor version. [#357](https://github.com/inspec/train/pull/357) ([jquick](https://github.com/jquick))
26
- <!-- latest_stable_release -->
27
33
 
28
34
  ## [v1.4.37](https://github.com/inspec/train/tree/v1.4.37) (2018-09-13)
29
35
 
@@ -69,17 +69,17 @@ module Train::Platforms::Detect::Helpers
69
69
  return @cache[:cisco] if @cache.key?(:cisco)
70
70
  res = command_output('show version')
71
71
 
72
- m = res.match(/^Cisco IOS Software, [^,]+? \(([^,]+?)\), Version (\d+\.\d+)/)
72
+ m = res.match(/Cisco IOS Software, [^,]+? \(([^,]+?)\), Version (\d+\.\d+)/)
73
73
  unless m.nil?
74
74
  return @cache[:cisco] = { version: m[2], model: m[1], type: 'ios' }
75
75
  end
76
76
 
77
- m = res.match(/^Cisco IOS Software, IOS-XE Software, [^,]+? \(([^,]+?)\), Version (\d+\.\d+\.\d+[A-Z]*)/)
77
+ m = res.match(/Cisco IOS Software, IOS-XE Software, [^,]+? \(([^,]+?)\), Version (\d+\.\d+\.\d+[A-Z]*)/)
78
78
  unless m.nil?
79
79
  return @cache[:cisco] = { version: m[2], model: m[1], type: 'ios-xe' }
80
80
  end
81
81
 
82
- m = res.match(/^Cisco Nexus Operating System \(NX-OS\) Software/)
82
+ m = res.match(/Cisco Nexus Operating System \(NX-OS\) Software/)
83
83
  unless m.nil?
84
84
  v = res[/^\s*system:\s+version (\d+\.\d+)/, 1]
85
85
  return @cache[:cisco] = { version: v, type: 'nexus' }
@@ -37,6 +37,25 @@ class Train::Plugins::Transport
37
37
  end
38
38
  end
39
39
 
40
+ # Returns cached client if caching enabled. Otherwise returns whatever is
41
+ # given in the block.
42
+ #
43
+ # @example
44
+ #
45
+ # def demo_client
46
+ # cached_client(:api_call, :demo_connection) do
47
+ # DemoClient.new(args)
48
+ # end
49
+ # end
50
+ #
51
+ # @param [symbol] type one of [:api_call, :file, :command]
52
+ # @param [symbol] key for your cached connection
53
+ def cached_client(type, key)
54
+ return yield unless cache_enabled?(type)
55
+
56
+ @cache[type][key] ||= yield
57
+ end
58
+
40
59
  def cache_enabled?(type)
41
60
  @cache_enabled[type.to_sym]
42
61
  end
@@ -3,5 +3,5 @@
3
3
  # Author:: Dominik Richter (<dominik.richter@gmail.com>)
4
4
 
5
5
  module Train
6
- VERSION = '1.5.4'.freeze
6
+ VERSION = '1.5.6'.freeze
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: train-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Richter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-15 00:00:00.000000000 Z
11
+ date: 2018-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout