cryptum 0.0.382 → 0.0.384
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +5 -8
- data/lib/cryptum/api/exchange_rates.rb +0 -2
- data/lib/cryptum/api/orders.rb +2 -8
- data/lib/cryptum/api/portfolio.rb +0 -2
- data/lib/cryptum/api/rest.rb +3 -4
- data/lib/cryptum/api/signature.rb +0 -4
- data/lib/cryptum/api.rb +0 -6
- data/lib/cryptum/bot_conf.rb +0 -3
- data/lib/cryptum/event/buy.rb +11 -115
- data/lib/cryptum/event/exit.rb +1 -1
- data/lib/cryptum/event/order_book.rb +1 -1
- data/lib/cryptum/event/parse.rb +6 -6
- data/lib/cryptum/event/sell.rb +15 -96
- data/lib/cryptum/event.rb +0 -2
- data/lib/cryptum/log.rb +18 -4
- data/lib/cryptum/open_ai.rb +129 -32
- data/lib/cryptum/option/environment.rb +0 -2
- data/lib/cryptum/option/parser.rb +0 -2
- data/lib/cryptum/order_book/generate.rb +0 -4
- data/lib/cryptum/order_book.rb +0 -3
- data/lib/cryptum/portfolio.rb +0 -2
- data/lib/cryptum/ui/command.rb +0 -2
- data/lib/cryptum/ui/market_trend.rb +0 -2
- data/lib/cryptum/ui/matrix.rb +0 -2
- data/lib/cryptum/ui/order/execute.rb +627 -0
- data/lib/cryptum/ui/order/execute_details.rb +300 -0
- data/lib/cryptum/ui/order/plan.rb +518 -0
- data/lib/cryptum/ui/order/plan_details.rb +243 -0
- data/lib/cryptum/ui/order/timer.rb +140 -0
- data/lib/cryptum/ui/order.rb +21 -0
- data/lib/cryptum/ui/portfolio.rb +0 -2
- data/lib/cryptum/ui/signal_engine.rb +0 -2
- data/lib/cryptum/ui/terminal_window.rb +0 -2
- data/lib/cryptum/ui/ticker.rb +0 -2
- data/lib/cryptum/ui.rb +1 -8
- data/lib/cryptum/version.rb +1 -1
- data/lib/cryptum/web_sock/coinbase.rb +0 -5
- data/lib/cryptum/web_sock/event_machine.rb +2 -6
- data/lib/cryptum.rb +16 -2
- data/spec/lib/cryptum/ui/{order_execute_details_spec.rb → order/execute_details_spec.rb} +2 -2
- data/spec/lib/cryptum/ui/{order_execution_spec.rb → order/execute_spec.rb} +2 -2
- data/spec/lib/cryptum/ui/order/plan_details_spec.rb +10 -0
- data/spec/lib/cryptum/ui/{order_timer_spec.rb → order/plan_spec.rb} +2 -2
- data/spec/lib/cryptum/ui/{order_plan_details_spec.rb → order/timer_spec.rb} +2 -2
- data/spec/lib/cryptum/ui/{order_plan_spec.rb → order_spec.rb} +2 -2
- metadata +13 -11
- data/lib/cryptum/ui/order_execute_details.rb +0 -300
- data/lib/cryptum/ui/order_execution.rb +0 -629
- data/lib/cryptum/ui/order_plan.rb +0 -518
- data/lib/cryptum/ui/order_plan_details.rb +0 -243
- data/lib/cryptum/ui/order_timer.rb +0 -140
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d8298d19d8db14b27d22dc465df09455fb209218ebbeeddf1987e66042af09d
|
4
|
+
data.tar.gz: 4e19eb6374a6161b0a72c8d42da7897868252efffb886a414d22a173368a6238
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fdf711cf9326842f480b14b37f4b9c826d164b8f64965cfdc25269165c97e7e2b1de2f48b0238b239da45903232117dba59cb65b59028e7057410fdb3ee3be5
|
7
|
+
data.tar.gz: fb896a3349b440c7ab8010fb6d2a95d30bfa13683000250f4ca7deb7ab538ce42a89164ff41941805e54f8d2331d717833ec00ca093965e466d55dc6b9304610
|
data/.rubocop_todo.yml
CHANGED
@@ -1,26 +1,23 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2023-03-31
|
3
|
+
# on 2023-03-31 21:49:04 UTC using RuboCop version 1.48.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
# Configuration parameters: CountComments, CountAsOne.
|
11
|
-
Metrics/ClassLength:
|
12
|
-
Max: 131
|
13
|
-
|
14
|
-
# Offense count: 4
|
9
|
+
# Offense count: 7
|
15
10
|
# This cop supports safe autocorrection (--autocorrect).
|
16
11
|
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
|
17
12
|
# SupportedStyles: assign_to_condition, assign_inside_condition
|
18
13
|
Style/ConditionalAssignment:
|
19
14
|
Exclude:
|
20
15
|
- 'lib/cryptum/event/pane.rb'
|
16
|
+
- 'lib/cryptum/log.rb'
|
17
|
+
- 'lib/cryptum/ui/order/execute_details.rb'
|
21
18
|
- 'lib/cryptum/ui/order_execute_details.rb'
|
22
19
|
|
23
|
-
# Offense count:
|
20
|
+
# Offense count: 30
|
24
21
|
# Configuration parameters: AllowedConstants.
|
25
22
|
Style/Documentation:
|
26
23
|
Enabled: false
|
data/lib/cryptum/api/orders.rb
CHANGED
@@ -1,16 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'addressable'
|
4
|
-
require 'base64'
|
5
|
-
require 'json'
|
6
|
-
require 'openssl'
|
7
|
-
require 'rest-client'
|
8
|
-
|
9
3
|
module Cryptum
|
10
4
|
# This plugin is used to interact withbtje Coinbase REST API
|
11
5
|
module API
|
12
6
|
module Orders
|
13
|
-
public_class_method def self.
|
7
|
+
public_class_method def self.submit_limit(opts = {})
|
14
8
|
option_choice = opts[:option_choice]
|
15
9
|
env = opts[:env]
|
16
10
|
price = opts[:price]
|
@@ -243,7 +237,7 @@ module Cryptum
|
|
243
237
|
|
244
238
|
public_class_method def self.help
|
245
239
|
puts "USAGE:
|
246
|
-
event_history = #{self}.
|
240
|
+
event_history = #{self}.submit_limit(
|
247
241
|
env: 'required - Coinbase::Option::Environment.get Object'
|
248
242
|
)
|
249
243
|
|
data/lib/cryptum/api/rest.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'rest-client'
|
4
|
-
require 'json'
|
5
|
-
|
6
3
|
module Cryptum
|
7
4
|
# This module is used to Interact with the APIs
|
8
5
|
module API
|
@@ -119,7 +116,9 @@ module Cryptum
|
|
119
116
|
)
|
120
117
|
|
121
118
|
else
|
122
|
-
|
119
|
+
File.open('/tmp/cryptum-errors.txt', 'a') do |f|
|
120
|
+
f.puts "Unsupported HTTP Method #{http_method} for #{self} Plugin"
|
121
|
+
end
|
123
122
|
end
|
124
123
|
|
125
124
|
resp = JSON.parse(response, symbolize_names: true)
|
data/lib/cryptum/api.rb
CHANGED
data/lib/cryptum/bot_conf.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'logger'
|
4
|
-
|
5
3
|
module Cryptum
|
6
4
|
# This plugin is used to read and update bot conf files.
|
7
5
|
module BotConf
|
@@ -200,7 +198,6 @@ module Cryptum
|
|
200
198
|
|
201
199
|
public_class_method def self.help
|
202
200
|
puts "USAGE:
|
203
|
-
logger = #{self}.create()
|
204
201
|
"
|
205
202
|
end
|
206
203
|
end
|
data/lib/cryptum/event/buy.rb
CHANGED
@@ -12,124 +12,20 @@ module Cryptum
|
|
12
12
|
public_class_method def self.crypto(opts = {})
|
13
13
|
option_choice = opts[:option_choice]
|
14
14
|
env = opts[:env]
|
15
|
-
|
15
|
+
price = opts[:price]
|
16
|
+
size = opts[:size]
|
16
17
|
event_history = opts[:event_history]
|
17
|
-
|
18
|
-
fiat_smallest_decimal = opts[:fiat_smallest_decimal]
|
19
|
-
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
20
|
-
order_history = opts[:order_history]
|
21
|
-
crypto_smallest_decimal = opts[:crypto_smallest_decimal]
|
22
|
-
# base_min_size = opts[:base_min_size]
|
23
|
-
min_market_funds = this_product[:min_market_funds]
|
24
|
-
indicator_status = opts[:indicator_status]
|
25
|
-
|
26
|
-
# Initialize some bot_conf variables
|
27
|
-
pie_in_sky_buy_percent = bot_conf[:pie_in_sky_buy_percent].to_f
|
28
|
-
autotrade_portfolio_percent = bot_conf[:autotrade_portfolio_percent].to_f
|
29
|
-
# target_profit_margin_percent = bot_conf[:target_profit_margin_percent].to_f
|
30
|
-
|
31
|
-
crypto_currency = option_choice.symbol.to_s.upcase.split('_').first
|
32
|
-
portfolio = event_history.order_book[:portfolio]
|
33
|
-
symbol_portfolio = portfolio.select do |this_portfolio|
|
34
|
-
this_portfolio if this_portfolio[:currency] == crypto_currency
|
35
|
-
end
|
36
|
-
|
37
|
-
symbol_balance = format(
|
38
|
-
'%0.8f',
|
39
|
-
symbol_portfolio.first[:balance].to_f
|
40
|
-
).to_f
|
41
|
-
|
42
|
-
# 2. Calculate Price, Size, Fees
|
43
|
-
# Get the middle of last 3 ticker prices
|
44
|
-
# to avoid over purcase blips.
|
45
|
-
last_three_prices_arr = []
|
46
|
-
last_ticker_price = event_history.order_book[:ticker_price].to_f
|
47
|
-
second_to_last_ticker_price = event_history.order_book[:ticker_price_second_to_last].to_f
|
48
|
-
third_to_last_ticker_price = event_history.order_book[:ticker_price_third_to_last].to_f
|
49
|
-
last_three_prices_arr.push(last_ticker_price)
|
50
|
-
last_three_prices_arr.push(second_to_last_ticker_price)
|
51
|
-
last_three_prices_arr.push(third_to_last_ticker_price)
|
52
|
-
|
53
|
-
case order_type
|
54
|
-
when :pie
|
55
|
-
limit_price = last_three_prices_arr.sort[1]
|
56
|
-
pie_in_sky_buy_percent_cast_as_decimal = format(
|
57
|
-
'%0.2f',
|
58
|
-
pie_in_sky_buy_percent * 0.01
|
59
|
-
).to_f
|
60
|
-
|
61
|
-
limit_price -= (limit_price * pie_in_sky_buy_percent_cast_as_decimal)
|
62
|
-
when :tpm
|
63
|
-
limit_price = last_three_prices_arr.sort[1]
|
64
|
-
when :gtfo
|
65
|
-
# price = format("%0.#{fiat_smallest_decimal}f", limit_price)
|
66
|
-
raise "ERROR: Why is a Buy Submitted for #{order_type}?"
|
67
|
-
else
|
68
|
-
raise "ERROR: Unknown order_type: #{order_type}"
|
69
|
-
end
|
70
|
-
|
71
|
-
price = format("%0.#{fiat_smallest_decimal}f", limit_price)
|
72
|
-
|
73
|
-
# TODO: Determine if our N% Autotrade
|
74
|
-
# Threshold has already been met
|
75
|
-
# Buying Crypto w/ Fiat
|
76
|
-
autotrade_portfolio_percent_cast_as_decimal = format(
|
77
|
-
'%0.7f',
|
78
|
-
autotrade_portfolio_percent * 0.01
|
79
|
-
).to_f
|
80
|
-
|
81
|
-
fiat_portfolio = event_history.order_book[:fiat_portfolio]
|
82
|
-
fiat_balance_available = format(
|
83
|
-
"%0.#{fiat_smallest_decimal}f",
|
84
|
-
fiat_portfolio.first[:available]
|
85
|
-
).to_f
|
86
|
-
|
87
|
-
# Make sure size is within constraints
|
88
|
-
# of autotrade_portfolio_percent
|
89
|
-
total_limit_buy_orders_open = order_history.select do |orders|
|
90
|
-
orders[:type] == 'limit' &&
|
91
|
-
orders[:side] == 'buy' &&
|
92
|
-
orders[:status] == 'open'
|
93
|
-
end
|
94
|
-
|
95
|
-
total_limit_buy_order_open_tot = total_limit_buy_orders_open.length
|
96
|
-
total_limit_buy_orders_open_size = total_limit_buy_orders_open.inject(0) do |sum, hash|
|
97
|
-
sum + hash[:size].to_f
|
98
|
-
end.to_f
|
18
|
+
bot_conf = opts[:bot_conf]
|
99
19
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
20
|
+
Cryptum::API::Orders.submit_limit(
|
21
|
+
option_choice: option_choice,
|
22
|
+
env: env,
|
23
|
+
price: price,
|
24
|
+
size: size,
|
25
|
+
buy_or_sell: :buy,
|
26
|
+
event_history: event_history,
|
27
|
+
bot_conf: bot_conf
|
105
28
|
)
|
106
|
-
|
107
|
-
if min_market_funds.to_i >= 1
|
108
|
-
size = (
|
109
|
-
(calc_fiat_to_buy - total_limit_buy_orders_open_size).to_i - min_market_funds.to_i
|
110
|
-
).to_s
|
111
|
-
end
|
112
|
-
|
113
|
-
if size.to_f >= min_market_funds.to_f &&
|
114
|
-
total_limit_buy_order_open_tot.zero? &&
|
115
|
-
price.to_f.positive?
|
116
|
-
# SUBMIT BUY ORDER
|
117
|
-
event_history.order_submitted = true
|
118
|
-
event_history.event_notes = "{ \"event_type\": \"#{event_history.event_type}\", \"cancel\": \"#{event_history.order_canceled}\", \"submitted\": \"#{event_history.order_submitted}\" }" if option_choice.proxy
|
119
|
-
|
120
|
-
event_history = Cryptum::API::Orders.submit_limit_order(
|
121
|
-
option_choice: option_choice,
|
122
|
-
env: env,
|
123
|
-
price: price,
|
124
|
-
size: size,
|
125
|
-
buy_or_sell: :buy,
|
126
|
-
order_type: order_type,
|
127
|
-
event_history: event_history,
|
128
|
-
indicator_status: indicator_status
|
129
|
-
)
|
130
|
-
end
|
131
|
-
|
132
|
-
event_history
|
133
29
|
rescue StandardError => e
|
134
30
|
raise e
|
135
31
|
end
|
data/lib/cryptum/event/exit.rb
CHANGED
data/lib/cryptum/event/parse.rb
CHANGED
@@ -5,7 +5,7 @@ module Cryptum
|
|
5
5
|
module Event
|
6
6
|
module Parse
|
7
7
|
# Supported Method Parameters::
|
8
|
-
# Cryptum::Event::
|
8
|
+
# Cryptum::Event::Parse.websocket_msg(
|
9
9
|
# )
|
10
10
|
public_class_method def self.websocket_msg(opts = {})
|
11
11
|
env = opts[:env]
|
@@ -60,7 +60,7 @@ module Cryptum
|
|
60
60
|
)
|
61
61
|
end
|
62
62
|
|
63
|
-
Cryptum::UI::
|
63
|
+
Cryptum::UI::Order::Timer.refresh(
|
64
64
|
option_choice: option_choice,
|
65
65
|
event_history: event_history,
|
66
66
|
order_timer_win: terminal_win.order_timer_section,
|
@@ -95,7 +95,7 @@ module Cryptum
|
|
95
95
|
)
|
96
96
|
|
97
97
|
unless event_history.order_plan_details_win_active
|
98
|
-
event_history = Cryptum::UI::
|
98
|
+
event_history = Cryptum::UI::Order::Plan.refresh(
|
99
99
|
option_choice: option_choice,
|
100
100
|
order_plan_win: terminal_win.order_plan_section,
|
101
101
|
env: env,
|
@@ -113,7 +113,7 @@ module Cryptum
|
|
113
113
|
end
|
114
114
|
|
115
115
|
if event_history.order_plan_details_win_active
|
116
|
-
event_history = Cryptum::UI::
|
116
|
+
event_history = Cryptum::UI::Order::PlanDetails.refresh(
|
117
117
|
option_choice: option_choice,
|
118
118
|
order_plan_details_win: terminal_win.order_plan_details_section,
|
119
119
|
event_history: event_history,
|
@@ -122,7 +122,7 @@ module Cryptum
|
|
122
122
|
end
|
123
123
|
|
124
124
|
unless event_history.order_execute_details_win_active
|
125
|
-
event_history = Cryptum::UI::
|
125
|
+
event_history = Cryptum::UI::Order::Execute.refresh(
|
126
126
|
option_choice: option_choice,
|
127
127
|
order_execute_win: terminal_win.order_execute_section,
|
128
128
|
env: env,
|
@@ -135,7 +135,7 @@ module Cryptum
|
|
135
135
|
end
|
136
136
|
|
137
137
|
if event_history.order_execute_details_win_active
|
138
|
-
event_history = Cryptum::UI::
|
138
|
+
event_history = Cryptum::UI::Order::ExecuteDetails.refresh(
|
139
139
|
option_choice: option_choice,
|
140
140
|
order_execute_details_win: terminal_win.order_execute_details_section,
|
141
141
|
event_history: event_history,
|
data/lib/cryptum/event/sell.rb
CHANGED
@@ -12,103 +12,22 @@ module Cryptum
|
|
12
12
|
public_class_method def self.crypto(opts = {})
|
13
13
|
option_choice = opts[:option_choice]
|
14
14
|
env = opts[:env]
|
15
|
-
|
16
|
-
|
15
|
+
price = opts[:price]
|
16
|
+
size = opts[:size]
|
17
17
|
event_history = opts[:event_history]
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
portfolio = event_history.order_book[:portfolio]
|
31
|
-
symbol_portfolio = portfolio.select do |this_portfolio|
|
32
|
-
this_portfolio if this_portfolio[:currency] == crypto_currency
|
33
|
-
end
|
34
|
-
|
35
|
-
symbol_balance_available = format(
|
36
|
-
'%0.8f',
|
37
|
-
symbol_portfolio.first[:available].to_f
|
38
|
-
).to_f
|
39
|
-
|
40
|
-
# 2. Calculate Price, Size, Fees
|
41
|
-
# Get the middle of last 3 ticker prices
|
42
|
-
# to avoid over purcase blips.
|
43
|
-
last_three_prices_arr = []
|
44
|
-
last_ticker_price = event_history.order_book[:ticker_price].to_f
|
45
|
-
second_to_last_ticker_price = event_history.order_book[:ticker_price_second_to_last].to_f
|
46
|
-
third_to_last_ticker_price = event_history.order_book[:ticker_price_third_to_last].to_f
|
47
|
-
last_three_prices_arr.push(last_ticker_price)
|
48
|
-
last_three_prices_arr.push(second_to_last_ticker_price)
|
49
|
-
last_three_prices_arr.push(third_to_last_ticker_price)
|
50
|
-
# limit_price = last_three_prices_arr.min
|
51
|
-
# limit_price = last_three_prices_arr.max
|
52
|
-
|
53
|
-
# Obtain our Target Price based on TPM configurations
|
54
|
-
target_symbol_price = stuck_in_pos_status[:target_symbol_price].to_f
|
55
|
-
|
56
|
-
case order_type
|
57
|
-
when :pie
|
58
|
-
pie_in_sky_sell_percent_cast_as_decimal = format(
|
59
|
-
'%0.2f',
|
60
|
-
pie_in_sky_sell_percent * 0.01
|
61
|
-
).to_f
|
62
|
-
|
63
|
-
target_profit = target_symbol_price * pie_in_sky_sell_percent_cast_as_decimal
|
64
|
-
limit_price = target_symbol_price + target_profit
|
65
|
-
|
66
|
-
when :tpm
|
67
|
-
limit_price = target_symbol_price
|
68
|
-
# TODO: Ensure previous order price
|
69
|
-
# on last _open order_ if applicable
|
70
|
-
# is greater than this one.
|
71
|
-
order_type = :tpm
|
72
|
-
when :gtfo
|
73
|
-
# Attempt to get in front of falling price.
|
74
|
-
limit_price = last_three_prices_arr.sort[1]
|
75
|
-
gtfo_price = limit_price -= quote_increment.to_f
|
76
|
-
limit_price = gtfo_price if gtfo_price.positive?
|
77
|
-
else
|
78
|
-
raise "ERROR: Unknown order_type: #{order_type}"
|
79
|
-
end
|
80
|
-
|
81
|
-
price = format("%0.#{fiat_smallest_decimal}f", limit_price)
|
82
|
-
|
83
|
-
# Selling Available Crytpo Balance in its Entirety
|
84
|
-
# We Will Likely Want to Change this in the Future.
|
85
|
-
size = format(
|
86
|
-
"%0.#{crypto_smallest_decimal}f",
|
87
|
-
symbol_balance_available.floor(crypto_smallest_decimal)
|
18
|
+
bot_conf = opts[:bot_conf]
|
19
|
+
buy_order_id = opts[:buy_order_id]
|
20
|
+
|
21
|
+
Cryptum::API::Orders.submit_limit(
|
22
|
+
option_choice: option_choice,
|
23
|
+
env: env,
|
24
|
+
price: price,
|
25
|
+
size: size,
|
26
|
+
buy_or_sell: :sell,
|
27
|
+
event_history: event_history,
|
28
|
+
bot_conf: bot_conf,
|
29
|
+
buy_order_id: buy_order_id
|
88
30
|
)
|
89
|
-
|
90
|
-
size = symbol_balance_available if min_market_funds.to_i == 1
|
91
|
-
|
92
|
-
if size.to_f >= min_market_funds.to_f &&
|
93
|
-
price.to_f.positive?
|
94
|
-
|
95
|
-
# SUBMIT SELL ORDER
|
96
|
-
event_history.order_submitted = true
|
97
|
-
event_history.event_notes = "{ \"event_type\": \"#{event_history.event_type}\", \"cancel\": \"#{event_history.order_canceled}\", \"submitted\": \"#{event_history.order_submitted}\" }" if option_choice.proxy
|
98
|
-
|
99
|
-
event_history = Cryptum::API::Orders.submit_limit_order(
|
100
|
-
option_choice: option_choice,
|
101
|
-
env: env,
|
102
|
-
price: price,
|
103
|
-
size: size,
|
104
|
-
buy_or_sell: :sell,
|
105
|
-
order_type: order_type,
|
106
|
-
event_history: event_history,
|
107
|
-
indicator_status: indicator_status
|
108
|
-
)
|
109
|
-
end
|
110
|
-
|
111
|
-
event_history
|
112
31
|
rescue StandardError => e
|
113
32
|
raise e
|
114
33
|
end
|
@@ -116,7 +35,7 @@ module Cryptum
|
|
116
35
|
# Display Usage for this Module
|
117
36
|
public_class_method def self.help
|
118
37
|
puts "USAGE:
|
119
|
-
|
38
|
+
event_history = #{self}.crypto()
|
120
39
|
"
|
121
40
|
end
|
122
41
|
end
|
data/lib/cryptum/event.rb
CHANGED
data/lib/cryptum/log.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'logger'
|
4
|
-
|
5
3
|
module Cryptum
|
6
4
|
# This plugin is used to instantiate a Cryptum logger with a custom message format
|
7
5
|
module Log
|
@@ -10,8 +8,24 @@ module Cryptum
|
|
10
8
|
# )
|
11
9
|
public_class_method def self.create
|
12
10
|
logger = Logger.new($stdout)
|
13
|
-
|
14
|
-
|
11
|
+
level = opts[:level]
|
12
|
+
|
13
|
+
case level.to_s.downcase.to_sym
|
14
|
+
when :debug
|
15
|
+
logger.level = Logger::DEBUG
|
16
|
+
when :error
|
17
|
+
logger.level = Logger::ERROR
|
18
|
+
when :fatal
|
19
|
+
logger.level = Logger::FATAL
|
20
|
+
when :unknown
|
21
|
+
logger.level = Logger::UNKNOWN
|
22
|
+
when :warn
|
23
|
+
logger.level = Logger::WARN
|
24
|
+
else
|
25
|
+
logger.level = Logger::INFO
|
26
|
+
end
|
27
|
+
|
28
|
+
logger.datetime_format = '%Y-%m-%d %H:%M:%S.%N'
|
15
29
|
|
16
30
|
logger.formatter = proc do |severity, _datetime, _progname, msg|
|
17
31
|
# TODO: Include datetime & progname vars
|