aro 0.1.6 → 0.1.8

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -5
  3. data/.ruby-version +1 -1
  4. data/Gemfile.lock +32 -14
  5. data/aro.gemspec +17 -8
  6. data/bin/aos +19 -0
  7. data/bin/aro +24 -24
  8. data/checksums/aro-0.1.6.gem.sha512 +1 -0
  9. data/checksums/aro-0.1.7.gem.sha512 +1 -0
  10. data/checksums/aro-0.1.8.gem.sha512 +1 -0
  11. data/db/migrate/1763374647_create_decks.rb +3 -0
  12. data/db/migrate/1763432541_create_logs.rb +1 -0
  13. data/db/migrate/1765148774_create_yous.rb +19 -0
  14. data/listen.rb +10 -0
  15. data/locale/en.aos.yml +27 -0
  16. data/locale/en.cngelog.yml +5 -0
  17. data/locale/en.usage.yml +55 -38
  18. data/locale/en.yml +47 -15
  19. data/sys/aos/aos.rb +199 -0
  20. data/sys/aos/db.rb +81 -0
  21. data/sys/aos/s.rb +25 -0
  22. data/sys/aos/views/base.rb +139 -0
  23. data/sys/aos/views/dom.rb +45 -0
  24. data/sys/aos/views/games/abpps.rb +21 -0
  25. data/sys/aos/views/games/deck.rb +95 -0
  26. data/sys/aos/views/games/game.rb +24 -0
  27. data/sys/aos/views/games/hbpps.rb +21 -0
  28. data/sys/aos/views/games/shpps.rb +21 -0
  29. data/sys/aos/views/games/vipps.rb +21 -0
  30. data/sys/aos/views/games.rb +19 -0
  31. data/sys/aos/views/know/library.rb +19 -0
  32. data/sys/aos/views/know/temple.rb +19 -0
  33. data/sys/aos/views/know.rb +19 -0
  34. data/sys/aos/views/setup/settings.rb +50 -0
  35. data/sys/aos/views/setup.rb +19 -0
  36. data/sys/aos/views/welcome/waite.rb +19 -0
  37. data/sys/aos/views/welcome/winner.rb +19 -0
  38. data/sys/aos/views/welcome.rb +19 -0
  39. data/sys/aos/you.rb +15 -0
  40. data/sys/aro/d.rb +25 -0
  41. data/sys/aro/db.rb +89 -0
  42. data/sys/aro/mancy.rb +114 -0
  43. data/sys/aro/p.rb +25 -0
  44. data/sys/aro/r.rb +20 -0
  45. data/sys/aro/v.rb +24 -0
  46. data/sys/aro.rb +16 -0
  47. data/sys/cli/config.rb +582 -0
  48. data/sys/cli/constants.rb +56 -0
  49. data/{bin → sys}/cli/create.rb +6 -4
  50. data/sys/cli/deck.rb +98 -0
  51. data/sys/cli/dom.rb +37 -0
  52. data/sys/cli/nterface.rb +31 -0
  53. data/{bin → sys}/cli/usage.rb +1 -1
  54. data/sys/cli.rb +26 -0
  55. data/sys/dom/d.rb +101 -0
  56. data/sys/dom/dom.rb +161 -0
  57. data/sys/dom/p.rb +17 -0
  58. data/sys/models/deck.rb +218 -0
  59. data/sys/models/log.rb +20 -0
  60. data/sys/reiquire.rb +45 -0
  61. data/sys/shr/prompt.rb +37 -0
  62. data/sys/shr/t.rb +60 -0
  63. data/sys/shr/version.rb +16 -0
  64. data/tasks/make.rake +2 -2
  65. metadata +78 -22
  66. data/.release +0 -20
  67. data/bin/cli/config.rb +0 -231
  68. data/bin/cli/constants.rb +0 -39
  69. data/bin/cli/deck.rb +0 -100
  70. data/bin/cli.rb +0 -39
  71. data/lib/aro/c.rb +0 -32
  72. data/lib/aro/create.rb +0 -29
  73. data/lib/aro/db.rb +0 -107
  74. data/lib/aro/environment.rb +0 -3
  75. data/lib/aro/i18n.rb +0 -12
  76. data/lib/aro/prompt.rb +0 -25
  77. data/lib/aro/version.rb +0 -4
  78. data/lib/aro.rb +0 -45
  79. data/lib/models/deck.rb +0 -294
  80. data/lib/models/log.rb +0 -12
