unageanu-jiji 1.0.3 → 1.1.0

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.
Files changed (68) hide show
  1. data/ChangeLog +3 -0
  2. data/bin/jiji +1 -1
  3. data/html/swf/chart.swf +0 -0
  4. data/lib/jiji/agent/agent.rb +0 -1
  5. data/lib/jiji/agent/agent_manager.rb +0 -1
  6. data/lib/jiji/collector.rb +14 -17
  7. data/lib/jiji/command.rb +40 -12
  8. data/lib/jiji/configuration.rb +8 -2
  9. data/lib/jiji/dao/trade_result_dao.rb +1 -1
  10. data/lib/jiji/migration/migrator1_1_0.rb +46 -0
  11. data/lib/jiji/models.rb +1 -5
  12. data/lib/jiji/operator.rb +12 -30
  13. data/lib/jiji/plugin/embedded/click_securities_demo_plugin.rb +140 -0
  14. data/lib/jiji/plugin/embedded/single_click_client.rb +107 -0
  15. data/lib/jiji/plugin/plugin_loader.rb +53 -0
  16. data/lib/jiji/plugin/securities_plugin.rb +135 -0
  17. data/lib/jiji/registry.rb +24 -19
  18. data/lib/jiji/server.rb +3 -1
  19. data/lib/jiji/service/rate_service.rb +7 -2
  20. data/lib/jiji/util/block_to_session.rb +4 -4
  21. data/lib/jiji/util/util.rb +0 -67
  22. data/lib/jiji_plugin.rb +6 -0
  23. data/swf/build.xml +1 -1
  24. data/swf/chart/fx/chart/Chart.as +6 -4
  25. data/swf/chart/fx/chart/ctrl/Controller.as +12 -0
  26. data/swf/chart/fx/chart/model/Model.as +3 -1
  27. data/swf/chart/fx/chart/ui/RangeInfoWindow.as +1 -1
  28. data/swf/chart/fx/chart/ui/ScaleSelector.as +6 -17
  29. data/test/OutputregistryTest/conf/configuration.yaml +3 -0
  30. data/test/ProcessManagerTest/conf/configuration.yaml +4 -17
  31. data/test/{test_AgentManager.rb → agent/test_AgentManager.rb} +37 -39
  32. data/test/{test_AgentRegistry.rb → agent/test_AgentRegistry.rb} +3 -2
  33. data/test/{test_PeriodicallyAgent.rb → agent/test_PeriodicallyAgent.rb} +7 -6
  34. data/test/{test_Permitter.rb → agent/test_Permitter.rb} +10 -9
  35. data/test/all_tests.rb +31 -24
  36. data/test/{test_RateDao.rb → dao/test_RateDao.rb} +5 -5
  37. data/test/{test_TradeResultDao.rb → dao/test_TradeResultDao.rb} +12 -11
  38. data/test/jiji_plugin.rb +7 -0
  39. data/test/migration/migrator1_1_0test_data/configuration.yaml +11 -0
  40. data/test/migration/test_Migrator1_1_0.rb +56 -0
  41. data/test/{test_SingleClickClient.rb → plugin/embedded/test_SingleClickClient.rb} +44 -14
  42. data/test/plugin/error_test/jiji_plugin.rb +2 -0
  43. data/test/plugin/test/foo_plugin.rb +1 -0
  44. data/test/plugin/test/jiji_plugin.rb +2 -0
  45. data/test/plugin/test_Loader.rb +33 -0
  46. data/test/plugin/test_gem/a/jiji_plugin_test_gem_a-1.0.0.gem +0 -0
  47. data/test/plugin/test_gem/a/jiji_plugin_test_gem_a.gemspec +10 -0
  48. data/test/plugin/test_gem/a/lib/jiji_plugin.rb +2 -0
  49. data/test/plugin/test_gem/a/lib/jiji_plugin_test.rb +6 -0
  50. data/test/plugin/test_gem/b/jiji_plugin_test_gem_b-1.0.0.gem +0 -0
  51. data/test/plugin/test_gem/b/jiji_plugin_test_gem_b.gemspec +9 -0
  52. data/test/plugin/test_gem/b/lib/jiji_plugin.rb +2 -0
  53. data/test/test_BackTestCollector.rb +12 -20
  54. data/test/test_Collector.rb +16 -32
  55. data/test/test_Configuration.rb +3 -3
  56. data/test/test_Operator.rb +9 -9
  57. data/test/test_Output.rb +2 -3
  58. data/test/test_Output_registry.rb +9 -9
  59. data/test/test_Process.rb +6 -6
  60. data/test/test_ProcessManager.rb +11 -9
  61. data/test/test_utils.rb +49 -0
  62. data/test/{test_BlockToSession.rb → util/test_BlockToSession.rb} +57 -9
  63. data/test/{test_CSV.rb → util/test_CSV.rb} +5 -5
  64. data/test/{test_SynchronizeInterceptor.rb → util/test_SynchronizeInterceptor.rb} +5 -3
  65. metadata +59 -26
  66. data/lib/jiji/single_click_client.rb +0 -95
  67. data/test/test_configuration.yaml +0 -16
  68. data/test/testutils.rb +0 -37
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.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaya Yamauchi
@@ -440,10 +440,15 @@ files:
440
440
  - lib/jiji/error.rb
