xlogin 0.12.5 → 0.12.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81f206f9e13d4c7554c774e78b2f1922c38b2dbca8e159f4874f027a82c82c99
4
- data.tar.gz: 03e07c95b87a97dd6865013b829c3da4468ee599d3262430f81a6e230551198f
3
+ metadata.gz: 631f9e5c7fc58daf235b083b9061cc3f796f09e625d02d2bb025e674eeaf0eca
4
+ data.tar.gz: e0a5e98641e056661c1dcf4f4908732dc6098fce4bd52e41354d5a62bfbde806
5
5
  SHA512:
6
- metadata.gz: 73af1ca92ea918891c286f1f1a5b9d0e5fbc6acf878cc4d823739350d6af9edfb85ad1da9b9e2bcbe1e3e75f51c907850c81c885c3243087e588cc7f1e38ed1b
7
- data.tar.gz: 56835cfe13e9f94a41b3a20681cc6ba883b429276f7d1ec5665a5da040f6be8c1c4c9a342cb46809436d5d4771d1435d924e0726f1177874eda1bfc5b322e5df
6
+ metadata.gz: f11d11fe67c789fb66ff15aae97f812f1aed6e3957c28827ff97e211a0c4bb314b7f330ebf96ae0602f1b65f0e1436c318f5c3e91ba7632bbc148c71e3fc0c06
7
+ data.tar.gz: 63f64922ac9db0b7590eaa79fcf9325b23afa4b99520a305c39a515f604741cf9421283397aa855b4a89cd93a28b041ca8ea09a4f3f59683132d5e6bbeead437
@@ -14,7 +14,7 @@ module Xlogin
14
14
  @name = name
15
15
  @timeout = DEFAULT_TIMEOUT
16
16
  @prompts = Array.new
17
- @methods = Hash.new
17
+ @methods = Hash.new { |h, k| h[k] = {} }
18
18
  @interrupt = nil
19
19
  end
20
20
 
@@ -29,8 +29,8 @@ module Xlogin
29
29
  @prompts
30
30
  end
31
31
 
32
- def bind(name = nil, &block)
33
- @methods[name] = block
32
+ def bind(name = nil, scope: :default, &block)
33
+ @methods[scope][name] = block
34
34
  end
35
35
 
36
36
  def interrupt!(&block)
@@ -41,12 +41,14 @@ module Xlogin
41
41
  def build(uri, **opts)
42
42
  klass = Class.new(Xlogin.const_get(uri.scheme.capitalize))
43
43
  klass.class_exec(@methods) do |methods|
44
- methods.each do |name, block|
45
- case name.to_s
46
- when 'enable'
47
- define_method(name) { |args = nil| instance_exec(args || opts[:enable], &block) }
48
- else
49
- define_method(name, &block)
44
+ [:default, *opts[:scope]].uniq.each do |scope|
45
+ methods[scope].each do |name, block|
46
+ case name.to_s
47
+ when 'enable'
48
+ define_method(name) { |args = nil| instance_exec(args || opts[:enable], &block) }
49
+ else
50
+ define_method(name, &block)
51
+ end
50
52
  end
51
53
  end
52
54
  end
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.12.5"
2
+ VERSION = "0.12.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlogin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.5
4
+ version: 0.12.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-16 00:00:00.000000000 Z
11
+ date: 2019-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet