cryptum 0.0.382 → 0.0.384
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/.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
|