441
441
  - lib/jiji/migration/migrator.rb
442
442
  - lib/jiji/migration/migrator1_0_3.rb
443
+ - lib/jiji/migration/migrator1_1_0.rb
443
444
  - lib/jiji/models.rb
444
445
  - lib/jiji/observer.rb
445
446
  - lib/jiji/operator.rb
446
447
  - lib/jiji/output.rb
448
+ - lib/jiji/plugin/embedded/click_securities_demo_plugin.rb
449
+ - lib/jiji/plugin/embedded/single_click_client.rb
450
+ - lib/jiji/plugin/plugin_loader.rb
451
+ - lib/jiji/plugin/securities_plugin.rb
447
452
  - lib/jiji/process.rb
448
453
  - lib/jiji/process_manager.rb
449
454
  - lib/jiji/registry.rb
@@ -455,7 +460,6 @@ files:
455
460
  - lib/jiji/service/rate_service.rb
456
461
  - lib/jiji/service/system_service.rb
457
462
  - lib/jiji/service/trade_result_service.rb
458
- - lib/jiji/single_click_client.rb
459
463
  - lib/jiji/util/block_to_session.rb
460
464
  - lib/jiji/util/cache.rb
461
465
  - lib/jiji/util/csv_append_support.rb
@@ -467,6 +471,7 @@ files:
467
471
  - lib/jiji/util/synchronize_interceptor.rb
468
472
  - lib/jiji/util/thread_use_generator.rb
469
473
  - lib/jiji/util/util.rb
474
+ - lib/jiji_plugin.rb
470
475
  - swf/build.xml
471
476
  - swf/chart/fx/chart/Chart.as
472
477
  - swf/chart/fx/chart/ctrl/AutoUpdate.as
@@ -569,6 +574,10 @@ files:
569
574
  - swf/chart/FxChart.mxml
570
575
  - swf/chart/log.as
571
576
  - swf/lib/corelib.swc
577
+ - test/agent/test_AgentManager.rb
578
+ - test/agent/test_AgentRegistry.rb
579
+ - test/agent/test_PeriodicallyAgent.rb
580
+ - test/agent/test_Permitter.rb
572
581
  - test/all_tests.rb
573
582
  - test/BackCollectorTest/basic/2008-08-04/AUDJPY.csv
574
583
  - test/BackCollectorTest/basic/2008-08-04/USDJPY.csv
@@ -612,11 +621,29 @@ files:
612
621
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-04.csv
613
622
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-06.csv
614
623
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-07.csv
624
+ - test/dao/test_RateDao.rb
625
+ - test/dao/test_TradeResultDao.rb
626
+ - test/jiji_plugin.rb
615
627
  - test/migration/migrator1_0_3test_data/rmt/out/M2NlOTA2ODEtZDdlNi00NWU1LWIwNDQtMjBmODY2ZGNkNzBj/56e75YuV5bmz5Z2H57ea/meta.yaml
