xlogin 0.4.5 → 0.4.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
  SHA1:
3
- metadata.gz: 100119c40b95cc49c43a1261cb74b634427fc55a
4
- data.tar.gz: 082194ffb69e43ee38edd6e2dfb43d39cb22dbbb
3
+ metadata.gz: 1ecc6ae6eed6152bf4650f916f38eca0ff3dcec0
4
+ data.tar.gz: c177fa3ef796f71aa61399b5c3014fba6a986691
5
5
  SHA512:
6
- metadata.gz: b8595fa30834fc14a7f7d7eae334f25baee462b10b0b12c28b1a941a189a9e5cf99c5cc4d649a1e0a82f63da454125a6144b23c143441f2384a10ef9d061b830
7
- data.tar.gz: 4c7c722c91ee0f45b992a03506d9b6d840ec1e4cf9ca7dfc7228f16d02a3db08087bb3df05eb46782d95d7b5633617b11e9e1232bb64f9347d38d4cfef296c8a
6
+ metadata.gz: 2d6b235af4a0280efb990c67fc5a96c906e56ef7450f26fe8416d263b6ac5d545880d7c52b7a15e10e4f3533340afb0b4000baa50d9de97bc534e081ed6f6897
7
+ data.tar.gz: 47cc3ada1686762bda0b9f3490db28ca7b4ccfbecd323dceb0baefe55d2b9a48a2d464a93d1f8fb8e690c8386503b7247e0d1bde304f5dfd09df011c15248c27
data/bin/xlogin CHANGED
@@ -51,8 +51,7 @@ module Xlogin
51
51
  puts "Trying #{target}..."
52
52
  puts "Escape character is '^]'."
53
53
 
54
- session = Xlogin.get(target, log: loggers)
55
- session.enable if options[:e] && session.respond_to?(:enable)
54
+ session = Xlogin.get(target, force_grant: options[:e], log: loggers)
56
55
  session.interact!
57
56
  rescue => e
58
57
  $stderr.puts("#{e}\n\n")
@@ -66,7 +66,7 @@ module Xlogin
66
66
  end
67
67
  end
68
68
 
69
- klass.new(
69
+ session = klass.new(
70
70
  {
71
71
  host: uri.host,
72
72
  port: uri.port,
@@ -75,6 +75,9 @@ module Xlogin
75
75
  prompts: @prompts,
76
76
  }.merge(opts)
77
77
  )
78
+
79
+ session.enable if session.respond_to?(:enable) && opts[:force_grant]
80
+ session
78
81
  end
79
82
 
80
83
  end
@@ -56,6 +56,7 @@ module Xlogin
56
56
  attr_accessor :silent
57
57
  attr_accessor :lockfile
58
58
  attr_accessor :logfile
59
+ attr_accessor :assume_yes
59
60
  attr_accessor :uncomment
60
61
 
61
62
  def initialize(name)
@@ -68,6 +69,7 @@ module Xlogin
68
69
  @silent = Rake.application.options.silent
69
70
  @lockfile = nil
70
71
  @logfile = nil
72
+ @assume_yes = false
71
73
  @uncomment = false
72
74
 
73
75
  yield(self) if block_given?
@@ -123,6 +125,7 @@ module Xlogin
123
125
  end
124
126
 
125
127
  @xlogin_opts[:log] = loggers unless loggers.empty?
128
+ @xlogin_opts[:assume_yes] ||= assume_yes
126
129
 
127
130
  begin
128
131
  @session = Xlogin.factory.build(@xlogin_opts)
@@ -32,7 +32,7 @@ module Xlogin
32
32
  session_granted = false
33
33
 
34
34
  begin
35
- Timeout.timeout(timeout) { @mutex.lock }
35
+ Timeout.timeout(timeout, Timeout::Error, 'connection timeout expired') { @mutex.lock }
36
36
  retry_count = 0
37
37
  safe_session = self
38
38
  session_granted = true
@@ -41,8 +41,8 @@ module Xlogin
41
41
  safe_session ||= self.renew
42
42
  yield safe_session
43
43
  rescue => e
44
- raise e unless (retry_count += 1) > max_retry
45
44
  safe_session = nil
45
+ raise e if max_retry < (retry_count += 1)
46
46
  retry
47
47
  end
48
48
  ensure
@@ -2,7 +2,7 @@ Xlogin.configure :ios do |os|
2
2
  os.timeout(300)
3
3
  os.prompt(/[>$#]/)
4
4
  os.prompt(/yes \/ no: /) do
5
- puts opts[:force] ? 'y' : 'n'
5
+ puts opts[:assume_yes] ? 'y' : 'n'
6
6
  end
7
7
 
8
8
  os.bind(:login) do |password|
@@ -2,7 +2,7 @@ Xlogin.configure :sros do |os|
2
2
  os.timeout(300)
3
3
  os.prompt(/[>$#] /)
4
4
  os.prompt(/y\/n:/) do
5
- puts opts[:force] ? 'y' : 'n'
5
+ puts opts[:assume_yes] ? 'y' : 'n'
6
6
  end
7
7
 
8
8
  os.bind(:login) do |*args|
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.4.5"
2
+ VERSION = "0.4.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.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-14 00:00:00.000000000 Z
11
+ date: 2017-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler