aro 0.2.0 → 0.2.2

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile.lock +3 -2
  4. data/README.md +1 -1
  5. data/aro.gemspec +1 -0
  6. data/bin/aos +2 -2
  7. data/bin/aro +4 -4
  8. data/checksums/aro-0.2.1.gem.sha512 +1 -0
  9. data/checksums/aro-0.2.2.gem.sha512 +1 -0
  10. data/listen.rb +1 -1
  11. data/locale/en.amg.yml +44 -0
  12. data/locale/en.aos.yml +13 -8
  13. data/locale/en.data.yml +30 -0
  14. data/locale/en.dom.yml +10 -8
  15. data/locale/en.usage.yml +22 -22
  16. data/locale/en.yml +16 -11
  17. data/sys/aos/amg.rb +184 -0
  18. data/sys/aos/aos.rb +203 -89
  19. data/sys/aos/data.rb +117 -0
  20. data/{db → sys/aos/db}/migrate/1765148774_create_yous.rb +1 -0
  21. data/sys/aos/db/migrate/1765762724_create_ilibs.rb +22 -0
  22. data/sys/aos/db/migrate/1765907766_create_ilogs.rb +18 -0
  23. data/sys/aos/db.rb +44 -25
  24. data/sys/aos/models/ilib.rb +46 -0
  25. data/sys/aos/models/ilog.rb +27 -0
  26. data/sys/aos/models/you.rb +50 -0
  27. data/sys/aos/vws/base.rb +120 -0
  28. data/sys/aos/{views → vws}/dom.rb +6 -10
  29. data/sys/aos/vws/games/abpps.rb +19 -0
  30. data/sys/aos/{views → vws}/games/game.rb +26 -25
  31. data/sys/aos/vws/games/hbpps.rb +19 -0
  32. data/sys/aos/vws/games/shpps.rb +19 -0
  33. data/sys/aos/vws/games/vipps.rb +19 -0
  34. data/sys/aos/{views → vws}/games.rb +3 -3
  35. data/sys/aos/vws/know/body.rb +19 -0
  36. data/sys/aos/vws/know/mind.rb +19 -0
  37. data/sys/aos/vws/know/spirit.rb +19 -0
  38. data/sys/aos/{views → vws}/know.rb +3 -3
  39. data/sys/aos/vws/root/amg.rb +21 -0
  40. data/sys/aos/vws/root/config.rb +21 -0
  41. data/sys/aos/vws/root/data.rb +21 -0
  42. data/sys/aos/{views/setup.rb → vws/root.rb} +4 -4
  43. data/sys/aos/vws/welcome/waite.rb +31 -0
  44. data/sys/aos/{views → vws}/welcome/winner.rb +3 -3
  45. data/sys/aos/vws/welcome.rb +30 -0
  46. data/{db/migrate/1763374647_create_decks.rb → sys/aro/db/migrate/1763374647_create_tecks.rb} +5 -5
  47. data/sys/aro/db/migrate/1763432541_create_tlogs.rb +20 -0
  48. data/sys/aro/db.rb +16 -15
  49. data/sys/aro/mancy.rb +4 -3
  50. data/sys/{models/deck.rb → aro/models/teck.rb} +56 -62
  51. data/sys/aro/models/tlog.rb +20 -0
  52. data/sys/aro/v.rb +1 -1
  53. data/sys/cli/constants.rb +1 -1
  54. data/sys/cli/dom.rb +1 -1
  55. data/sys/cli/{deck.rb → teck.rb} +20 -15
  56. data/sys/cli.rb +12 -12
  57. data/sys/dom/config.rb +718 -0
  58. data/sys/dom/d.rb +36 -18
  59. data/sys/dom/dom.rb +24 -14
  60. data/sys/reiquire.rb +8 -8
  61. data/sys/shr/ilib/crs/CMakeLists.txt +12 -0
  62. data/sys/shr/ilib/crs/compile.sh +5 -0
  63. data/sys/shr/ilib/crs/crs.c +24 -0
  64. data/sys/shr/ilib/crs/crs.o +0 -0
  65. data/sys/shr/ilib/crs/libcrs.so +0 -0
  66. data/sys/shr/prompt.rb +1 -5
  67. data/sys/shr/t.rb +14 -8
  68. data/sys/shr/version.rb +1 -1
  69. metadata +63 -26
  70. data/db/migrate/1763432541_create_logs.rb +0 -20
  71. data/locale/en.cngelog.yml +0 -5
  72. data/sys/aos/views/base.rb +0 -166
  73. data/sys/aos/views/games/abpps.rb +0 -21
  74. data/sys/aos/views/games/hbpps.rb +0 -21
  75. data/sys/aos/views/games/shpps.rb +0 -21
  76. data/sys/aos/views/games/vipps.rb +0 -21
  77. data/sys/aos/views/know/library.rb +0 -19
  78. data/sys/aos/views/know/temple.rb +0 -19
  79. data/sys/aos/views/setup/settings.rb +0 -37
  80. data/sys/aos/views/welcome/waite.rb +0 -19
  81. data/sys/aos/views/welcome.rb +0 -19
  82. data/sys/aos/you.rb +0 -19
  83. data/sys/cli/config.rb +0 -669
  84. data/sys/models/log.rb +0 -20