616
628
  - test/migration/migrator1_0_3test_data/rmt/out/NjM5YWFhZmQtNDFjNy00NjUxLWIwYmItNTc3ZjAyZTg5ODA5/56e75Yuasdwqdd/meta.yaml
617
629
  - test/migration/migrator1_0_3test_data/rmt/out/NjM5YWFhZmQtNDFjNy00NjUxLWIwYmItNTc3ZjAyZTg5ODA5/56e75YuV5bmz5Z2H57ea/meta.yaml
630
+ - test/migration/migrator1_1_0test_data/configuration.yaml
618
631
  - test/migration/test_Migrator.rb
619
632
  - test/migration/test_Migrator1_0_3.rb
633
+ - test/migration/test_Migrator1_1_0.rb
634
+ - test/OutputregistryTest/conf/configuration.yaml
635
+ - test/plugin/embedded/test_SingleClickClient.rb
636
+ - test/plugin/error_test/jiji_plugin.rb
637
+ - test/plugin/test/foo_plugin.rb
638
+ - test/plugin/test/jiji_plugin.rb
639
+ - test/plugin/test_gem/a/jiji_plugin_test_gem_a-1.0.0.gem
640
+ - test/plugin/test_gem/a/jiji_plugin_test_gem_a.gemspec
641
+ - test/plugin/test_gem/a/lib/jiji_plugin.rb
642
+ - test/plugin/test_gem/a/lib/jiji_plugin_test.rb
643
+ - test/plugin/test_gem/b/jiji_plugin_test_gem_b-1.0.0.gem
644
+ - test/plugin/test_gem/b/jiji_plugin_test_gem_b.gemspec
645
+ - test/plugin/test_gem/b/lib/jiji_plugin.rb
646
+ - test/plugin/test_Loader.rb
620
647
  - test/ProcessManagerTest/agents/moving_average.rb
621
648
  - test/ProcessManagerTest/conf/configuration.yaml
622
649
  - test/ProcessManagerTest/rate_datas/EURJPY/raw/2008-08-21.csv
@@ -633,27 +660,19 @@ files:
633
660
  - test/service/test_AgentService.rb
634
661
  - test/service/test_OutputService.rb
635
662
  - test/service/test_RateService.rb
636
- - test/testutils.rb
637
- - test/test_AgentManager.rb
638
- - test/test_AgentRegistry.rb
639
663
  - test/test_BackTestCollector.rb
640
- - test/test_BlockToSession.rb
641
664
  - test/test_Collector.rb
642
665
  - test/test_Configuration.rb
643
- - test/test_configuration.yaml
644
666
  - test/test_Configuration_a.yaml
645
- - test/test_CSV.rb
646
667
  - test/test_Operator.rb
647
668
  - test/test_Output.rb
648
669
  - test/test_Output_registry.rb
649
- - test/test_PeriodicallyAgent.rb
650
- - test/test_Permitter.rb
651
670
  - test/test_Process.rb
652
671
  - test/test_ProcessManager.rb
653
- - test/test_RateDao.rb
654
- - test/test_SingleClickClient.rb
655
- - test/test_SynchronizeInterceptor.rb
656
- - test/test_TradeResultDao.rb
672
+ - test/test_utils.rb
673
+ - test/util/test_BlockToSession.rb
674
+ - test/util/test_CSV.rb
675
+ - test/util/test_SynchronizeInterceptor.rb
657
676
  has_rdoc: true
658
677
  homepage: http://github.com/unageanu/jiji/tree/master
659
678
  post_install_message:
@@ -681,6 +700,10 @@ signing_key:
681
700
  specification_version: 2
682
701
  summary: open and free fx auto trade system.
683
702
  test_files:
703
+ - test/agent/test_AgentManager.rb
704
+ - test/agent/test_AgentRegistry.rb
705
+ - test/agent/test_PeriodicallyAgent.rb
706
+ - test/agent/test_Permitter.rb
684
707
  - test/all_tests.rb
685
708
  - test/BackCollectorTest/basic/2008-08-04/AUDJPY.csv
686
709
  - test/BackCollectorTest/basic/2008-08-04/USDJPY.csv
