unageanu-jiji 1.1.2 → 1.1.3

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.
data/ChangeLog CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ 2009-7-5 1.1.3
3
+ * クリック証券のデモ取引に接続する場合に、設定でプロキシを空のまま確定すると
4
+  接続エラーになる不具合を改修。
5
+
2
6
  2009-6-29 1.1.2
3
7
  * クリック証券プラグインを標準添付
4
8
 
@@ -21,7 +21,7 @@ module JIJI
21
21
  def input_infos
22
22
  [ Input.new( :user, "Please input a user name of CLICK Securities DEMO Trade.", false, nil ),
23
23
  Input.new( :password, "Please input a password of CLICK Securities DEMO Trade.", true, nil ),
24
- Input.new( :proxy, "Please input a proxy. example: https://example.com:80 (default: nil )", false, nil )]
24
+ Input.new( :proxy, "Please input a proxy. example: http://example.com:80 (default: nil )", false, nil )]
25
25
  end
26
26
 
27
27
  #プラグインを初期化します。
@@ -20,25 +20,30 @@ end
20
20
 
21
21
  module JIJI
22
22
  module Plugin
23
-
23
+
24
24
  #
25
25
  #==クリック証券へのアクセスを集約するためのサービス
26
26
  #
27
27
  class SingleClickClient
28
-
28
+ include HTTPClient::Timeout
29
+
29
30
  def initialize( conf, logger )
30
31
  @conf = conf
31
32
  @logger = logger
32
33
  @mutex = Mutex.new
33
34
  end
34
-
35
+
35
36
  #リクエストを送付する。
36
37
  #ブロックの第1引数としてセッションが渡される。
37
38
  def request( &block )
38
39
  @mutex.synchronize {
39
40
  begin
40
41
  @session = create_session unless @session
41
- @session.request( &block )
42
+ @session.request {|fx|
43
+ #timeout( conf[:timeout] || 60 ) {
44
+ yield fx
45
+ #}
46
+ }
42
47
  rescue Exception
43
48
  begin
44
49
  # セッション切れの場合、再作成して再実行してみる。
@@ -60,7 +65,7 @@ module JIJI
60
65
  end
61
66
  }
62
67
  end
63
-
68
+
64
69
  #サービスを破棄する。
65
70
  #不要になった場合、必ず実行すること。
66
71
  def close
@@ -69,15 +74,19 @@ module JIJI
69
74
  end
70
75
  attr :conf, true
71
76
  attr :logger, true
72
-
77
+
73
78
  private
74
79
  def create_session
75
80
  return Session.new { |wait|
76
81
  logger.info "start single click client."
77
82
  begin
78
83
  JIJI::Util.log_if_error_and_throw( @logger ) {
79
- client = ClickClient::Client.new( conf[:proxy] ? conf[:proxy] : nil )
80
- client.host_name = conf[:host] ? conf[:host] : "https://fx-demo.click-sec.com"
84
+ proxy = nil
85
+ if conf.key?(:proxy) && conf[:proxy] != nil && conf[:proxy].length > 0
86
+ proxy = conf[:proxy]
87
+ end
88
+ client = ClickClient::Client.new( proxy )
89
+ client.host_name = conf[:host] ? conf[:host] : "https://fx-demo.click-sec.com"
81
90
  @logger.info "connect host=#{client.host_name}, user=#{conf[:user]}"
82
91
  client.fx_session(conf[:user], conf[:password]){|fx|
83
92
  wait.call( fx )
@@ -91,7 +100,7 @@ module JIJI
91
100
  }
92
101
  end
93
102
  end
94
-
103
+
95
104
  #接続エラー時に使用するセッション
96
105
  #常にエラーをスローする。
97
106
  class ErrorSession
@@ -102,6 +111,6 @@ module JIJI
102
111
  raise @error
103
112
  end
104
113
  end
105
-
114
+
106
115
  end
107
116
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unageanu-jiji
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaya Yamauchi
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - "="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.4
33
+ version: 0.1.5
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: highline