data/sys/models/log.rb ADDED
@@ -0,0 +1,20 @@
1
+ =begin
2
+
3
+ log.rb
4
+
5
+ log object.
6
+
7
+ by i2097i
8
+
9
+ =end
10
+
11
+ require_relative :"./deck".to_s
12
+
13
+ class Aro::Log < ActiveRecord::Base
14
+ belongs_to :deck, :class_name => :"#{Aro::Deck.name}".to_s
15
+
16
+ ORDERING = {
17
+ ASC: :asc,
18
+ DESC: :desc
19
+ }
20
+ end
data/sys/reiquire.rb ADDED
@@ -0,0 +1,45 @@
1
+ =begin
2
+
3
+ reiquire.rb
4
+
5
+ ruby require helpers.
6
+
7
+ by i2097i
8
+
9
+ =end
10
+
11
+ # dependencies
12
+ require :active_record.to_s
13
+ require :"active_record/schema_dumper".to_s
14
+ require :base64.to_s
15
+ require :fileutils.to_s
16
+ require :i18n.to_s
17
+ require :"tty-prompt".to_s
18
+ require :yaml.to_s
19
+
20
+ module Reiquire
21
+ def self.aro
22
+ locale_path = Gem.loaded_specs[:aro.to_s]&.full_gem_path
23
+ # if CLI::Config.is_test?
24
+ # locale_path = Dir.pwd
25
+ # end
26
+
27
+ I18n.load_path += Dir["#{locale_path}/locale/*.yml"]
28
+ I18n.available_locales = [:en]
29
+ I18n.default_locale = :en
30
+
31
+ # require all aro folders
32
+ Reiquire::requires [:aro, :cli, :dom, :models, :shr, :views, :aos]
33
+
34
+ # require cli module
35
+ require_relative :"./cli".to_s
36
+ end
37
+
38
+ def self.requires(dirs)
39
+ dirs.each{|d|
40
+ Dir[
41
+ File.join(__dir__, d.to_s, :"**/**/*.rb".to_s)
42
+ ].each { |f| require f}
43
+ }
44
+ end
45
+ end
data/sys/shr/prompt.rb ADDED
@@ -0,0 +1,37 @@
1
+ =begin
2
+
3
+ prompt.rb
4
+
5
+ base logger for aro.
6
+
7
+ by i2097i
8
+
9
+ =end
10
+
11
+ module Aro
12
+ class Prompt
13
+ include Singleton
14
+
15
+ attr_accessor :prompt
16
+
17
+ def initialize
18
+ self.prompt = TTY::Prompt.new
19
+ end
20
+
21
+ def self.p
22
+ Aro::Prompt.instance.prompt
23
+ end
24
+
25
+ def self.should_print?
26
+ CLI::Config::BOOLS[:TRUE]
27
+ end
28
+
29
+ def self.say(message)
30
+ raise :override_me.to_s
31
+ end
32
+
33
+ def self.less(message)
34
+ IO.popen("less -X", "w") { |f| f.puts(message) }
35
+ end
36
+ end
37
+ end
data/sys/shr/t.rb ADDED
@@ -0,0 +1,60 @@
1
+ =begin
2
+
3
+ t.rb
4
+
5
+ tarot.
6
+
7
+ by i2097i
8
+
9
+ =end
10
+
11
+ module Aro
12
+ module T
13
+ DEV_TAROT_FILE = :"/dev/tarot"
14
+
15
+ RUBY_FACOT = :"Ruby::Facot".to_s
16
+
17
+ def self.is_dev_tarot?
18
+ CLI::Config.ivar(:DIMENSION)&.to_sym == CLI::Config::DMS[:DEV_TAROT]
19
+ end
20
+
21
+ # read dev_tarot
22
+ def self.read_dev_tarot
23
+ dt = nil
24
+ return dt unless File.exist?(Aro::T::DEV_TAROT_FILE.to_s)
25
+
26
+ File.open(Aro::T::DEV_TAROT_FILE.to_s, "r"){|dtf| dt = dtf.read(Aro::Mancy::N)}
27
+
28
+ # VERY IMPORTANT!
29
+ Aro::D.say(I18n.t("cli.very_important", dev_tarot: dt))
30
+ return dt
31
+ end
32
+
33
+ # summon ruby_facot
34
+ def self.summon_ruby_facot(cards_arr)
35
+ Aro::P.say(I18n.t("cli.messages.ruby_facot_random"))
36
+ ruby_facot = cards_arr.sample.split("")
37
+
38
+ # get orientation
39
+ ruby_facot_str = ["+","-"].sample
40
+
41
+ # get suite
42
+ ruby_facot_str += ruby_facot[1]
43
+
44
+ # calculate the sym
45
+ symm = ruby_facot.select{|c|
46
+ # loops through the characters in ruby_facot
47
+ # return all characters not matching:
48
+ # => character[0]: orientation
49
+ # => character[1]: suite
50
+
51
+ # the first two characters in the dev_tarot format designate the
52
+ !ruby_facot.first(Aro::Mancy::OS).include?(c)
53
+ }.join("").to_sym
54
+ ruby_facot_str += Aro::Mancy::NUMERALS[symm].to_s
55
+
56
+ # return ruby_facot_str
57
+ ruby_facot_str
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,16 @@
1
+ =begin
2
+
3
+ version.rb
4
+
5
+ aro version.
6
+
7
+ by i2097i
8
+
9
+ =end
10
+
11
+ module Aro
12
+ VERSION = :"0.1.8"
13
+ RELEASE_NOTES = :"this version".to_s + [
14
+ "created aos"
15
+ ].join(",")
16
+ end
data/tasks/make.rake CHANGED
@@ -1,4 +1,4 @@
1
- desc "rspec && rake install"
1
+ desc "rake install && rspec"
2
2
  task :make do