@@ -724,11 +747,29 @@ test_files:
724
747
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-04.csv
725
748
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-06.csv
726
749
  - test/BackCollectorTest/lack/ZARJPY/raw/2008-08-07.csv
750
+ - test/dao/test_RateDao.rb
751
+ - test/dao/test_TradeResultDao.rb
752
+ - test/jiji_plugin.rb
727
753
  - test/migration/migrator1_0_3test_data/rmt/out/M2NlOTA2ODEtZDdlNi00NWU1LWIwNDQtMjBmODY2ZGNkNzBj/56e75YuV5bmz5Z2H57ea/meta.yaml
728
754
  - test/migration/migrator1_0_3test_data/rmt/out/NjM5YWFhZmQtNDFjNy00NjUxLWIwYmItNTc3ZjAyZTg5ODA5/56e75Yuasdwqdd/meta.yaml
729
755
  - test/migration/migrator1_0_3test_data/rmt/out/NjM5YWFhZmQtNDFjNy00NjUxLWIwYmItNTc3ZjAyZTg5ODA5/56e75YuV5bmz5Z2H57ea/meta.yaml
756
+ - test/migration/migrator1_1_0test_data/configuration.yaml
730
757
  - test/migration/test_Migrator.rb
731
758
  - test/migration/test_Migrator1_0_3.rb
759
+ - test/migration/test_Migrator1_1_0.rb
760
+ - test/OutputregistryTest/conf/configuration.yaml
761
+ - test/plugin/embedded/test_SingleClickClient.rb
762
+ - test/plugin/error_test/jiji_plugin.rb
763
+ - test/plugin/test/foo_plugin.rb
764
+ - test/plugin/test/jiji_plugin.rb
765
+ - test/plugin/test_gem/a/jiji_plugin_test_gem_a-1.0.0.gem
766
+ - test/plugin/test_gem/a/jiji_plugin_test_gem_a.gemspec
767
+ - test/plugin/test_gem/a/lib/jiji_plugin.rb
768
+ - test/plugin/test_gem/a/lib/jiji_plugin_test.rb
769
+ - test/plugin/test_gem/b/jiji_plugin_test_gem_b-1.0.0.gem
770
+ - test/plugin/test_gem/b/jiji_plugin_test_gem_b.gemspec
771
+ - test/plugin/test_gem/b/lib/jiji_plugin.rb
772
+ - test/plugin/test_Loader.rb
732
773
  - test/ProcessManagerTest/agents/moving_average.rb
733
774
  - test/ProcessManagerTest/conf/configuration.yaml
734
775
  - test/ProcessManagerTest/rate_datas/EURJPY/raw/2008-08-21.csv
@@ -745,24 +786,16 @@ test_files:
745
786
  - test/service/test_AgentService.rb
746
787
  - test/service/test_OutputService.rb
747
788
  - test/service/test_RateService.rb
748
- - test/testutils.rb
749
- - test/test_AgentManager.rb
750
- - test/test_AgentRegistry.rb
751
789
  - test/test_BackTestCollector.rb
752
- - test/test_BlockToSession.rb
753
790
  - test/test_Collector.rb
754
791
  - test/test_Configuration.rb
755
- - test/test_configuration.yaml
756
792
  - test/test_Configuration_a.yaml
757
- - test/test_CSV.rb
758
793
  - test/test_Operator.rb
759
794
  - test/test_Output.rb
760
795
  - test/test_Output_registry.rb
761
- - test/test_PeriodicallyAgent.rb
762
- - test/test_Permitter.rb
763
796
  - test/test_Process.rb
764
797
  - test/test_ProcessManager.rb
