rirera 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +1 -0
  3. data/bin/rirera +23 -11
  4. data/lib/rirera.rb +3 -3
  5. data/rirera.gemspec +1 -1
  6. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d91562e734a4fe07401d9108022647b8d07beca7
4
- data.tar.gz: 1c7e9cbe92fa0a6265159b930e9183dae67b92bb
3
+ metadata.gz: e9766f03ed311c395d25084b745f0c13dae4efec
4
+ data.tar.gz: 0844d6627a654d32c946b58e4176fe38b3ef4cf8
5
5
  SHA512:
6
- metadata.gz: a44403f07e6c0d168e3ac2ffe8529b05c709e5fb56a584316b74a3cff47155acb7a854e1d7e529898d5d17cf49907f18f8b942debb46d798a9e5f01ff49c1818
7
- data.tar.gz: 024ebe3a80b5d0af4dcf181b55ce0e081413ad99b5969a413daf74db93f19147f04f9f386fbb28f8fdc21acf88d6e072be7024de5ee70417a7770f697bf1537a
6
+ metadata.gz: dcaa5076d33a8c3bf50bd2531d119bc240b7f4199d5fde17d80aad268dcbef87c7df20388ed1819218570a705e30e15db2312b51bbe963f618f1d351bca1d822
7
+ data.tar.gz: eaa4489a44a6025ef798deb3b9176f3c1eae0a10830ccfc2ed77be4d17e53bcb39d84ccc858c91de5a3ae9a0beb06f85e6b26e1ca69e2aa218e722985c04a6f3
data/CHANGELOG CHANGED
@@ -5,3 +5,4 @@ Version 0.1.3: class refactoring/encapsulation
5
5
  Version 0.1.4: adding proper cli
6
6
  Version 0.1.5: adding dependencies
7
7
  Version 0.2.0: modularize rirera
8
+ Version 0.2.1: only abort from bin
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
- print "volume: "
12
- volume = Rirera.sanity_check($stdin.gets)
13
- print "target price: "
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
- print "stop loss: "
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::Record.new(broker, volume, target, actual, stop)
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::Record.new(broker, volume, target, actual, stop)
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 Record
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
- abort "Not a valid broker"
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
- abort "Wrong input"
99
+ nil
100
100
  else
101
101
  num.to_f
102
102
  end
data/rirera.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "rirera"
3
- s.version = "0.2.0"
3
+ s.version = "0.2.1"
4
4
  s.date = Time.now.strftime("%Y-%m-%d")
5
5
  s.summary = "Risk Reward Ratio"
6
6
  s.description = "A simple Risk Reward Ratio calculator"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rirera
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maximilian Meister