rirera 0.2.0 → 0.2.1
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 +4 -4
- data/CHANGELOG +1 -0
- data/bin/rirera +23 -11
- data/lib/rirera.rb +3 -3
- data/rirera.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9766f03ed311c395d25084b745f0c13dae4efec
|
4
|
+
data.tar.gz: 0844d6627a654d32c946b58e4176fe38b3ef4cf8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcaa5076d33a8c3bf50bd2531d119bc240b7f4199d5fde17d80aad268dcbef87c7df20388ed1819218570a705e30e15db2312b51bbe963f618f1d351bca1d822
|
7
|
+
data.tar.gz: eaa4489a44a6025ef798deb3b9176f3c1eae0a10830ccfc2ed77be4d17e53bcb39d84ccc858c91de5a3ae9a0beb06f85e6b26e1ca69e2aa218e722985c04a6f3
|
data/CHANGELOG
CHANGED
data/bin/rirera
CHANGED
@@ -3,25 +3,35 @@
|
|
3
3
|
require 'rirera'
|
4
4
|
require 'trollop'
|
5
5
|
|
6
|
+
def input_single(msg)
|
7
|
+
begin
|
8
|
+
print "#{msg}: "
|
9
|
+
val = Rirera.sanity_check($stdin.gets)
|
10
|
+
if val.nil?
|
11
|
+
puts "wrong value"
|
12
|
+
raise ArgumentException
|
13
|
+
end
|
14
|
+
rescue
|
15
|
+
retry
|
16
|
+
end
|
17
|
+
val
|
18
|
+
end
|
19
|
+
|
6
20
|
def input
|
7
21
|
begin
|
8
22
|
while true do
|
9
23
|
system "clear"
|
10
24
|
broker = Rirera.get_broker(@opts[:broker])
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
target = Rirera.sanity_check($stdin.gets)
|
15
|
-
print "actual price: "
|
16
|
-
actual = Rirera.sanity_check($stdin.gets)
|
25
|
+
volume = input_single("volume")
|
26
|
+
target = input_single("target price")
|
27
|
+
actual = input_single("actual price")
|
17
28
|
stop = nil
|
18
29
|
loop do
|
19
|
-
|
20
|
-
stop = Rirera.stop_loss(actual, Rirera.sanity_check($stdin.gets))
|
30
|
+
stop = Rirera.stop_loss(actual, input_single("stop loss"))
|
21
31
|
puts "stop loss has to be lower than actual price" if stop.nil?
|
22
32
|
break unless stop.nil?
|
23
33
|
end
|
24
|
-
rrr = Rirera::
|
34
|
+
rrr = Rirera::Order.new(broker, volume, target, actual, stop)
|
25
35
|
rrr.print_result
|
26
36
|
puts ""
|
27
37
|
puts "Again? (y/n)"
|
@@ -44,16 +54,18 @@ def main
|
|
44
54
|
opt :loop, "start rirera in loop input mode (other options will be discarded)", :short => 'l'
|
45
55
|
end
|
46
56
|
|
57
|
+
broker = Rirera.get_broker(@opts[:broker])
|
58
|
+
abort("not a valid broker") if broker.nil?
|
59
|
+
|
47
60
|
if @opts[:loop_given]
|
48
61
|
input
|
49
62
|
else
|
50
|
-
broker = Rirera.get_broker(@opts[:broker])
|
51
63
|
volume = @opts[:volume_given] ? @opts[:volume] : abort("missing volume")
|
52
64
|
target = @opts[:target_given] ? @opts[:target] : abort("missing target")
|
53
65
|
actual = @opts[:actual_given] ? @opts[:actual] : abort("missing actual")
|
54
66
|
stop = @opts[:stop_given] ? Rirera.stop_loss(actual,@opts[:stop]) : abort("missing stop")
|
55
67
|
abort("stop loss has to be lower than actual price") if stop.nil?
|
56
|
-
rrr = Rirera::
|
68
|
+
rrr = Rirera::Order.new(broker, volume, target, actual, stop)
|
57
69
|
rrr.print_result
|
58
70
|
end
|
59
71
|
end
|
data/lib/rirera.rb
CHANGED
@@ -4,7 +4,7 @@ require 'yaml'
|
|
4
4
|
module Rirera
|
5
5
|
CONFIG = YAML.load_file(File.join(File.expand_path("..", File.dirname(__FILE__)),"conf/rirera.yml"))
|
6
6
|
|
7
|
-
class
|
7
|
+
class Order
|
8
8
|
attr_accessor :broker, :volume, :target, :actual, :stop
|
9
9
|
|
10
10
|
def initialize(broker, volume, target, actual, stop)
|
@@ -79,7 +79,7 @@ module Rirera
|
|
79
79
|
unless Rirera::CONFIG['broker'][broker].nil?
|
80
80
|
broker
|
81
81
|
else
|
82
|
-
|
82
|
+
nil
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
@@ -96,7 +96,7 @@ module Rirera
|
|
96
96
|
num.chomp!.gsub!(",",".")
|
97
97
|
# only allow int and float
|
98
98
|
unless Rirera.is_numeric?(num)
|
99
|
-
|
99
|
+
nil
|
100
100
|
else
|
101
101
|
num.to_f
|
102
102
|
end
|
data/rirera.gemspec
CHANGED