765
- - test/test_RateDao.rb
766
- - test/test_SingleClickClient.rb
767
- - test/test_SynchronizeInterceptor.rb
768
- - test/test_TradeResultDao.rb
798
+ - test/test_utils.rb
799
+ - test/util/test_BlockToSession.rb
800
+ - test/util/test_CSV.rb
801
+ - test/util/test_SynchronizeInterceptor.rb
@@ -1,95 +0,0 @@
1
-
2
- require "rubygems"
3
- require "clickclient"
4
- require 'jiji/util/block_to_session'
5
- require 'jiji/util/util'
6
- require 'jiji/error'
7
-
8
- # エラー発生時に実行時例外になる場合があるので修正。
9
- module ClickClient
10
- def self.parse( content )
11
- doc = REXML::Document.new( content )
12
- unless ( doc.text( "./*/responseStatus" ) =~ /OK/ )
13
- error = doc.text( "./*/message" )
14
- raise "fail. #{error ? error : content }"
15
- end
16
- return doc
17
- end
18
- end
19
-
20
-
21
- module JIJI
22
-
23
- #
24
- #==クリック証券へのアクセスを集約するためのサービス
25
- #
26
- class SingleClickClient
27
-
28
-
29
- def initialize( account, conf, logger )
30
- @conf = conf
31
- @logger = logger
32
- @account = account
33
- @session = create_session
34
- end
35
-
36
- #リクエストを送付する。
37
- #ブロックの第1引数としてセッションが渡される。
38
- def request( &block )
39
- begin
40
- @session.request( &block )
41
- rescue
42
- # セッション切れの場合、再作成して再実行。
43
- if $!.to_s =~ /Out Of Session\./
44
- @logger.info "restart single click client."
45
- @session.close
46
- @session = create_session
47
- @session.request( &block )
48
- else
49
- raise $!
50
- end
51
- end
52
- end
53
-
54
- #サービスを破棄する。
55
- #不要になった場合、必ず実行すること。
56
- def close
57
- @session.close
58
- @logger.info "close single click client."
59
- end
60
- attr :conf, true
61
- attr :logger, true
62
-
63
- private
64
- def create_session
65
- return Session.new { |wait|
66
- logger.info "start single click client."
67
- begin
68
- JIJI::Util.log_if_error_and_throw( @logger ) {
69
- client = ClickClient::Client.new
70
- client.host_name = @conf.get([:securities,:host], "https://fx-demo.click-sec.com" )
71
- @logger.info "connect host=#{client.host_name}, user=#{@account.user}"
72
- client.fx_session(@account.user, @account.password){|fx|
73
- wait.call( fx )
74
- }
75
- }
76
- rescue Exception
77
- @logger.info "connect failed."
78
- e = JIJI::FatalError.new( JIJI::ERROR_NOT_CONNECTED, $!.to_s )
79
- wait.call( ErrorSession.new( e ) )
80
- end
81
- }
82
- end
83
- end
84
-
85
- # 接続エラー時に使用するセッション
86
- #常にエラーをスローする。
87
- class ErrorSession
88
- def initialize(error)
89
- @error = error
90
- end
91
- def method_missing(name, *args, &block)
92
- raise @error
93
- end
94
- end
95
- end
@@ -1,16 +0,0 @@
1
- ---
2
-
3
- server:
4
- port: 7000
5
-
6
- securities:
7
- account:
8
- user: "<user-name>"
9
- password: "<password>"
10
-
11
- collector:
12
- wait_time: 6
13
-
14
- dir:
15
- data: datas
16
- log: logs
data/test/testutils.rb DELETED
@@ -1,37 +0,0 @@
1
-
2
- $: << "../lib"
3
-
4
-
5
- require "rubygems"
6
- require "runit/testcase"
7
- require "runit/cui/testrunner"
8
- require "jiji/configuration"
9
- require "fileutils"
10
- require "logger"
11
- require 'jiji/util/json_rpc_requestor'
12
-
13
- # テスト用ユーティリティなど。
14
- module Test
15
- module Constants
16
-
17
- # テスト用設定値
18
- CONF = JIJI::Configuration.new File.dirname(__FILE__) + "/test_configuration.yaml"
19
-
20
- ACCOUNT = Struct.new(:user,:password).new(
21
- CONF.get([:securities, :account, :user], ""),
22
- CONF.get([:securities, :account, :password], "") )
23
-
24
- Info = Struct.new( :trade_unit )
25
- Rate = Struct.new( :bid, :ask, :sell_swap, :buy_swap, :date )
26
-
27
- end
28
-
29
- # サービスのテストの抽象基底クラス
30
- class AbstractServiceTest < RUNIT::TestCase
31
- def setup
32
- end
33
- def teardown
34
- end
35
- end
36
-
37
- end