train-core 3.1.8 → 3.2.0

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: 49174b0f7d0930b948754aebf097e4d7e86eb81a4c211bcf089a88f03f159bed
4
- data.tar.gz: 2d333cba1edba5ffa392bfac19c1719dd0d3f3ef85bf7d37f86f1363c8bc03ee
3
+ metadata.gz: 753d229b222d0b3db2d8cdaaa8f71232a8eb789c764b26ba57663438ce2b112f
4
+ data.tar.gz: d11b1c63d3aeb30d3061038948dca02c1a8cc205241865c829d104f53f87ea2c
5
5
  SHA512:
6
- metadata.gz: fe67e40c52811b843bb2841a1640ef57a5c09180035dce49d2a092e9e13727f91ea9282063e8a002d3b767813fa954beea32ee310a39908bfac123da8d636b52
7
- data.tar.gz: 2d42a75181488bc6e076310263b426778d33a88da9dd96c7bf738e5923bbd140dca2ec65726c2bdafd3892141c90a78839f57df304c1a73337cb5410a6e068b5
6
+ metadata.gz: 8653c7e7c3180d367b60ccc9134d670a74701354cf3009d91a416e6b09dd2fb8112835c010a935f22900e6b27fc974df83d5d7a1c945fc6a6fd7f32f5be13df2
7
+ data.tar.gz: 8e03272617627c66ee8e27437d3bc052bfaf320c7d6c7eb99ebff240693a70acb086e33d73643d0bf5b0391f490b52a993742e0a04b84c7a76fe2283dd8f1453
@@ -29,7 +29,9 @@ module Train
29
29
  }.freeze
30
30
 
31
31
  DATA_FIELDS.each do |m|
32
- define_method m.to_sym do
32
+ next if m == "path"
33
+
34
+ define_method m do
33
35
  raise NotImplementedError, "File must implement the #{m}() method."
34
36
  end
35
37
  end
@@ -23,10 +23,8 @@ module Train::Platforms
23
23
  end
24
24
 
25
25
  def find_family_hierarchy(platform = self)
26
- families = platform.families.each_with_object([]) do |(k, _v), memo|
27
- memo << k.name
28
- memo << find_family_hierarchy(k) unless k.families.empty?
29
- end
26
+ families = platform.families.map { |k, v| [k.name, find_family_hierarchy(k)] }
27
+
30
28
  @family_hierarchy = families.flatten
31
29
  end
32
30
 
@@ -42,11 +40,7 @@ module Train::Platforms
42
40
 
43
41
  def clean_name(force: false)
44
42
  @cleaned_name = nil if force
45
- @cleaned_name ||= begin
46
- name = (@platform[:name] || @name)
47
- name.downcase!.tr!(" ", "_") if name =~ /[A-Z ]/
48
- name
49
- end
43
+ @cleaned_name ||= (@platform[:name] || @name).downcase.tr(" ", "_")
50
44
  end
51
45
 
52
46
  def uuid
@@ -70,11 +70,17 @@ class Train::Transports::Mock
70
70
  "mock://"
71
71
  end
72
72
 
73
+ DEFAULTS = {
74
+ name: "mock",
75
+ family: "mock",
76
+ release: "unknown",
77
+ arch: "unknown",
78
+ }.freeze
79
+
73
80
  def mock_os(value = {})
74
- # if a user passes a nil value, set to an empty hash so the merge still succeeds
75
- value ||= {}
76
- value.each { |k, v| value[k] = "unknown" if v.nil? }
77
- value = { name: "mock", family: "mock", release: "unknown", arch: "unknown" }.merge(value)
81
+ value = DEFAULTS
82
+ .merge(value || {})
83
+ .transform_values { |v| v || "unknown" }
78
84
 
79
85
  platform = Train::Platforms.name(value[:name])
80
86
  platform.find_family_hierarchy
@@ -285,7 +285,7 @@ class Train::Transports::SSH
285
285
  exit_status = nil
286
286
  session.open_channel do |channel|
287
287
  # wrap commands if that is configured
288
- cmd = @cmd_wrapper.run(cmd) unless @cmd_wrapper.nil?
288
+ cmd = @cmd_wrapper.run(cmd) if @cmd_wrapper
289
289
 
290
290
  if @transport_options[:pty]
291
291
  channel.request_pty do |_ch, success|
@@ -3,5 +3,5 @@
3
3
  # Author:: Dominik Richter (<dominik.richter@gmail.com>)
4
4
 
5
5
  module Train
6
- VERSION = "3.1.8".freeze
6
+ VERSION = "3.2.0".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: 3.1.8
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Richter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-13 00:00:00.000000000 Z
11
+ date: 2019-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json