bitflyer-cli 0.4.4 → 1.0.0
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/.github/dependabot.yml +14 -0
- data/.github/workflows/release.yaml +41 -0
- data/.github/workflows/test.yml +27 -0
- data/.gitignore +57 -0
- data/.ruby-version +1 -0
- data/Gemfile.lock +49 -31
- data/README.md +4 -3
- data/bitflyer-cli.gemspec +19 -17
- data/exe/bitflyer +1 -1
- data/lib/bitflyer/cli/command/ifdoco_by_range_command.rb +78 -0
- data/lib/bitflyer/cli/command/order_by_best_command.rb +1 -1
- data/lib/bitflyer/cli/version.rb +7 -0
- data/lib/bitflyer/cli.rb +44 -31
- metadata +52 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0bc41cd1651df77286923e598cb0af3bea5b90f19168c6af1b2aa8b9ce2b056
|
4
|
+
data.tar.gz: dcdced9d98ae4a05492cd452f97bd2ec096f8e809116d51cc419e6320f8ed832
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2f5ca212d01caf38fd10395370083da64b7c14f7a6cc9e098ffdeb285f53b5bce8bf995e25d79647c323df352f71e1997d2eda42066f76d148211e275473ce9
|
7
|
+
data.tar.gz: 7d7b5c860605a9551493063353700a8dbf50c8dda913a9270a10d98163bd01090c0b10badc0c0c4492c51b4b442d42049a7678ff59aef8c8c2e306fc9da95c97
|
@@ -0,0 +1,14 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
- package-ecosystem: bundler
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: daily
|
7
|
+
time: "12:00"
|
8
|
+
timezone: Asia/Tokyo
|
9
|
+
open-pull-requests-limit: 20
|
10
|
+
reviewers:
|
11
|
+
- unhappychoice
|
12
|
+
allow:
|
13
|
+
- dependency-type: direct
|
14
|
+
- dependency-type: indirect
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
inputs:
|
6
|
+
version:
|
7
|
+
description: Release version
|
8
|
+
required: true
|
9
|
+
type: choice
|
10
|
+
options:
|
11
|
+
- major
|
12
|
+
- minor
|
13
|
+
- patch
|
14
|
+
jobs:
|
15
|
+
push:
|
16
|
+
name: Push gem to RubyGems.org
|
17
|
+
runs-on: ubuntu-latest
|
18
|
+
environment:
|
19
|
+
name: release
|
20
|
+
permissions:
|
21
|
+
id-token: write
|
22
|
+
contents: write
|
23
|
+
steps:
|
24
|
+
- uses: actions/checkout@v4
|
25
|
+
- name: Set up Ruby
|
26
|
+
uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
bundler-cache: true
|
29
|
+
ruby-version: .ruby-version
|
30
|
+
- name: Setup Git
|
31
|
+
run: |
|
32
|
+
git config --global user.email "unhappychoice@gmail.com"
|
33
|
+
git config --global user.name "unhappychoice"
|
34
|
+
- name: Install gem-release
|
35
|
+
run: gem install gem-release
|
36
|
+
- name: Bump version
|
37
|
+
run: |
|
38
|
+
gem bump --version ${{inputs.version}} --message ':tada: Bump %{name} to %{version}'
|
39
|
+
bundle config set frozen false && bundle install
|
40
|
+
git add . && git commit --amend --no-edit
|
41
|
+
- uses: rubygems/release-gem@v1
|
@@ -0,0 +1,27 @@
|
|
1
|
+
name: test
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
ruby: ['3.4.4', '3.3.8', '3.2.8', '3.1.7']
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@master
|
13
|
+
- name: Set up Ruby
|
14
|
+
uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: ${{ matrix.ruby }}
|
17
|
+
rubygems: latest
|
18
|
+
- name: Install bundler
|
19
|
+
run: gem install bundler
|
20
|
+
- name: Install dependencies
|
21
|
+
run: bundle install --jobs 4
|
22
|
+
- name: Run test
|
23
|
+
env:
|
24
|
+
RAILS_ENV: test
|
25
|
+
COVERAGE: true
|
26
|
+
CODECOV_TOKEN: d9091f65-2e14-4029-86e6-f6ec9c59ecec
|
27
|
+
run: bundle exec rspec
|
data/.gitignore
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Created by https://www.gitignore.io/api/ruby
|
2
|
+
# Edit at https://www.gitignore.io/?templates=ruby
|
3
|
+
|
4
|
+
### Ruby ###
|
5
|
+
*.gem
|
6
|
+
*.rbc
|
7
|
+
/.config
|
8
|
+
/coverage/
|
9
|
+
/InstalledFiles
|
10
|
+
/pkg/
|
11
|
+
/spec/reports/
|
12
|
+
/spec/examples.txt
|
13
|
+
/test/tmp/
|
14
|
+
/test/version_tmp/
|
15
|
+
/tmp/
|
16
|
+
|
17
|
+
# Used by dotenv library to load environment variables.
|
18
|
+
# .env
|
19
|
+
|
20
|
+
## Specific to RubyMotion:
|
21
|
+
.dat*
|
22
|
+
.repl_history
|
23
|
+
build/
|
24
|
+
*.bridgesupport
|
25
|
+
build-iPhoneOS/
|
26
|
+
build-iPhoneSimulator/
|
27
|
+
|
28
|
+
## Specific to RubyMotion (use of CocoaPods):
|
29
|
+
#
|
30
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
31
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
32
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
33
|
+
#
|
34
|
+
# vendor/Pods/
|
35
|
+
|
36
|
+
## Documentation cache and generated files:
|
37
|
+
/.yardoc/
|
38
|
+
/_yardoc/
|
39
|
+
/doc/
|
40
|
+
/rdoc/
|
41
|
+
|
42
|
+
## Environment normalization:
|
43
|
+
/.bundle/
|
44
|
+
/vendor/bundle
|
45
|
+
/lib/bundler/man/
|
46
|
+
vendor/bundle
|
47
|
+
|
48
|
+
# for a library or gem, you might want to ignore these files since the code is
|
49
|
+
# intended to run in multiple environments; otherwise, check them in:
|
50
|
+
# Gemfile.lock
|
51
|
+
# .ruby-version
|
52
|
+
# .ruby-gemset
|
53
|
+
|
54
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
55
|
+
.rvmrc
|
56
|
+
|
57
|
+
# End of https://www.gitignore.io/api/ruby
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.4.4
|
data/Gemfile.lock
CHANGED
@@ -1,44 +1,62 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bitflyer-cli (0.
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
bitflyer-cli (1.0.0)
|
5
|
+
bigdecimal
|
6
|
+
bitflyer (>= 2.0)
|
7
|
+
colorize (>= 0.8.1, < 1.2.0)
|
8
|
+
thor (>= 0.20, < 1.4)
|
8
9
|
|
9
10
|
GEM
|
10
11
|
remote: https://rubygems.org/
|
11
12
|
specs:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
base64 (0.3.0)
|
14
|
+
bigdecimal (3.2.2)
|
15
|
+
bitflyer (2.0.1)
|
16
|
+
faraday (>= 1.0)
|
17
|
+
faraday_middleware (>= 1.2)
|
18
|
+
websocket-client-simple (>= 0.9)
|
19
|
+
colorize (1.1.0)
|
20
|
+
diff-lcs (1.5.1)
|
18
21
|
event_emitter (0.2.6)
|
19
|
-
faraday (
|
22
|
+
faraday (1.4.3)
|
23
|
+
faraday-em_http (~> 1.0)
|
24
|
+
faraday-em_synchrony (~> 1.0)
|
25
|
+
faraday-excon (~> 1.1)
|
26
|
+
faraday-net_http (~> 1.0)
|
27
|
+
faraday-net_http_persistent (~> 1.1)
|
20
28
|
multipart-post (>= 1.2, < 3)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
ruby2_keywords (>= 0.0.4)
|
30
|
+
faraday-em_http (1.0.0)
|
31
|
+
faraday-em_synchrony (1.0.0)
|
32
|
+
faraday-excon (1.1.0)
|
33
|
+
faraday-net_http (1.0.2)
|
34
|
+
faraday-net_http_persistent (1.2.0)
|
35
|
+
faraday_middleware (1.2.1)
|
36
|
+
faraday (~> 1.0)
|
37
|
+
multipart-post (2.4.1)
|
38
|
+
mutex_m (0.3.0)
|
39
|
+
rake (13.2.1)
|
40
|
+
rspec (3.13.0)
|
41
|
+
rspec-core (~> 3.13.0)
|
42
|
+
rspec-expectations (~> 3.13.0)
|
43
|
+
rspec-mocks (~> 3.13.0)
|
44
|
+
rspec-core (3.13.0)
|
45
|
+
rspec-support (~> 3.13.0)
|
46
|
+
rspec-expectations (3.13.1)
|
32
47
|
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.
|
34
|
-
rspec-mocks (3.
|
48
|
+
rspec-support (~> 3.13.0)
|
49
|
+
rspec-mocks (3.13.1)
|
35
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
-
rspec-support (~> 3.
|
37
|
-
rspec-support (3.
|
38
|
-
|
39
|
-
|
40
|
-
websocket
|
51
|
+
rspec-support (~> 3.13.0)
|
52
|
+
rspec-support (3.13.1)
|
53
|
+
ruby2_keywords (0.0.5)
|
54
|
+
thor (1.3.1)
|
55
|
+
websocket (1.2.11)
|
56
|
+
websocket-client-simple (0.9.0)
|
57
|
+
base64
|
41
58
|
event_emitter
|
59
|
+
mutex_m
|
42
60
|
websocket
|
43
61
|
|
44
62
|
PLATFORMS
|
@@ -46,9 +64,9 @@ PLATFORMS
|
|
46
64
|
|
47
65
|
DEPENDENCIES
|
48
66
|
bitflyer-cli!
|
49
|
-
bundler (~>
|
67
|
+
bundler (~> 2.0)
|
50
68
|
rake
|
51
69
|
rspec
|
52
70
|
|
53
71
|
BUNDLED WITH
|
54
|
-
|
72
|
+
2.6.9
|
data/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# bitflyer-cli
|
2
2
|
[](https://badge.fury.io/rb/bitflyer-cli)
|
3
|
-
[](https://circleci.com/gh/bitflyer-tools/bitflyer-cli)
|
4
|
+
[](https://codeclimate.com/github/bitflyer-tools/bitflyer-cli)
|
5
|
+

|
6
6
|

|
7
|
+

|
7
8
|
|
8
9
|
bitflyer-cli is a CLI tool for [Bitflyer](https://bitflyer.jp/) FXBTC.
|
9
10
|
|
data/bitflyer-cli.gemspec
CHANGED
@@ -1,28 +1,30 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'bitflyer/cli/version'
|
4
5
|
|
5
6
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name
|
7
|
-
spec.version
|
8
|
-
spec.
|
9
|
-
spec.
|
7
|
+
spec.name = 'bitflyer-cli'
|
8
|
+
spec.version = Bitflyer::Cli::VERSION
|
9
|
+
spec.required_ruby_version = '>= 3.1'
|
10
|
+
spec.authors = ['Yuji Ueki']
|
11
|
+
spec.email = ['unhappychoice@gmail.com']
|
12
|
+
spec.summary = 'CLI tool for Bitflyer'
|
13
|
+
spec.description = 'CLI tool for Bitflyer'
|
14
|
+
spec.homepage = 'https://github.com/bitflyer-tools/bitflyer-cli'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.bindir = 'exe'
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ['lib']
|
10
20
|
|
11
|
-
spec.summary = 'CLI tool for Bitflyer'
|
12
|
-
spec.description = 'CLI tool for Bitflyer'
|
13
|
-
spec.homepage = 'https://github.com/unhappychoice/bitflyer-cli'
|
14
|
-
spec.license = 'MIT'
|
15
21
|
|
16
|
-
spec.
|
17
|
-
spec.
|
18
|
-
spec.
|
19
|
-
spec.
|
22
|
+
spec.add_dependency 'bitflyer', '>= 2.0'
|
23
|
+
spec.add_dependency 'bigdecimal'
|
24
|
+
spec.add_dependency 'colorize', '>= 0.8.1', '< 1.2.0'
|
25
|
+
spec.add_dependency 'thor', '>= 0.20', '< 1.4'
|
20
26
|
|
21
|
-
spec.
|
22
|
-
spec.add_dependency 'bitflyer', '~> 0.2.2'
|
23
|
-
spec.add_dependency 'colorize', '~> 0.8.1'
|
24
|
-
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1.12'
|
27
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
26
28
|
spec.add_development_dependency 'rake'
|
27
29
|
spec.add_development_dependency 'rspec'
|
28
30
|
end
|
data/exe/bitflyer
CHANGED
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'bitflyer/cli/has_http_client'
|
2
|
+
require 'bitflyer/cli/model/position'
|
3
|
+
|
4
|
+
class IFDOCOByRangeCommand
|
5
|
+
include HasHTTPClient
|
6
|
+
|
7
|
+
def run(options)
|
8
|
+
side = options.type.upcase
|
9
|
+
size = options.amount.abs
|
10
|
+
ratio = options.percentage.to_f
|
11
|
+
range = options.range.to_f
|
12
|
+
|
13
|
+
current_price = http_public_client.ticker(product_code: 'FX_BTC_JPY')['ltp'].to_i
|
14
|
+
profit_price = profit_line(side: side, current_price: current_price, range: range, ratio: ratio).to_i
|
15
|
+
loss_price = loss_line(side: side, current_price: current_price, range: range, ratio: ratio).to_i
|
16
|
+
request = request(side: side, size: size, profit_price: profit_price, loss_price: loss_price)
|
17
|
+
response = http_private_client.send_parent_order(request)
|
18
|
+
|
19
|
+
if response['parent_order_acceptance_id'].nil?
|
20
|
+
puts 'An error has occurred' + response.to_s
|
21
|
+
else
|
22
|
+
puts "Send market order #{side} / #{size.to_f}"
|
23
|
+
puts "Set limit order #{side} / #{profit_price} / #{size.to_f}"
|
24
|
+
puts "Set stop order #{side} / #{loss_price} / #{size.to_f}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def request(side:, size:, profit_price:, loss_price:)
|
31
|
+
{
|
32
|
+
order_method: 'IFDOCO',
|
33
|
+
time_in_force: 'GTC',
|
34
|
+
parameters: [
|
35
|
+
{
|
36
|
+
product_code: 'FX_BTC_JPY',
|
37
|
+
condition_type: 'MARKET',
|
38
|
+
side: side,
|
39
|
+
size: size
|
40
|
+
},
|
41
|
+
{
|
42
|
+
product_code: 'FX_BTC_JPY',
|
43
|
+
condition_type: 'LIMIT',
|
44
|
+
side: side == 'BUY' ? 'SELL' : 'BUY',
|
45
|
+
price: profit_price,
|
46
|
+
size: size
|
47
|
+
},
|
48
|
+
{
|
49
|
+
product_code: 'FX_BTC_JPY',
|
50
|
+
condition_type: 'STOP',
|
51
|
+
side: side == 'BUY' ? 'SELL' : 'BUY',
|
52
|
+
trigger_price: loss_price,
|
53
|
+
size: size
|
54
|
+
}
|
55
|
+
]
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
def profit_line(side:, current_price:, range:, ratio:)
|
60
|
+
if side == 'BUY'
|
61
|
+
current_price + range * ratio / 100.0
|
62
|
+
elsif side == 'SELL'
|
63
|
+
current_price - range * ratio / 100.0
|
64
|
+
else
|
65
|
+
0
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def loss_line(side:, current_price:, range:, ratio:)
|
70
|
+
if side == 'BUY'
|
71
|
+
current_price - range * (100.0 - ratio) / 100.0
|
72
|
+
elsif side == 'SELL'
|
73
|
+
current_price + range * (100.0 - ratio) / 100.0
|
74
|
+
else
|
75
|
+
0
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -7,7 +7,7 @@ class OrderByBestCommand
|
|
7
7
|
amount = options.amount
|
8
8
|
type = options.type
|
9
9
|
|
10
|
-
ticker = http_public_client.ticker('FX_BTC_JPY')
|
10
|
+
ticker = http_public_client.ticker(product_code: 'FX_BTC_JPY')
|
11
11
|
price = type == 'buy' ? ticker['best_bid'] : ticker['best_ask']
|
12
12
|
|
13
13
|
response = http_private_client.send_child_order(
|
data/lib/bitflyer/cli.rb
CHANGED
@@ -1,48 +1,61 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'bitflyer/cli/command/cancel_all_command'
|
3
3
|
require 'bitflyer/cli/command/counter_trade_command'
|
4
|
+
require 'bitflyer/cli/command/ifdoco_by_range_command'
|
4
5
|
require 'bitflyer/cli/command/order_by_best_command'
|
5
6
|
require 'bitflyer/cli/command/order_by_twap_command'
|
6
7
|
require 'bitflyer/cli/command/stop_by_range_command'
|
7
8
|
require 'bitflyer/cli/command/summary_command'
|
9
|
+
require 'bitflyer/cli/version'
|
8
10
|
|
9
11
|
module Bitflyer
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
module Cli
|
13
|
+
class Runner < Thor
|
14
|
+
desc 'cancel_all', 'cancel all of orders'
|
15
|
+
def cancel_all
|
16
|
+
CancelAllCommand.new.run
|
17
|
+
end
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
desc 'counter_trade', 'clear all positions'
|
20
|
+
def counter_trade
|
21
|
+
CounterTradeCommand.new.run
|
22
|
+
end
|
20
23
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
desc 'order_by_best', 'create limit order by best price in the board'
|
25
|
+
method_option :amount, aliases: 'a', type: :numeric, banner: 'amount', required: true
|
26
|
+
method_option :type, aliases: 't', type: :string, banner: 'buy/sell', required: true
|
27
|
+
def order_by_best
|
28
|
+
OrderByBestCommand.new.run(options)
|
29
|
+
end
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
desc 'order_by_twap', 'order by using TWAP algorithm'
|
32
|
+
method_option :amount, aliases: 'a', type: :numeric, banner: 'amount', required: true
|
33
|
+
method_option :type, aliases: 't', type: :string, banner: 'buy/sell', required: true
|
34
|
+
method_option :number_of_times, aliases: 'n', type: :numeric, banner: 'N', required: true
|
35
|
+
method_option :interval, aliases: 'i', type: :numeric, banner: 'second', required: true
|
36
|
+
def order_by_twap
|
37
|
+
OrderByTWAPCommand.new.run(options)
|
38
|
+
end
|
36
39
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
desc 'stop_by_range', 'create stop order by range based on current position'
|
41
|
+
method_option :range, aliases: 'r', type: :numeric, banner: 'price range', required: true
|
42
|
+
def stop_by_range
|
43
|
+
StopByRangeCommand.new.run(options)
|
44
|
+
end
|
45
|
+
|
46
|
+
desc 'ifdoco_by_range', 'create IFDOCO order by range based on current price'
|
47
|
+
method_option :amount, aliases: 'a', type: :numeric, banner: 'amount', required: true
|
48
|
+
method_option :type, aliases: 't', type: :string, banner: 'buy/sell', required: true
|
49
|
+
method_option :range, aliases: 'r', type: :numeric, banner: 'price range', required: true
|
50
|
+
method_option :percentage, aliases: 'p', type: :numeric, banner: 'price ratio percentage', required: true
|
51
|
+
def ifdoco_by_range
|
52
|
+
IFDOCOByRangeCommand.new.run(options)
|
53
|
+
end
|
42
54
|
|
43
|
-
|
44
|
-
|
45
|
-
|
55
|
+
desc 'summary', 'show current balance information'
|
56
|
+
def summary
|
57
|
+
SummaryCommand.new.run
|
58
|
+
end
|
46
59
|
end
|
47
60
|
end
|
48
61
|
end
|
metadata
CHANGED
@@ -1,71 +1,96 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitflyer-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuji Ueki
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
13
|
+
name: bitflyer
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- - "
|
16
|
+
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
18
|
+
version: '2.0'
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
|
-
- - "
|
23
|
+
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
25
|
+
version: '2.0'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
27
|
+
name: bigdecimal
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
|
-
- - "
|
30
|
+
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
32
|
+
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
|
-
- - "
|
37
|
+
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0
|
39
|
+
version: '0'
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: colorize
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
|
-
- - "
|
44
|
+
- - ">="
|
46
45
|
- !ruby/object:Gem::Version
|
47
46
|
version: 0.8.1
|
47
|
+
- - "<"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 1.2.0
|
48
50
|
type: :runtime
|
49
51
|
prerelease: false
|
50
52
|
version_requirements: !ruby/object:Gem::Requirement
|
51
53
|
requirements:
|
52
|
-
- - "
|
54
|
+
- - ">="
|
53
55
|
- !ruby/object:Gem::Version
|
54
56
|
version: 0.8.1
|
57
|
+
- - "<"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.2.0
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: thor
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0.20'
|
67
|
+
- - "<"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.4'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.20'
|
77
|
+
- - "<"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '1.4'
|
55
80
|
- !ruby/object:Gem::Dependency
|
56
81
|
name: bundler
|
57
82
|
requirement: !ruby/object:Gem::Requirement
|
58
83
|
requirements:
|
59
84
|
- - "~>"
|
60
85
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
86
|
+
version: '2.0'
|
62
87
|
type: :development
|
63
88
|
prerelease: false
|
64
89
|
version_requirements: !ruby/object:Gem::Requirement
|
65
90
|
requirements:
|
66
91
|
- - "~>"
|
67
92
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
93
|
+
version: '2.0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rake
|
71
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,6 +127,11 @@ executables:
|
|
102
127
|
extensions: []
|
103
128
|
extra_rdoc_files: []
|
104
129
|
files:
|
130
|
+
- ".github/dependabot.yml"
|
131
|
+
- ".github/workflows/release.yaml"
|
132
|
+
- ".github/workflows/test.yml"
|
133
|
+
- ".gitignore"
|
134
|
+
- ".ruby-version"
|
105
135
|
- CODE_OF_CONDUCT.md
|
106
136
|
- Gemfile
|
107
137
|
- Gemfile.lock
|
@@ -114,6 +144,7 @@ files:
|
|
114
144
|
- lib/bitflyer/cli/authorization.rb
|
115
145
|
- lib/bitflyer/cli/command/cancel_all_command.rb
|
116
146
|
- lib/bitflyer/cli/command/counter_trade_command.rb
|
147
|
+
- lib/bitflyer/cli/command/ifdoco_by_range_command.rb
|
117
148
|
- lib/bitflyer/cli/command/order_by_best_command.rb
|
118
149
|
- lib/bitflyer/cli/command/order_by_twap_command.rb
|
119
150
|
- lib/bitflyer/cli/command/stop_by_range_command.rb
|
@@ -122,11 +153,11 @@ files:
|
|
122
153
|
- lib/bitflyer/cli/has_http_client.rb
|
123
154
|
- lib/bitflyer/cli/has_realtime_client.rb
|
124
155
|
- lib/bitflyer/cli/model/position.rb
|
125
|
-
|
156
|
+
- lib/bitflyer/cli/version.rb
|
157
|
+
homepage: https://github.com/bitflyer-tools/bitflyer-cli
|
126
158
|
licenses:
|
127
159
|
- MIT
|
128
160
|
metadata: {}
|
129
|
-
post_install_message:
|
130
161
|
rdoc_options: []
|
131
162
|
require_paths:
|
132
163
|
- lib
|
@@ -134,16 +165,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
134
165
|
requirements:
|
135
166
|
- - ">="
|
136
167
|
- !ruby/object:Gem::Version
|
137
|
-
version: '
|
168
|
+
version: '3.1'
|
138
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
170
|
requirements:
|
140
171
|
- - ">="
|
141
172
|
- !ruby/object:Gem::Version
|
142
173
|
version: '0'
|
143
174
|
requirements: []
|
144
|
-
|
145
|
-
rubygems_version: 2.7.6
|
146
|
-
signing_key:
|
175
|
+
rubygems_version: 3.6.7
|
147
176
|
specification_version: 4
|
148
177
|
summary: CLI tool for Bitflyer
|
149
178
|
test_files: []
|