3
- exec "rspec && rake install"
3
+ exec "rake install && rspec"
4
4
  end
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.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2097i
@@ -69,6 +69,26 @@ dependencies:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
71
  version: 3.13.2
72
+ - !ruby/object:Gem::Dependency
73
+ name: listen
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '3.9'
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 3.9.0
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.9'
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 3.9.0
72
92
  - !ruby/object:Gem::Dependency
73
93
  name: i18n
74
94
  requirement: !ruby/object:Gem::Requirement
@@ -153,12 +173,12 @@ description: a cli for tarot.
153
173
  email:
154
174
  - i2097i@hotmail.com
155
175
  executables:
176
+ - aos
156
177
  - aro
157
178
  extensions: []
158
179
  extra_rdoc_files: []
159
180
  files:
160
181
  - ".gitignore"
161
- - ".release"
162
182
  - ".ruby-version"
163
183
  - Gemfile
164
184
  - Gemfile.lock
@@ -166,30 +186,67 @@ files:
166
186
  - README.md
167
187
  - Rakefile
168
188
  - aro.gemspec
189
+ - bin/aos
169
190
  - 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
191
  - checksums/aro-0.1.4.gem.sha512
177
192
  - checksums/aro-0.1.5.gem.sha512
193
+ - checksums/aro-0.1.6.gem.sha512
194
+ - checksums/aro-0.1.7.gem.sha512
195
+ - checksums/aro-0.1.8.gem.sha512
178
196
  - db/migrate/1763374647_create_decks.rb
179
197
  - db/migrate/1763432541_create_logs.rb
180
- - lib/aro.rb
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
198
+ - db/migrate/1765148774_create_yous.rb
199
+ - listen.rb
200
+ - locale/en.aos.yml
190
201
  - locale/en.cards.yml
202
+ - locale/en.cngelog.yml
191
203
  - locale/en.usage.yml
192
204
  - locale/en.yml
205
+ - sys/aos/aos.rb
206
+ - sys/aos/db.rb
207
+ - sys/aos/s.rb
208
+ - sys/aos/views/base.rb
209
+ - sys/aos/views/dom.rb
210
+ - sys/aos/views/games.rb
211
+ - sys/aos/views/games/abpps.rb
212
+ - sys/aos/views/games/deck.rb
213
+ - sys/aos/views/games/game.rb
214
+ - sys/aos/views/games/hbpps.rb
215
+ - sys/aos/views/games/shpps.rb
216
+ - sys/aos/views/games/vipps.rb
217
+ - sys/aos/views/know.rb
218
+ - sys/aos/views/know/library.rb
219
+ - sys/aos/views/know/temple.rb
220
+ - sys/aos/views/setup.rb
221
+ - sys/aos/views/setup/settings.rb
222
+ - sys/aos/views/welcome.rb
223
+ - sys/aos/views/welcome/waite.rb
224
+ - sys/aos/views/welcome/winner.rb
225
+ - sys/aos/you.rb
226
+ - sys/aro.rb
227
+ - sys/aro/d.rb
228
+ - sys/aro/db.rb
229
+ - sys/aro/mancy.rb
230
+ - sys/aro/p.rb
231
+ - sys/aro/r.rb
232
+ - sys/aro/v.rb
233
+ - sys/cli.rb
234
+ - sys/cli/config.rb
235
+ - sys/cli/constants.rb
236
+ - sys/cli/create.rb
237
+ - sys/cli/deck.rb
238
+ - sys/cli/dom.rb
239
+ - sys/cli/nterface.rb
240
+ - sys/cli/usage.rb
241
+ - sys/dom/d.rb
242
+ - sys/dom/dom.rb
243
+ - sys/dom/p.rb
244
+ - sys/models/deck.rb
245
+ - sys/models/log.rb
246
+ - sys/reiquire.rb
247
+ - sys/shr/prompt.rb
248
+ - sys/shr/t.rb
249
+ - sys/shr/version.rb
193
250
  - tasks/console.rake
194
251
  - tasks/make.rake
195
252
  homepage: https://github.com/i2097i/aro
@@ -198,13 +255,12 @@ licenses:
198
255
  metadata: {}
199
256
  rdoc_options: []
200
257
  require_paths:
201
- - lib
202
- - bin/cli
258
+ - sys
203
259
  required_ruby_version: !ruby/object:Gem::Requirement
204
260
  requirements:
205
261
  - - ">="
206
262
  - !ruby/object:Gem::Version
207
- version: '0'
263
+ version: 3.4.7
208
264
  required_rubygems_version: !ruby/object:Gem::Requirement
209
265
  requirements:
210
266
  - - ">="
@@ -213,5 +269,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
269
  requirements: []
214
270
  rubygems_version: 3.6.9
215
271
  specification_version: 4
216
- summary: follow the way of the aro eht.
272
+ summary: this versioncreated aos
217
273
  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