data/sys/dom/d.rb CHANGED
@@ -9,6 +9,7 @@
9
9
  =end
10
10
 
11
11
  require_relative :dom.to_s
12
+ require_relative :"../shr/prompt".to_s
12
13
 
13
14
  module Aro
14
15
  class Dom::D
@@ -26,6 +27,8 @@ module Aro
26
27
  WINGS = {
27
28
  WELCOME: {
28
29
  WAITE: {
30
+ # todo: make a wai/wait/wae learning tool for practicing
31
+ # command usage in a sandbox.
29
32
  name: Aro::Dom::WAITE,
30
33
  description: I18n.t("dom.rooms.waite.description"),
31
34
  },
@@ -52,20 +55,32 @@ module Aro
52
55
  description: I18n.t("dom.rooms.vipps.description"),
53
56
  },
54
57
  },
55
- KNOW: {
56
- LIBRARY: {
57
- name: Aro::Dom::LIBRARY,
58
- description: I18n.t("dom.rooms.library.description"),
58
+ KNOW: {
59
+ BODY: {
60
+ name: Aro::Dom::BODY,
61
+ description: I18n.t("dom.rooms.body.description"),
62
+ },
63
+ MIND: {
64
+ name: Aro::Dom::MIND,
65
+ description: I18n.t("dom.rooms.mind.description"),
59
66
  },
60
- TEMPLE: {
61
- name: Aro::Dom::TEMPLE,
62
- description: I18n.t("dom.rooms.temple.description"),
67
+ SPIRIT: {
68
+ name: Aro::Dom::SPIRIT,
69
+ description: I18n.t("dom.rooms.spirit.description"),
63
70
  },
64
71
  },
65
- SETUP: {
66
- SETTINGS: {
67
- name: Aro::Dom::SETTINGS,
68
- description: I18n.t("dom.rooms.settings.description"),
72
+ ROOT: {
73
+ AMG: {
74
+ name: Aro::Dom::AMG,
75
+ description: I18n.t("dom.rooms.amg.description"),
76
+ },
77
+ CONFIG: {
78
+ name: Aro::Dom::CONFIG,
79
+ description: I18n.t("dom.rooms.config.description"),
80
+ },
81
+ DATA: {
82
+ name: Aro::Dom::DATA,
83
+ description: I18n.t("dom.rooms.data.description"),
69
84
  },
70
85
  },
71
86
  }
@@ -94,18 +109,21 @@ module Aro
94
109
  name: Aro::Dom::KNOW,
95
110
  description: I18n.t("dom.wings.know.description"),
96
111
  rooms: [
97
- Aro::Dom::D::WINGS[:KNOW][:LIBRARY],
98
- Aro::Dom::D::WINGS[:KNOW][:TEMPLE]
112
+ Aro::Dom::D::WINGS[:KNOW][:BODY],
113
+ Aro::Dom::D::WINGS[:KNOW][:MIND],
114
+ Aro::Dom::D::WINGS[:KNOW][:SPIRIT],
99
115
  ],
100
116
  },
101
- SETUP: {
102
- name: Aro::Dom::SETUP,
103
- description: I18n.t("dom.wings.setup.description"),
117
+ ROOT: {
118
+ name: Aro::Dom::ROOT,
119
+ description: I18n.t("dom.wings.root.description"),
104
120
  rooms: [
105
- Aro::Dom::D::WINGS[:SETUP][:SETTINGS]
121
+ Aro::Dom::D::WINGS[:ROOT][:AMG],
122
+ Aro::Dom::D::WINGS[:ROOT][:CONFIG],
123
+ Aro::Dom::D::WINGS[:ROOT][:DATA],
106
124
  ],
107
125
  }
108
126
  }
109
127
 
110
128
  end
111
- end
129
+ end
data/sys/dom/dom.rb CHANGED
@@ -8,24 +8,22 @@
8
8
 
9
9
  =end
10
10
 
11
- require_relative :"../aos/s".to_s
12
-
13
11
  module Aro
14
12
  class Dom
15
13
  PS1 = :">[#{Aro::Dom.name}]>: "
16
14
  DOT = :"."
17
15
  DOTT = :"#{DOT}#{DOT}"
18
- ETHERGEIST = :ethergeist
16
+ ETHERGEIST = :eg
19
17
  ETHER_FILE = :".#{Aro::Dom::ETHERGEIST}"
20
18
 
21
- # < root space
19
+ # < aro space
22
20
  ARODOME = :arodome
23
21
 
24
22
  # < user spaces
25
23
  WELCOME = :welcome
26
24
  GAMES = :games
27
25
  KNOW = :know
28
- SETUP = :setup
26
+ ROOT = :root
29
27
 
30
28
  # > welcome spaces
31
29
  WAITE = :waite
@@ -38,12 +36,15 @@ module Aro
38
36
  VIPPS = :vipps
39
37
 
40
38
  # > know spaces
41
- LIBRARY = :library
42
- TEMPLE = :temple
39
+ BODY = :body
40
+ MIND = :mind
41
+ SPIRIT = :spirit
43
42
  # ...
44
43
 
45
- # > setup spaces
46
- SETTINGS = :settings
44
+ # > root spaces
45
+ AMG = :amg
46
+ CONFIG = :config
47
+ DATA = :data
47
48
  # ...
48
49
 
49
50
  def self.create(name)
@@ -70,11 +71,11 @@ module Aro
70
71
  def self.is_initialized?
71
72
  return false if !Aro::Dom.in_arodom?
72
73
 
73
- File.exist?(File.join(Aro::Dom::ethergeist_path, Aos::Db::SQL_FILE.to_s))
74
+ File.exist?(File.join(Aro::Dom.room_path(:data), Aos::Db::SQL_FILE.to_s))
74
75
  end
75
76
 
76
77
  def self.domain
77
- "#{Aro::Dom}#{Aos::Os::A}#{Aro::Dom.ethergeist_name}"
78
+ "#{Aos::Os.instance.you.nil? ? Aro::Dom : Aos::Os.instance.you.name}#{Aos::Os::A}#{Aro::Dom.ethergeist_name}"
78
79
  end
79
80
 
80
81
  def self.dom_root
@@ -131,13 +132,22 @@ module Aro
131
132
  )
132
133
  end
133
134
 
134
- def generate
135
- return unless Aro::Dom.in_arodom?
135
+ def generate(r_you, r_password)
136
+ unless r_password.present?
137
+ Aro::Dom::P.say("missing password argument.")
138
+ return
139
+ end
140
+
141
+ unless Aro::Dom.in_arodom?
142
+ Aro::Dom::P.say("unable to init arodom here.")
143
+ return
144
+ end
136
145
 
137
146
  # todo: add file permissions to Aro::Dom::ARODOME and all WINGS
138
147
  Aro::Dom::P.say(I18n.t("dom.messages.generating_wings"))
139
148
  Aro::Dom::D::LAYOUT.values.each{|w| generate_wing w}
140
- Aos::Db::new
149
+ Aos::Db.load(r_password)
150
+ Aos::You.create(name: r_you, access: :root)
141
151
  Aro::Dom::P.say(I18n.t("dom.messages.initialization_complete", name: Aro::Dom.name))
142
152
  end
143
153
 
data/sys/reiquire.rb CHANGED
@@ -12,6 +12,7 @@
12
12
  require :active_record.to_s
13
13
  require :"active_record/schema_dumper".to_s
14
14
  require :base64.to_s
15
+ require :ffi.to_s
15
16
  require :fileutils.to_s
16
17
  require :"io/console".to_s
17
18
  require :i18n.to_s
@@ -20,18 +21,17 @@ require :"tty-prompt".to_s
20
21
  require :yaml.to_s
21
22
 
22
23
  module Reiquire
24
+ GEM_PATH = Gem.loaded_specs[:aro.to_s]&.full_gem_path
25
+
23
26
  def self.aro
24
- locale_path = Gem.loaded_specs[:aro.to_s]&.full_gem_path
25
- # if CLI::Config.is_test?
26
- # locale_path = Dir.pwd
27
- # end
27
+ # configure I18n
28
28
 
29
- I18n.load_path += Dir["#{locale_path}/locale/*.yml"]
29
+ I18n.load_path += Dir["#{Reiquire::GEM_PATH}/locale/*.yml"]
30
30
  I18n.available_locales = [:en]
31
31
  I18n.default_locale = :en
32
32
 
33
- # require all aro folders
34
- Reiquire::requires [:aro, :cli, :dom, :models, :shr, :views, :aos]
33
+ # require sys folders
34
+ Reiquire::requires([:shr, :aro, :dom, :cli, :aos])
35
35
 
36
36
  # require cli module
37
37
  require_relative :"./cli".to_s
@@ -40,7 +40,7 @@ module Reiquire
40
40
  def self.requires(dirs)
41
41
  dirs.each{|d|
42
42
  Dir[
43
- File.join(__dir__, d.to_s, :"**/**/*.rb".to_s)
43
+ File.join(__dir__, d.to_s, :"**/*.rb".to_s)
44
44
  ].each { |f| require f}
45
45
  }
46
46
  end
@@ -0,0 +1,12 @@
1
+ cmake_minimum_required(VERSION 4.2.0)
2
+ project(crs)
3
+ set(CMAKE_C_STANDARD 99)
4
+
5
+ set(BUILD_SHARED_LIBS ON)
6
+
7
+ # Game Build
8
+ add_library(
9
+ crs
10
+ crs.c)
11
+
12
+
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ gcc -fPIC -c crs.c -o crs.o
4
+ gcc -shared -o libcrs.so crs.o
5
+ chmod +x libcrs.so
@@ -0,0 +1,24 @@
1
+ #include <stdio.h>
2
+
3
+ #if defined(__clang__) || defined(__gcc__)
4
+ #define EXPORT __attribute__((visibility("default")))
5
+ #define IMPORT
6
+ #define INLINE __attribute__((always_inline)) inline
7
+ #define NOINLINE __attribute((noinline))
8
+ #elif defined(_MSC_VER)
9
+ #define EXPORT __declspec(dllexport)
10
+ #define IMPORT __declspec(dllimport)
11
+ #define INLINE __forceinline
12
+ #define _Static_assert static_assert
13
+ #else
14
+ #define EXPORT __attribute__((visibility("default")))
15
+ #define IMPORT
16
+ #define INLINE static inline
17
+ #define NOINLINE
18
+ #endif
19
+
20
+ char* CRS_str = "Hello World\n";
21
+
22
+ EXPORT char* hello() {
23
+ return CRS_str;
24
+ }
Binary file
Binary file
data/sys/shr/prompt.rb CHANGED
@@ -23,11 +23,7 @@ module Aro
23
23
  end
24
24
 
25
25
  def self.should_print?
26
- CLI::Config::BOOLS[:TRUE]
27
- end
28
-
29
- def self.should_print?
30
- CLI::Config::BOOLS[:TRUE]
26
+ Aro::Config::BOOLS[:TRUE]
31
27
  end
32
28
 
33
29
  def self.say(message)
data/sys/shr/t.rb CHANGED
@@ -15,20 +15,26 @@ module Aro
15
15
  RUBY_FACOT = :"Ruby::Facot".to_s
16
16
 
17
17
  def self.is_dev_tarot?
18
- CLI::Config.ivar(:DIMENSION)&.to_sym == CLI::Config::DMS[:DEV_TAROT]
18
+ Aro::T.is_dev_tarot_avail? && (
19
+ Aro::Config.ivar(:DIMENSION)&.to_sym ==
20
+ Aro::Config::DMS[:DEV_TAROT]
21
+ )
22
+ end
23
+
24
+ def self.is_dev_tarot_avail?
25
+ File.exist?(Aro::T::DEV_TAROT_FILE.to_s)
19
26
  end
20
27
 
21
28
  # read dev_tarot
22
29
  def self.read_dev_tarot
23
30
  dt = nil
24
31
  if Aro::T.is_dev_tarot?
25
- if File.exist?(Aro::T::DEV_TAROT_FILE.to_s)
26
- File.open(Aro::T::DEV_TAROT_FILE.to_s, "r"){|dtf| dt = dtf.read(Aro::Mancy::N)}
27
- # VERY IMPORTANT!
28
- Aro::V.say(I18n.t("cli.very_important", dev_tarot: dt))
29
- else
30
- Aro::D.say("error: /dev/tarot not installed.")
31
- end
32
+ # VERY IMPORTANT!
33
+ File.open(Aro::T::DEV_TAROT_FILE.to_s, "r"){|dtf| dt = dtf.read(Aro::Mancy::N)}
34
+ # VERY IMPORTANT!
35
+ Aro::V.say(I18n.t("cli.very_important", dev_tarot: dt))
36
+ else
37
+ Aro::D.say("error: #{Aro::T::DEV_TAROT_FILE.to_s} not installed.")
32
38
  end
33
39
 
34
40
  if dt.nil?
data/sys/shr/version.rb CHANGED
@@ -9,6 +9,6 @@
9
9
  =end
10
10
 
11
11
  module Aro
12
- VERSION = :"0.2.0"
12
+ VERSION = :"0.2.2"
13
13
  RELEASE_NOTES = :"this version".to_s + [].join(",")
14
14
  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.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2097i
@@ -169,6 +169,26 @@ dependencies:
169
169
  - - ">="
170
170
  - !ruby/object:Gem::Version
171
171
  version: 0.23.1
172
+ - !ruby/object:Gem::Dependency
173
+ name: ffi
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.17'
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: 1.17.2
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '1.17'
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: 1.17.2
172
192
  description: a cli for tarot.
173
193
  email:
174
194
  - i2097i@hotmail.com
@@ -195,57 +215,74 @@ files:
195
215
  - checksums/aro-0.1.8.gem.sha512
196
216
  - checksums/aro-0.1.9.gem.sha512
197
217
  - checksums/aro-0.2.0.gem.sha512
198
- - db/migrate/1763374647_create_decks.rb
199
- - db/migrate/1763432541_create_logs.rb
200
- - db/migrate/1765148774_create_yous.rb
218
+ - checksums/aro-0.2.1.gem.sha512
219
+ - checksums/aro-0.2.2.gem.sha512
201
220
  - listen.rb
221
+ - locale/en.amg.yml
202
222
  - locale/en.aos.yml
203
223
  - locale/en.cards.yml
204
- - locale/en.cngelog.yml
224
+ - locale/en.data.yml
205
225
  - locale/en.dom.yml
206
226
  - locale/en.usage.yml
207
227
  - locale/en.yml
228
+ - sys/aos/amg.rb
208
229
  - sys/aos/aos.rb
230
+ - sys/aos/data.rb
209
231
  - sys/aos/db.rb
232
+ - sys/aos/db/migrate/1765148774_create_yous.rb
233
+ - sys/aos/db/migrate/1765762724_create_ilibs.rb
234
+ - sys/aos/db/migrate/1765907766_create_ilogs.rb
235
+ - sys/aos/models/ilib.rb
236
+ - sys/aos/models/ilog.rb
237
+ - sys/aos/models/you.rb
210
238
  - sys/aos/s.rb
211
- - sys/aos/views/base.rb
212
- - sys/aos/views/dom.rb
213
- - sys/aos/views/games.rb
214
- - sys/aos/views/games/abpps.rb
215
- - sys/aos/views/games/game.rb
216
- - sys/aos/views/games/hbpps.rb
217
- - sys/aos/views/games/shpps.rb
218
- - sys/aos/views/games/vipps.rb
219
- - sys/aos/views/know.rb
220
- - sys/aos/views/know/library.rb
221
- - sys/aos/views/know/temple.rb
222
- - sys/aos/views/setup.rb
223
- - sys/aos/views/setup/settings.rb
224
- - sys/aos/views/welcome.rb
225
- - sys/aos/views/welcome/waite.rb
226
- - sys/aos/views/welcome/winner.rb
227
- - sys/aos/you.rb
239
+ - sys/aos/vws/base.rb
240
+ - sys/aos/vws/dom.rb
241
+ - sys/aos/vws/games.rb
242
+ - sys/aos/vws/games/abpps.rb
243
+ - sys/aos/vws/games/game.rb
244
+ - sys/aos/vws/games/hbpps.rb
245
+ - sys/aos/vws/games/shpps.rb
246
+ - sys/aos/vws/games/vipps.rb
247
+ - sys/aos/vws/know.rb
248
+ - sys/aos/vws/know/body.rb
249
+ - sys/aos/vws/know/mind.rb
250
+ - sys/aos/vws/know/spirit.rb
251
+ - sys/aos/vws/root.rb
252
+ - sys/aos/vws/root/amg.rb
253
+ - sys/aos/vws/root/config.rb
254
+ - sys/aos/vws/root/data.rb
255
+ - sys/aos/vws/welcome.rb
256
+ - sys/aos/vws/welcome/waite.rb
257
+ - sys/aos/vws/welcome/winner.rb
228
258
  - sys/aro.rb
229
259
  - sys/aro/d.rb
230
260
  - sys/aro/db.rb
261
+ - sys/aro/db/migrate/1763374647_create_tecks.rb
262
+ - sys/aro/db/migrate/1763432541_create_tlogs.rb
231
263
  - sys/aro/mancy.rb
264
+ - sys/aro/models/teck.rb
265
+ - sys/aro/models/tlog.rb
232
266
  - sys/aro/p.rb
233
267
  - sys/aro/r.rb
234
268
  - sys/aro/v.rb
235
269
  - sys/cli.rb
236
- - sys/cli/config.rb
237
270
  - sys/cli/constants.rb
238
271
  - sys/cli/create.rb
239
- - sys/cli/deck.rb
240
272
  - sys/cli/dom.rb
241
273
  - sys/cli/nterface.rb
274
+ - sys/cli/teck.rb
242
275
  - sys/cli/usage.rb
276
+ - sys/dom/config.rb
243
277
  - sys/dom/d.rb
244
278
  - sys/dom/dom.rb
245
279
  - sys/dom/p.rb
246
- - sys/models/deck.rb
247
- - sys/models/log.rb
248
280
  - sys/reiquire.rb
281
+ - sys/shr/ilib/crs/CMakeLists.txt
282
+ - sys/shr/ilib/crs/compile.sh
283
+ - sys/shr/ilib/crs/crs.c
284
+ - sys/shr/ilib/crs/crs.o
285
+ - sys/shr/ilib/crs/libcrs.so
249
286
  - sys/shr/prompt.rb
250
287
  - sys/shr/t.rb
251
288
  - sys/shr/version.rb
@@ -1,20 +0,0 @@
1
- class CreateLogs < ActiveRecord::Migration[8.1]
2
-
3
- def self.up
4
- create_table :logs do |t|
5
- t.string :card_data
6
- t.string :drawn_data
7
-
8
- t.timestamps
9
- end
10
-
11
- add_column :logs, :deck_id, :integer
12
- add_index :logs, :deck_id
13
- end
14
-
15
- def self.down
16
- remove_index :logs, :deck_id
17
- drop_table :logs
18
- end
19
-
20
- end
@@ -1,5 +0,0 @@
1
- # record of changes that could impact old versions
2
- en:
3
- cngelog:
4
- 1765093549_rename_display_column: "rename(ivar): ARO_CONFIG_DISPLAY_COLUMN -> ARO_CONFIG_WIDTH"
5
- 1765094034_add_height_env_var: "add(ivar): ARO_CONFIG_HEIGHT"
@@ -1,166 +0,0 @@
1
- =begin
2
-
3
- views/base.rb
4
-
5
- the base view (abstract).
6
-
7
- by i2097i
8
-
9
- =end
10
-
11
- require :aro.to_s
12
-
13
- module Aos
14
- module Vi
15
- class Base
16
- BAR = :"".to_s
17
- COL_POW = Proc.new{|n| n.pow(Aro::Mancy::S.to_f / Aro::Mancy::OS.to_f).to_i}
18
- MARGIN_V = Aro::Mancy::S
19
- MARGIN_H = Aro::Mancy::S
20
-
21
- def self.show(model)
22
- draw([self.name], model)
23
- end
24
-
25
- def self.get_json(lines, you = nil)
26
- {
27
- body: lines,
28
- you: you&.to_json,
29
- domain: self.get_domain,
30
- clock: self.get_clock,
31
- dimension: self.get_dimension,
32
- dev_tarot: self.get_dt,
33
- }
34
- end
35
-
36
- def self.draw(lines, you = nil)
37
- unless CLI::Config.is_format_text?
38
- Aos::S.say(self.get_json(lines, you))
39
- return true
40
- end
41
-
42
- return false unless lines.kind_of?(Array)
43
-
44
- dc = CLI::Config.display_config
45
- height = dc[:HEIGHT]
46
- width = dc[:WIDTH]
47
-
48
- print_aos_div
49
-
50
- # header
51
- Aro::Mancy::S.times do |i|
52
- Aos::S.say("".center(width, dc[:DIVIDER]))
53
- Aos::S.say("".center(width))
54
- Aos::S.say("\n")
55
- end
56
-
57
- half = ((width - self.name.length) / Aro::Mancy::OS.to_f).ceil
58
- domain = self.get_domain
59
- clock = self.get_clock
60
- Aos::S.say(
61
- (
62
- domain.ljust(half) + self.name.to_s.upcase
63
- ).ljust(width - clock.length) + clock
64
- )
65
-
66
- Aro::Mancy::S.times do
67
- Aos::S.say("".center(width, dc[:DIVIDER]))
68
- end
69
-
70
- # top vertical margin
71
- Aos::Vi::Base::MARGIN_V.times do
72
- Aos::S.say(get_body_line(""))
73
- end
74
-
75
- # yield => print lines
76
- lines.each{|line|
77
- Aos::S.say(get_body_line(line))
78
- }
79
-
80
- # bottom vertical margin
81
- Aos::Vi::Base::MARGIN_V.times do
82
- Aos::S.say("[#{Aos::Os} v#{Aro::VERSION.to_s}]".center(width))
83
- end
84
-
85
- # footer
86
- display_dim = self.get_display_dimension
87
- Aos::S.say(
88
- (
89
- ">[#{domain}]>#{Aos::Os::osify(you&.pwd || Dir.pwd)}"
90
- ).ljust(width - display_dim.length) + display_dim
91
- )
92
-
93
- print_aos_div
94
- # explicitly return true
95
- true
96
- end
97
-
98
- def self.get_display_dimension
99
- "#{self.get_dt.rjust(Aro::Mancy::V)} :<[#{self.get_dimension}]<"
100
- end
101
-
102
- def self.get_dt
103
- Aro::T.read_dev_tarot.strip[Aro::Mancy::S..]
104
- end
105
-
106
- def self.get_dimension
107
- (Aro::T.is_dev_tarot? ? Aro::T::DEV_TAROT : Aro::T::RUBY_FACOT)
108
- end
109
-
110
- def self.get_domain
111
- Aro::Dom.in_arodom? ? Aro::Dom::domain : Aro::Mancy.domain
112
- end
113
-
114
- def self.get_clock
115
- Time.now.strftime(Aos::Os::DATE_FORMAT)
116
- end
117
-
118
- def self.print_aos_div
119
- Aro::Mancy::S.times do
120
- Aos::S.say("\n")
121
- Aos::S.say("".center(CLI::Config.display_config[:WIDTH], "="))
122
- end
123
- end
124
-
125
- def self.viewport_width
126
- dc = CLI::Config.display_config
127
- width = dc[:WIDTH]
128
- bar_width = (Aos::Vi::Base::BAR.length * Aro::Mancy::OS)
129
- h_margin_width = (Aos::Vi::Base::MARGIN_H * Aro::Mancy::OS)
130
-
131
- (width - (bar_width + h_margin_width))
132
- end
133
-
134
- def self.get_body_line(line)
135
- hm = Aos::Vi::Base::MARGIN_H
136
- bar = Aos::Vi::Base::BAR
137
- hm_space = " " * Aos::Vi::Base::MARGIN_H
138
- just = CLI::Config.display_config[:WIDTH] - (hm_space.length + bar.length)
139
- (bar + hm_space + (line || "")).ljust(just) + hm_space + bar
140
- end
141
-
142
- def self.lines_for_cmd(cmd)
143
- just_cmds = Aro::Mancy::NUMERALS[:IX]
144
- cmd_lines = []
145
- key_proc = Proc.new{|k| "$ #{k}"}
146
- desc_proc = Proc.new{|desc| "#{"desc:".rjust(just_cmds)} #{desc}"}
147
- usage_proc = Proc.new{|usage| "#{"usage:".rjust(just_cmds)} #{usage}"}
148
-
149
- cmd_lines << key_proc.call(cmd[:key])
150
- cmd_lines << desc_proc.call(cmd[:description])
151
- cmd_lines << usage_proc.call(cmd[:usage])
152
- (cmd[:cmds] || []).each{|k, v|
153
- cmd_lines << key_proc.call("#{cmd[:key]} #{v[:key]}")
154
- cmd_lines << desc_proc.call(v[:description])
155
- cmd_lines << usage_proc.call(v[:usage])
156
- }
157
-
158
- cmd_lines
159
- end
160
-
161
- def self.debug_log(lines)
162
- Aro::V.say(lines)
163
- end
164
- end
165
- end
166
- end
@@ -1,21 +0,0 @@
1
- =begin
2
-
3
- views/games/abpps.rb
4
-
5
- the apbbs view.
6
-
7
- by i2097i
8
-
9
- =end
10
-
11
- require_relative :"./game".to_s
12
-
13
- module Aos
14
- module Vi
15
- class Abpps < Aos::Vi::Game
16
- def self.show(model)
17
- draw(super, model)
18
- end
19
- end
20
- end
21
- end