aro 0.1.6 → 0.1.7
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/.gitignore +5 -5
- data/.ruby-version +1 -1
- data/Gemfile.lock +32 -14
- data/aro.gemspec +16 -7
- data/bin/aro +24 -24
- data/checksums/aro-0.1.6.gem.sha512 +1 -0
- data/listen.rb +10 -0
- data/locale/en.usage.yml +57 -39
- data/locale/en.yml +23 -6
- data/sys/aro/d.rb +25 -0
- data/sys/aro/db.rb +96 -0
- data/sys/aro/mancy.rb +117 -0
- data/sys/aro/p.rb +25 -0
- data/sys/aro/r.rb +20 -0
- data/sys/aro/v.rb +25 -0
- data/sys/aro.rb +15 -0
- data/sys/cli/config.rb +518 -0
- data/sys/cli/constants.rb +53 -0
- data/{bin → sys}/cli/create.rb +6 -4
- data/sys/cli/deck.rb +98 -0
- data/sys/cli/dom.rb +45 -0
- data/sys/cli/nterface.rb +25 -0
- data/{bin → sys}/cli/usage.rb +1 -1
- data/sys/cli.rb +26 -0
- data/sys/dom/d.rb +106 -0
- data/sys/dom/dom.rb +194 -0
- data/sys/dom/p.rb +17 -0
- data/sys/models/deck.rb +212 -0
- data/sys/models/log.rb +10 -0
- data/sys/reiquire.rb +45 -0
- data/{lib/aro → sys/shr}/prompt.rb +11 -3
- data/sys/shr/t.rb +60 -0
- data/sys/shr/version.rb +18 -0
- data/sys/views/base.rb +29 -0
- data/sys/views/dom.rb +27 -0
- data/sys/views/games/deck.rb +97 -0
- data/sys/views/games/menu.rb +27 -0
- data/sys/views/setup/setup.rb +27 -0
- data/tasks/make.rake +2 -2
- metadata +55 -22
- data/.release +0 -20
- data/bin/cli/config.rb +0 -231
- data/bin/cli/constants.rb +0 -39
- data/bin/cli/deck.rb +0 -100
- data/bin/cli.rb +0 -39
- data/lib/aro/c.rb +0 -32
- data/lib/aro/create.rb +0 -29
- data/lib/aro/db.rb +0 -107
- data/lib/aro/environment.rb +0 -3
- data/lib/aro/i18n.rb +0 -12
- data/lib/aro/version.rb +0 -4
- data/lib/aro.rb +0 -45
- data/lib/models/deck.rb +0 -294
- data/lib/models/log.rb +0 -12
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aro
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- i2097i
|
|
@@ -149,6 +149,26 @@ dependencies:
|
|
|
149
149
|
- - ">="
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
151
|
version: 0.23.1
|
|
152
|
+
- !ruby/object:Gem::Dependency
|
|
153
|
+
name: listen
|
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - "~>"
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: '3.9'
|
|
159
|
+
- - ">="
|
|
160
|
+
- !ruby/object:Gem::Version
|
|
161
|
+
version: 3.9.0
|
|
162
|
+
type: :runtime
|
|
163
|
+
prerelease: false
|
|
164
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
165
|
+
requirements:
|
|
166
|
+
- - "~>"
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: '3.9'
|
|
169
|
+
- - ">="
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: 3.9.0
|
|
152
172
|
description: a cli for tarot.
|
|
153
173
|
email:
|
|
154
174
|
- i2097i@hotmail.com
|
|
@@ -158,7 +178,6 @@ extensions: []
|
|
|
158
178
|
extra_rdoc_files: []
|
|
159
179
|
files:
|
|
160
180
|
- ".gitignore"
|
|
161
|
-
- ".release"
|
|
162
181
|
- ".ruby-version"
|
|
163
182
|
- Gemfile
|
|
164
183
|
- Gemfile.lock
|
|
@@ -167,29 +186,44 @@ files:
|
|
|
167
186
|
- Rakefile
|
|
168
187
|
- aro.gemspec
|
|
169
188
|
- bin/aro
|
|
170
|
-
- bin/cli.rb
|
|
171
|
-
- bin/cli/config.rb
|
|
172
|
-
- bin/cli/constants.rb
|
|
173
|
-
- bin/cli/create.rb
|
|
174
|
-
- bin/cli/deck.rb
|
|
175
|
-
- bin/cli/usage.rb
|
|
176
189
|
- checksums/aro-0.1.4.gem.sha512
|
|
177
190
|
- checksums/aro-0.1.5.gem.sha512
|
|
191
|
+
- checksums/aro-0.1.6.gem.sha512
|
|
178
192
|
- db/migrate/1763374647_create_decks.rb
|
|
179
193
|
- db/migrate/1763432541_create_logs.rb
|
|
180
|
-
-
|
|
181
|
-
- lib/aro/c.rb
|
|
182
|
-
- lib/aro/create.rb
|
|
183
|
-
- lib/aro/db.rb
|
|
184
|
-
- lib/aro/environment.rb
|
|
185
|
-
- lib/aro/i18n.rb
|
|
186
|
-
- lib/aro/prompt.rb
|
|
187
|
-
- lib/aro/version.rb
|
|
188
|
-
- lib/models/deck.rb
|
|
189
|
-
- lib/models/log.rb
|
|
194
|
+
- listen.rb
|
|
190
195
|
- locale/en.cards.yml
|
|
191
196
|
- locale/en.usage.yml
|
|
192
197
|
- locale/en.yml
|
|
198
|
+
- sys/aro.rb
|
|
199
|
+
- sys/aro/d.rb
|
|
200
|
+
- sys/aro/db.rb
|
|
201
|
+
- sys/aro/mancy.rb
|
|
202
|
+
- sys/aro/p.rb
|
|
203
|
+
- sys/aro/r.rb
|
|
204
|
+
- sys/aro/v.rb
|
|
205
|
+
- sys/cli.rb
|
|
206
|
+
- sys/cli/config.rb
|
|
207
|
+
- sys/cli/constants.rb
|
|
208
|
+
- sys/cli/create.rb
|
|
209
|
+
- sys/cli/deck.rb
|
|
210
|
+
- sys/cli/dom.rb
|
|
211
|
+
- sys/cli/nterface.rb
|
|
212
|
+
- sys/cli/usage.rb
|
|
213
|
+
- sys/dom/d.rb
|
|
214
|
+
- sys/dom/dom.rb
|
|
215
|
+
- sys/dom/p.rb
|
|
216
|
+
- sys/models/deck.rb
|
|
217
|
+
- sys/models/log.rb
|
|
218
|
+
- sys/reiquire.rb
|
|
219
|
+
- sys/shr/prompt.rb
|
|
220
|
+
- sys/shr/t.rb
|
|
221
|
+
- sys/shr/version.rb
|
|
222
|
+
- sys/views/base.rb
|
|
223
|
+
- sys/views/dom.rb
|
|
224
|
+
- sys/views/games/deck.rb
|
|
225
|
+
- sys/views/games/menu.rb
|
|
226
|
+
- sys/views/setup/setup.rb
|
|
193
227
|
- tasks/console.rake
|
|
194
228
|
- tasks/make.rake
|
|
195
229
|
homepage: https://github.com/i2097i/aro
|
|
@@ -198,13 +232,12 @@ licenses:
|
|
|
198
232
|
metadata: {}
|
|
199
233
|
rdoc_options: []
|
|
200
234
|
require_paths:
|
|
201
|
-
-
|
|
202
|
-
- bin/cli
|
|
235
|
+
- sys
|
|
203
236
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
204
237
|
requirements:
|
|
205
238
|
- - ">="
|
|
206
239
|
- !ruby/object:Gem::Version
|
|
207
|
-
version:
|
|
240
|
+
version: 3.4.7
|
|
208
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
242
|
requirements:
|
|
210
243
|
- - ">="
|
|
@@ -213,5 +246,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
213
246
|
requirements: []
|
|
214
247
|
rubygems_version: 3.6.9
|
|
215
248
|
specification_version: 4
|
|
216
|
-
summary:
|
|
249
|
+
summary: this versionadds views,adds ivars and ovars,adds verbose logging
|
|
217
250
|
test_files: []
|
data/.release
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# helper script for consistency when doing releases
|
|
2
|
-
|
|
3
|
-
# start on latest develop branch
|
|
4
|
-
|
|
5
|
-
# 1) update version and release notes (manually)
|
|
6
|
-
# 2) test and build
|
|
7
|
-
# $ rake make && gem build
|
|
8
|
-
# 3) build checksum
|
|
9
|
-
# $ rake build:checksum
|
|
10
|
-
# 4) create a commit
|
|
11
|
-
# 5) generate tag
|
|
12
|
-
# tag message format:
|
|
13
|
-
# vx.x.x
|
|
14
|
-
# <release_note_text>
|
|
15
|
-
# $ gitaga vx.x.x && gutaga vx.x.x
|
|
16
|
-
# 6) push develop
|
|
17
|
-
# 7) pull request develop -> master & merge
|
|
18
|
-
# 8) checkout and pull master
|
|
19
|
-
# 9) publish to rubygems (warning, must version up after this)
|
|
20
|
-
# $ gem push pkg/aro-x.x.x.gem
|
data/bin/cli/config.rb
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
module CLI
|
|
2
|
-
class Config
|
|
3
|
-
include Singleton
|
|
4
|
-
|
|
5
|
-
VAR_PREFIX = :ARO_CONFIG_
|
|
6
|
-
|
|
7
|
-
CONFIG_FILE = :".config".to_s
|
|
8
|
-
CONFIG_FILE_PATH = "#{Aro::Db.base_aro_dir(Aro::Db.get_name_from_namefile)}/#{CLI::Config::CONFIG_FILE}"
|
|
9
|
-
|
|
10
|
-
INTS = {
|
|
11
|
-
O: 0,
|
|
12
|
-
I: 1,
|
|
13
|
-
VII: 7,
|
|
14
|
-
XXII: 22,
|
|
15
|
-
MMXCVII: Aro::Mancy::I2097I[1..4].to_i,
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
# possible formats
|
|
19
|
-
#
|
|
20
|
-
# example usage:
|
|
21
|
-
# CLI::Config::FORMATS[:TEXT]
|
|
22
|
-
FORMATS = {
|
|
23
|
-
TEXT: :text,
|
|
24
|
-
JSON: :json,
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
# possible dimensions
|
|
28
|
-
#
|
|
29
|
-
# example usage:
|
|
30
|
-
# CLI::Config::DMS[:DEV_TAROT]
|
|
31
|
-
DMS = {
|
|
32
|
-
DEV_TAROT: :dev_tarot,
|
|
33
|
-
RUBY_FACOT: :ruby_facot,
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
# types used in definition
|
|
37
|
-
#
|
|
38
|
-
# example usage:
|
|
39
|
-
# CLI::Config::DEF_TYPES[:INT][:validator].call(unvalid, CLI::Config::DEF[:DIMENSION])
|
|
40
|
-
DEF_TYPES = {
|
|
41
|
-
INT: {
|
|
42
|
-
name: :int,
|
|
43
|
-
description: I18n.t("cli.config.type_int_description"),
|
|
44
|
-
validator: Proc.new{|unvalid, deff, key|
|
|
45
|
-
CLI::Config.def_valid?(deff, key) &&
|
|
46
|
-
CLI::Config.int_valid?(unvalid) &&
|
|
47
|
-
unvalid.to_i <= deff[:min] &&
|
|
48
|
-
unvalid.to_i >= deff[:max]
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
VALUES: {
|
|
52
|
-
name: :values,
|
|
53
|
-
description: I18n.t("cli.config.type_values_description"),
|
|
54
|
-
validator: Proc.new{|unvalid, deff, key|
|
|
55
|
-
CLI::Config.def_valid?(deff, key) &&
|
|
56
|
-
deff[:possible_values].keys.include?(unvalid&.to_sym)
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
# adapts I18n translations to generate bash environment vars.
|
|
62
|
-
#
|
|
63
|
-
# example usage:
|
|
64
|
-
# CLI::Config::DEF[:Z_MAX]
|
|
65
|
-
DEF = {
|
|
66
|
-
FORMAT: {
|
|
67
|
-
type: :values,
|
|
68
|
-
description: I18n.t(
|
|
69
|
-
"cli.config.format_description",
|
|
70
|
-
possible_values: CLI::Config::FORMATS.values.join(", ")
|
|
71
|
-
),
|
|
72
|
-
value: :text,
|
|
73
|
-
possible_values: {
|
|
74
|
-
text: I18n.t("cli.config.text_format_description"),
|
|
75
|
-
json: I18n.t("cli.config.json_format_description")
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
DIMENSION: {
|
|
79
|
-
type: :values,
|
|
80
|
-
description: I18n.t(
|
|
81
|
-
"cli.config.dimension_description",
|
|
82
|
-
possible_values: CLI::Config::DMS.values.join(", ")
|
|
83
|
-
),
|
|
84
|
-
value: :dev_tarot,
|
|
85
|
-
possible_values: {
|
|
86
|
-
dev_tarot: I18n.t("cli.config.dimension_dev_tarot_description"),
|
|
87
|
-
ruby_facot: I18n.t("cli.config.dimension_ruby_facot_description"),
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
# not implemented. replace Aro::Deck::DRAW_COUNT with this
|
|
91
|
-
# DRAW_COUNT: {
|
|
92
|
-
# type: :int,
|
|
93
|
-
# description: I18n.t(
|
|
94
|
-
# "cli.config.draw_count_description",
|
|
95
|
-
# min: CLI::Config::INTS[:I],
|
|
96
|
-
# max: CLI::Config::INTS[:XXII],
|
|
97
|
-
# ),
|
|
98
|
-
# value: CLI::Config::INTS[:VII],
|
|
99
|
-
# min: CLI::Config::INTS[:I],
|
|
100
|
-
# max: CLI::Config::INTS[:XXII],
|
|
101
|
-
# },
|
|
102
|
-
Z: {
|
|
103
|
-
type: :int,
|
|
104
|
-
description: I18n.t(
|
|
105
|
-
"cli.config.z_description",
|
|
106
|
-
min: CLI::Config::INTS[:I],
|
|
107
|
-
max: CLI::Config::INTS[:MMXCVII],
|
|
108
|
-
),
|
|
109
|
-
value: CLI::Config::INTS[:I],
|
|
110
|
-
min: CLI::Config::INTS[:I],
|
|
111
|
-
max: CLI::Config::INTS[:MMXCVII],
|
|
112
|
-
},
|
|
113
|
-
Z_MAX: {
|
|
114
|
-
type: :int,
|
|
115
|
-
description: I18n.t(
|
|
116
|
-
"cli.config.z_max_description",
|
|
117
|
-
min: CLI::Config::INTS[:I],
|
|
118
|
-
max: CLI::Config::INTS[:XXII],
|
|
119
|
-
),
|
|
120
|
-
value: CLI::Config::INTS[:VII],
|
|
121
|
-
min: CLI::Config::INTS[:I],
|
|
122
|
-
max: CLI::Config::INTS[:XXII],
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
# ...
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
def generate_config
|
|
129
|
-
# todo: localize generated config text
|
|
130
|
-
Aro::P.say(I18n.t("cli.config.generating_default_config", name: CLI::Config::CONFIG_FILE_PATH))
|
|
131
|
-
File.open(CLI::Config::CONFIG_FILE_PATH, "w+") do |file|
|
|
132
|
-
file.write("# #{Aro::Mancy::PS1} configuration file.\n")
|
|
133
|
-
file.write("# this file was auto generated by the aro cli.\n")
|
|
134
|
-
Aro::Mancy::OS.times do
|
|
135
|
-
file.write("#\n")
|
|
136
|
-
end
|
|
137
|
-
file.write("# CLI::Config::DEF_TYPES\n")
|
|
138
|
-
file.write("# describes the possible types of variables.\n")
|
|
139
|
-
CLI::Config::DEF_TYPES.each{|k, v|
|
|
140
|
-
file.write("# #{k}: #{v[:description]}\n")
|
|
141
|
-
}
|
|
142
|
-
Aro::Mancy::OS.times do
|
|
143
|
-
file.write("#\n")
|
|
144
|
-
end
|
|
145
|
-
file.write("# CLI::Config::DEF\n")
|
|
146
|
-
file.write("# define & expose an aro bash api via ENV variables.\n")
|
|
147
|
-
file.write("# modifying them in this file will change aro's behavior.\n")
|
|
148
|
-
Aro::Mancy::OS.times do
|
|
149
|
-
file.write("#\n")
|
|
150
|
-
end
|
|
151
|
-
CLI::Config::DEF.each{|k, v|
|
|
152
|
-
var_name = CLI::Config.var_key_with_suffix(k)
|
|
153
|
-
file.write("# [#{var_name}]\n")
|
|
154
|
-
file.write("# => #{I18n.t("cli.config.def_type")}: #{v[:type]}\n")
|
|
155
|
-
case v[:type]
|
|
156
|
-
when CLI::Config::DEF_TYPES[:INT][:name]
|
|
157
|
-
file.write("# => #{I18n.t("cli.config.minimum")}: #{v[:min]}\n")
|
|
158
|
-
file.write("# => #{I18n.t("cli.config.maximum")}: #{v[:max]}\n")
|
|
159
|
-
when CLI::Config::DEF_TYPES[:VALUES][:name]
|
|
160
|
-
file.write("# => #{I18n.t("cli.config.possible_values")}:\n")
|
|
161
|
-
v[:possible_values].each{|name, description|
|
|
162
|
-
file.write("# => #{name} - #{description}\n")
|
|
163
|
-
}
|
|
164
|
-
end
|
|
165
|
-
file.write("export #{var_name}=#{v[:value]}\n\n")
|
|
166
|
-
}
|
|
167
|
-
file.write("\n")
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
def initialize
|
|
172
|
-
return unless Aro::Mancy.is_aro_dir?
|
|
173
|
-
unless File.exist?(CLI::Config::CONFIG_FILE_PATH)
|
|
174
|
-
generate_config
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
source_config
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
def self.def_valid?(deff, key)
|
|
181
|
-
deff == CLI::Config::DEF[key]
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
def self.int_valid?(unvalid)
|
|
185
|
-
return !unvalid.nil? && (
|
|
186
|
-
unvalid.kind_of?(Integer) ||
|
|
187
|
-
("0" != unvalid && unvalid.respond_to?(:to_i))
|
|
188
|
-
)
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
def self.var_value_with_suffix(suffix)
|
|
192
|
-
ENV[CLI::Config.var_key_with_suffix(suffix)]
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
def self.var_key_with_suffix(suffix)
|
|
196
|
-
"#{CLI::Config::VAR_PREFIX}#{suffix}"
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
def source_config
|
|
200
|
-
Aro::P.say(I18n.t("cli.config.sourcing_config", name: CLI::Config::CONFIG_FILE_PATH))
|
|
201
|
-
File.read(CLI::Config::CONFIG_FILE_PATH).split("\n").select{|line|
|
|
202
|
-
line.match?("export #{CLI::Config::VAR_PREFIX}")
|
|
203
|
-
}.map{|line|
|
|
204
|
-
line.gsub("export ", "").split("=")
|
|
205
|
-
}.each{|kv|
|
|
206
|
-
ENV[kv[0]] = kv[1]
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
# todo: implement
|
|
210
|
-
# invalid_defs = validate_config
|
|
211
|
-
CLI::Config::DEF.keys.each{|dfk|
|
|
212
|
-
# next if invalid_defs.include?(dfk)
|
|
213
|
-
Aro::P.say("$#{CLI::Config.var_key_with_suffix(dfk)}=#{CLI::Config.var_value_with_suffix(dfk)}")
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
# todo: set all invalid_refs to default in ENV
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
def validate_config
|
|
220
|
-
invalid_defs = []
|
|
221
|
-
CLI::Config::DEF.each{|k, v|
|
|
222
|
-
var_value = CLI::Config.var_value_with_suffix(k)
|
|
223
|
-
is_valid = CLI::Config::DEF_TYPES[v[:type].to_s.upcase.to_sym][:validator]
|
|
224
|
-
.call(var_value, v, k)
|
|
225
|
-
invalid_defs << k unless is_valid
|
|
226
|
-
}
|
|
227
|
-
invalid_defs
|
|
228
|
-
end
|
|
229
|
-
|
|
230
|
-
end
|
|
231
|
-
end
|
data/bin/cli/constants.rb
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
|
|
3
|
-
constants.rb
|
|
4
|
-
|
|
5
|
-
define constants for the aro cli.
|
|
6
|
-
|
|
7
|
-
by i2097i
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
module CLI
|
|
12
|
-
|
|
13
|
-
FLAGS = {
|
|
14
|
-
HELP: [:"-h", :"--help"],
|
|
15
|
-
SHOW_COUNT: [:"-n", :"--count"],
|
|
16
|
-
SHOW_ORDER: [:"-o", :"--order"],
|
|
17
|
-
VERSION: [:"-v", :"--version"],
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
EXIT_CODES = {
|
|
21
|
-
SUCCESS: 0,
|
|
22
|
-
GENERAL_ERROR: 1,
|
|
23
|
-
INVALID_ARG: 3
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
CREATE_DECK_ACTIONS = {
|
|
27
|
-
CREATE: :CREATE
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
LOAD_DECK_ACTIONS = {
|
|
31
|
-
DRAW: :DRAW,
|
|
32
|
-
EXPLORE: :EXPLORE,
|
|
33
|
-
REPLACE: :REPLACE,
|
|
34
|
-
RESET: :RESET,
|
|
35
|
-
SHOW: :SHOW,
|
|
36
|
-
SHUFFLE: :SHUFFLE,
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
end
|
data/bin/cli/deck.rb
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
|
|
3
|
-
deck.rb
|
|
4
|
-
|
|
5
|
-
process deck commands.
|
|
6
|
-
|
|
7
|
-
by i2097i
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
module CLI
|
|
12
|
-
def self.deck
|
|
13
|
-
action = CLI::ARGV1&.upcase&.to_sym
|
|
14
|
-
|
|
15
|
-
if CLI::FLAGS[:HELP].include?(CLI::ARGV1)
|
|
16
|
-
CLI::usage
|
|
17
|
-
exit(CLI::EXIT_CODES[:SUCCESS])
|
|
18
|
-
elsif CLI::ARGV1.nil?
|
|
19
|
-
# no args, open deck menu
|
|
20
|
-
Aro::Create.new(Aro::Db.get_name_from_namefile)
|
|
21
|
-
Aro::Deck.display_selection_menu
|
|
22
|
-
elsif action == CLI::CREATE_DECK_ACTIONS[:CREATE]
|
|
23
|
-
CLI::Aroface.exit_error_missing_args! if CLI::ARGV2.nil?
|
|
24
|
-
deck = Aro::Deck.make(CLI::ARGV2.to_s)
|
|
25
|
-
Aro::P.say(I18n.t("cli.messages.deck_created_sucessfully", name: Aro::Mancy.game.name))
|
|
26
|
-
Aro::Deck.display_selection_menu
|
|
27
|
-
elsif CLI::LOAD_DECK_ACTIONS.include?(action)
|
|
28
|
-
if Aro::Mancy.game.nil?
|
|
29
|
-
Aro::P.say(I18n.t("cli.errors.missing_deck"))
|
|
30
|
-
exit(CLI::EXIT_CODES[:GENERAL_ERROR])
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
case action
|
|
34
|
-
when CLI::LOAD_DECK_ACTIONS[:EXPLORE]
|
|
35
|
-
Aro::Mancy.game.explore
|
|
36
|
-
exit(CLI::EXIT_CODES[:SUCCESS])
|
|
37
|
-
when CLI::LOAD_DECK_ACTIONS[:SHUFFLE]
|
|
38
|
-
Aro::P.say(I18n.t("cli.messages.shuffling", name: Aro::Mancy.game.name))
|
|
39
|
-
Aro::Mancy.game.shuffle
|
|
40
|
-
when CLI::LOAD_DECK_ACTIONS[:DRAW]
|
|
41
|
-
Aro::P.say(I18n.t("cli.messages.drawing", name: Aro::Mancy.game.name))
|
|
42
|
-
Aro::P.say(I18n.t("cli.messages.drawing_from_dimension", dimension: "#{CLI::Config.var_value_with_suffix(:DIMENSION)}"))
|
|
43
|
-
Aro::Mancy.game.draw(
|
|
44
|
-
is_dt_dimension: CLI::Config.var_value_with_suffix(:DIMENSION)&.to_sym == CLI::Config::DMS[:DEV_TAROT],
|
|
45
|
-
z_max: CLI::Config.var_value_with_suffix(:Z_MAX).to_i,
|
|
46
|
-
z: CLI::Config.var_value_with_suffix(:Z)
|
|
47
|
-
)
|
|
48
|
-
when CLI::LOAD_DECK_ACTIONS[:REPLACE]
|
|
49
|
-
Aro::P.say(I18n.t("cli.messages.replacing_drawn", name: Aro::Mancy.game.name))
|
|
50
|
-
Aro::Mancy.game.replace
|
|
51
|
-
when CLI::LOAD_DECK_ACTIONS[:RESET]
|
|
52
|
-
if Aro::AROYES.to_s != Aro::P.p.ask(I18n.t("cli.messages.confirmation_prompt", name: Aro::Mancy.game.name))
|
|
53
|
-
Aro::P.say(I18n.t("cli.messages.understood", name: Aro::Mancy.game.name))
|
|
54
|
-
exit(CLI::EXIT_CODES[:SUCCESS])
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
Aro::P.say(I18n.t("cli.messages.resetting", name: Aro::Mancy.game.name))
|
|
58
|
-
Aro::Mancy.game.reset
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
Aro::Mancy.game.show(**CLI::Deck.shoptions)
|
|
62
|
-
else
|
|
63
|
-
CLI::usage
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
module Deck
|
|
68
|
-
|
|
69
|
-
# parse show options
|
|
70
|
-
def self.shoptions
|
|
71
|
-
show_options_count = Aro::Log::DEFAULT_COUNT
|
|
72
|
-
show_options_order = Aro::Log::ORDERING[:DESC]
|
|
73
|
-
|
|
74
|
-
# Aro::P.say("ARGV.map{|a| a.to_sym} => #{ARGV.map{|a| a.to_sym}}")
|
|
75
|
-
|
|
76
|
-
count_option_flags = ARGV.map{|a| a.to_sym} & CLI::FLAGS[:SHOW_COUNT]
|
|
77
|
-
# Aro::P.say("count_option_flags: #{count_option_flags}")
|
|
78
|
-
if count_option_flags.any?
|
|
79
|
-
# get the ARGV index element after flag index
|
|
80
|
-
show_options_count = ARGV[ARGV.index(count_option_flags.first.to_s) + 1]
|
|
81
|
-
show_options_count = show_options_count.to_i unless [0, nil].include?(show_options_count&.to_i)
|
|
82
|
-
# Aro::P.say("show_options_count: #{show_options_count}")
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
order_option_flags = ARGV.map{|a| a.to_sym} & CLI::FLAGS[:SHOW_ORDER]
|
|
86
|
-
# Aro::P.say("count_option_flags: #{order_option_flags}")
|
|
87
|
-
if order_option_flags.any?
|
|
88
|
-
# get the ARGV index element after flag index
|
|
89
|
-
show_options_order = ARGV[ARGV.index(order_option_flags.first.to_s) + 1].upcase.to_sym
|
|
90
|
-
Aro::P.say("show_options_order: #{show_options_order}")
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
{
|
|
94
|
-
count_n: show_options_count,
|
|
95
|
-
order_o: show_options_order
|
|
96
|
-
}
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
end
|
|
100
|
-
end
|
data/bin/cli.rb
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require :aro.to_s
|
|
2
|
-
[:cli].each do |dir|
|
|
3
|
-
Dir[
|
|
4
|
-
File.join(
|
|
5
|
-
__dir__,
|
|
6
|
-
dir.to_s,
|
|
7
|
-
:"**/*.rb".to_s
|
|
8
|
-
)
|
|
9
|
-
].each { |file| require file}
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# set environment variable
|
|
13
|
-
ENV[:ARO_ENV.to_s] = :production.to_s
|
|
14
|
-
# ENV[:ARO_ENV.to_s] = :development.to_s
|
|
15
|
-
|
|
16
|
-
module CLI
|
|
17
|
-
if CLI::LOAD_DECK_ACTIONS.keys.map{|k| k.downcase.to_sym}.include?(ARGV[0]&.to_sym)
|
|
18
|
-
# enable deck shortcut (skip typing deck while in-game)
|
|
19
|
-
ARGV0 = :deck
|
|
20
|
-
ARGV1 = ARGV[0]&.to_sym
|
|
21
|
-
ARGV2 = ARGV[1]&.to_sym
|
|
22
|
-
else
|
|
23
|
-
# default
|
|
24
|
-
ARGV0 = ARGV[0]&.to_sym
|
|
25
|
-
ARGV1 = ARGV[1]&.to_sym
|
|
26
|
-
ARGV2 = ARGV[2]&.to_sym
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
class Aroface
|
|
30
|
-
|
|
31
|
-
def self.exit_error_missing_args!
|
|
32
|
-
Aro::P.say(I18n.t("cli.errors.header"))
|
|
33
|
-
Aro::P.say(I18n.t("cli.errors.missing_args", cmd: "#{CLI::ARGV0} #{CLI::ARGV1} #{CLI::ARGV2}".strip))
|
|
34
|
-
exit(CLI::EXIT_CODES[:INVALID_ARG])
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
end
|
data/lib/aro/c.rb
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module Aro
|
|
2
|
-
DIRS = {
|
|
3
|
-
ARO: Proc.new{Aro::IS_TEST.call ? ".aro_test" : ".aro"},
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
AROYES = :aroyes
|
|
7
|
-
|
|
8
|
-
NUMERALS = {
|
|
9
|
-
O: 0,
|
|
10
|
-
I: 1,
|
|
11
|
-
II: 2,
|
|
12
|
-
III: 3,
|
|
13
|
-
IV: 4,
|
|
14
|
-
V: 5,
|
|
15
|
-
VI: 6,
|
|
16
|
-
VII: 7,
|
|
17
|
-
VIII: 8,
|
|
18
|
-
IX: 9,
|
|
19
|
-
X: 10,
|
|
20
|
-
XI: 11,
|
|
21
|
-
XII: 12,
|
|
22
|
-
XIII: 13,
|
|
23
|
-
XIV: 14,
|
|
24
|
-
XV: 15,
|
|
25
|
-
XVI: 16,
|
|
26
|
-
XVII: 17,
|
|
27
|
-
XVIII:18,
|
|
28
|
-
XIX: 19,
|
|
29
|
-
XX: 20,
|
|
30
|
-
XXI: 21,
|
|
31
|
-
}
|
|
32
|
-
end
|
data/lib/aro/create.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module Aro
|
|
2
|
-
class Create
|
|
3
|
-
attr_accessor :initialized
|
|
4
|
-
|
|
5
|
-
def initialize(name)
|
|
6
|
-
self.initialized = false
|
|
7
|
-
|
|
8
|
-
if !name.nil? && (
|
|
9
|
-
name.kind_of?(String) ||
|
|
10
|
-
name.kind_of?(Symbol)
|
|
11
|
-
)
|
|
12
|
-
# explicitly only allow String/Symbol types for name
|
|
13
|
-
name = name.to_s.strip
|
|
14
|
-
|
|
15
|
-
# create the new aro directory and database
|
|
16
|
-
if Aro::Db.get_name_from_namefile.nil? && !Dir.exist?(name)
|
|
17
|
-
Aro::P.say(I18n.t("cli.messages.no_decks"))
|
|
18
|
-
create_cmd = "mkdir #{name}"
|
|
19
|
-
Aro::P.say("#{create_cmd} (result: #{system(create_cmd)})")
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# create database
|
|
23
|
-
Aro::Db.new(name)
|
|
24
|
-
self.initialized = true
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
end
|
|
29
|
-
end
|