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.
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