titech-pubnet-auth 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- OS_X = RbConfig::CONFIG["target_os"].downcase =~ /^darwin/
5
-
6
4
  $:.unshift File.expand_path('../lib', File.dirname(__FILE__))
7
5
  require 'titech_pubnet_auth'
8
6
  require 'optparse'
9
- require 'terminal-notifier' if OS_X
10
7
 
11
8
  opt = OptionParser.new
12
9
 
@@ -61,8 +58,7 @@ if daemon
61
58
  end
62
59
 
63
60
 
64
- notifier = ->{TerminalNotifier.notify(nil,:title => 'Titech Punet Auth', :subtitle => 'Connected!') if OS_X}
65
- error_notifier = ->(e){TerminalNotifier.notify(e.inspect,:title => 'Titech Punet Auth',:subtitle => 'Caught an unexpected error!') if OS_X}
61
+ include TitechPubnetAuth::BinRoutines
66
62
 
67
63
  pubnet_auth = TitechPubnetAuth.new
68
64
  retry_count = 0
@@ -71,7 +67,7 @@ loop do |t|
71
67
  if mputs 'network_available?', pubnet_auth.network_available?
72
68
  if not mputs 'is_connected?', pubnet_auth.is_connected?
73
69
  if mputs 'auth', pubnet_auth.auth
74
- notifier.call
70
+ notifier
75
71
  retry_count = 0
76
72
  pubnet_auth = TitechPubnetAuth.new(open_timeout: 3)
77
73
  end
@@ -83,7 +79,7 @@ loop do |t|
83
79
  puts " #{e.message}"
84
80
  puts " == Stack Trace =="
85
81
  puts e.backtrace.map{|l| " #{l}"}.join("\n")
86
- error_notifier.call(e) if debug
82
+ error_notifier(e) if debug
87
83
 
88
84
  pubnet_auth = TitechPubnetAuth.new(open_timeout: 10)
89
85
  retry_count += 1
@@ -5,7 +5,7 @@ require 'uri'
5
5
  require 'yaml'
6
6
 
7
7
  $:.unshift File.dirname(__FILE__)
8
- require 'titech_pubnet_auth/extension'
8
+ require 'titech_pubnet_auth/bin_routines'
9
9
 
10
10
 
11
11
  class TitechPubnetAuth
@@ -55,11 +55,11 @@ class TitechPubnetAuth
55
55
  #
56
56
  # note: titech-pubnet allows to access portal.titech.ac.jp without authentication.
57
57
  #
58
- def network_available?
58
+ def network_available?(sample_uri = SAMPLE_URI.call)
59
59
  @agent.get('http://portal.titech.ac.jp')
60
60
  return true
61
- rescue => e
62
- return false
61
+ rescue # check another website just to make sure
62
+ return @agent.get(sample_uri).uri.hostname == sample_uri.hostname
63
63
  end
64
64
 
65
65
  end
@@ -0,0 +1,32 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ class TitechPubnetAuth
4
+ module BinRoutines
5
+ module_function
6
+
7
+ if RbConfig::CONFIG["target_os"].downcase =~ /^darwin/
8
+ require 'terminal-notifier'
9
+
10
+ def notifier
11
+ TerminalNotifier.notify(nil,:title => 'Titech Punet Auth', :subtitle => 'Connected!')
12
+ end
13
+
14
+ def error_notifier(e)
15
+ TerminalNotifier.notify(e.inspect,:title => 'Titech Punet Auth',:subtitle => 'Caught an unexpected error!')
16
+ end
17
+
18
+ else
19
+ def notifier; end
20
+ def error_notifier; end
21
+ end
22
+
23
+ require 'colorize'
24
+
25
+ def mputs(tag,msg)
26
+ s = Time.now.strftime("%Y-%m-%d %H:%M:%S").green + "\t" + caller.first[/([^:]*):/,1].split('/').last.blue + "\t" + tag + ":" + msg.to_s
27
+ puts(s)
28
+ return msg
29
+ end
30
+
31
+ end
32
+ end
@@ -1,3 +1,3 @@
1
1
  class TitechPubnetAuth
2
- VERSION = '0.2.2'
2
+ VERSION = '0.3.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: titech-pubnet-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-21 00:00:00.000000000 Z
12
+ date: 2012-12-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
@@ -68,7 +68,7 @@ executables:
68
68
  extensions: []
69
69
  extra_rdoc_files: []
70
70
  files:
71
- - lib/titech_pubnet_auth/extension.rb
71
+ - lib/titech_pubnet_auth/bin_routines.rb
72
72
  - lib/titech_pubnet_auth/version.rb
73
73
  - lib/titech_pubnet_auth.rb
74
74
  - bin/titech-pubnet-auth
@@ -1,14 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- require 'colorize'
4
-
5
- module Kernel
6
- #
7
- # バッチ処理の経過報告用メソッド。ファイル名と時刻を付けて出力してくれる。
8
- #
9
- def mputs(tag,msg)
10
- s = Time.now.strftime("%Y-%m-%d %H:%M:%S").green + "\t" + caller.first[/([^:]*):/,1].split('/').last.blue + "\t" + tag + ":" + msg.to_s
11
- puts(s)
12
- return msg
13
- end
14
- end