aro 0.2.0 → 0.2.1
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 +1 -0
- data/Gemfile.lock +3 -2
- data/aro.gemspec +1 -0
- data/bin/aos +2 -2
- data/bin/aro +1 -1
- data/listen.rb +1 -1
- data/locale/en.aos.yml +44 -5
- data/locale/en.dom.yml +2 -2
- data/locale/en.usage.yml +2 -2
- data/locale/en.yml +1 -0
- data/sys/aos/amg.rb +182 -0
- data/sys/aos/aos.rb +144 -63
- data/sys/aos/db/migrate/1765762724_create_libs.rb +22 -0
- data/sys/aos/db.rb +8 -9
- data/sys/aos/{views → vws}/base.rb +64 -61
- data/sys/aos/{views → vws}/dom.rb +6 -9
- data/sys/aos/vws/games/abpps.rb +19 -0
- data/sys/aos/{views → vws}/games/game.rb +16 -15
- data/sys/aos/vws/games/hbpps.rb +19 -0
- data/sys/aos/vws/games/shpps.rb +19 -0
- data/sys/aos/vws/games/vipps.rb +19 -0
- data/sys/aos/{views → vws}/games.rb +3 -3
- data/sys/aos/{views → vws}/know/library.rb +3 -3
- data/sys/aos/{views → vws}/know/temple.rb +3 -3
- data/sys/aos/{views → vws}/know.rb +3 -3
- data/sys/aos/vws/setup/amg.rb +22 -0
- data/sys/aos/vws/setup/config.rb +21 -0
- data/sys/aos/{views → vws}/setup.rb +3 -3
- data/sys/aos/vws/welcome/waite.rb +30 -0
- data/sys/aos/{views → vws}/welcome/winner.rb +3 -3
- data/sys/aos/{views → vws}/welcome.rb +3 -3
- data/sys/aos/you.rb +6 -4
- data/sys/aro/db.rb +6 -5
- data/sys/aro/mancy.rb +1 -0
- data/sys/aro/v.rb +1 -1
- data/sys/cli/deck.rb +9 -4
- data/sys/cli.rb +8 -9
- data/sys/{cli → dom}/config.rb +153 -157
- data/sys/dom/d.rb +10 -5
- data/sys/dom/dom.rb +3 -2
- data/sys/models/deck.rb +13 -18
- data/sys/reiquire.rb +4 -3
- data/sys/shr/lib/crs/CMakeLists.txt +12 -0
- data/sys/shr/lib/crs/compile.sh +5 -0
- data/sys/shr/lib/crs/crs.c +24 -0
- data/sys/shr/lib/crs/crs.o +0 -0
- data/sys/shr/lib/crs/libcrs.so +0 -0
- data/sys/shr/lib/lib.rb +43 -0
- data/sys/shr/prompt.rb +2 -2
- data/sys/shr/t.rb +14 -8
- data/sys/shr/version.rb +1 -1
- metadata +50 -21
- data/sys/aos/views/games/abpps.rb +0 -21
- data/sys/aos/views/games/hbpps.rb +0 -21
- data/sys/aos/views/games/shpps.rb +0 -21
- data/sys/aos/views/games/vipps.rb +0 -21
- data/sys/aos/views/setup/settings.rb +0 -37
- data/sys/aos/views/welcome/waite.rb +0 -19
- /data/{db → sys/aos/db}/migrate/1765148774_create_yous.rb +0 -0
- /data/{db → sys/aro/db}/migrate/1763374647_create_decks.rb +0 -0
- /data/{db → sys/aro/db}/migrate/1763432541_create_logs.rb +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
vws/games/game.rb
|
|
4
4
|
|
|
5
5
|
the game view.
|
|
6
6
|
|
|
@@ -12,8 +12,8 @@ require_relative :"../../../models/deck".to_s
|
|
|
12
12
|
require_relative :"../base".to_s
|
|
13
13
|
|
|
14
14
|
module Aos
|
|
15
|
-
module
|
|
16
|
-
class Game < Aos::
|
|
15
|
+
module Vw
|
|
16
|
+
class Game < Aos::Vw::Base
|
|
17
17
|
|
|
18
18
|
DECK_PARAMS = [
|
|
19
19
|
:deck,
|
|
@@ -22,7 +22,7 @@ module Aos
|
|
|
22
22
|
:order_o,
|
|
23
23
|
]
|
|
24
24
|
|
|
25
|
-
def self.show
|
|
25
|
+
def self.show
|
|
26
26
|
unless Aro::Mancy.game.nil?
|
|
27
27
|
Aro::Mancy.game.show
|
|
28
28
|
return
|
|
@@ -33,19 +33,19 @@ module Aos
|
|
|
33
33
|
lines << I18n.t("aos.views.game.description").center(viewport_width)
|
|
34
34
|
|
|
35
35
|
room_def = Aro::Dom::D::WINGS[:GAMES].values.filter{|gr|
|
|
36
|
-
"#{Aos::
|
|
36
|
+
"#{Aos::Vw.name}::#{gr[:name].to_s.downcase.capitalize}" == self.name
|
|
37
37
|
}.first
|
|
38
38
|
unless room_def.nil?
|
|
39
39
|
lines << I18n.t("aos.views.game.is_the", name: room_def[:name].to_s)
|
|
40
40
|
lines << I18n.t("aos.views.game.designed_for", description: room_def[:description])
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
-
draw(lines
|
|
43
|
+
draw(lines)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def self.show_game(model)
|
|
47
47
|
mk = model.keys
|
|
48
|
-
dp = Aos::
|
|
48
|
+
dp = Aos::Vw::Game::DECK_PARAMS
|
|
49
49
|
return nil unless (mk & dp).count == dp.count
|
|
50
50
|
return nil unless model.values.all?{|v| v != nil}
|
|
51
51
|
|
|
@@ -54,23 +54,24 @@ module Aos
|
|
|
54
54
|
count_n = model[:count_n]
|
|
55
55
|
order_o = model[:order_o]
|
|
56
56
|
|
|
57
|
-
dc =
|
|
57
|
+
dc = Aro::Config.display_configuration
|
|
58
58
|
width = count_n == Aro::Mancy::S ? viewport_width : dc[:WIDTH]
|
|
59
59
|
divider = dc[:DIVIDER] * width
|
|
60
60
|
lines = []
|
|
61
|
+
lines << divider
|
|
61
62
|
lines << "#{deck.name.upcase.center(width)}"
|
|
62
63
|
h_logs.each_with_index{|l, i|
|
|
63
64
|
lines << divider
|
|
64
65
|
lines << ""
|
|
65
|
-
timestamp = l.created_at.strftime(
|
|
66
|
+
timestamp = l.created_at.strftime(Aro::Config::DATE_FORMAT)
|
|
66
67
|
of_text = "#{order_o.to_sym == Aro::Log::ORDERING[:DESC] ? deck.logs.count - i : 1 + i} of #{deck.logs.count}"
|
|
67
68
|
lines << of_text.ljust(width - timestamp.length) + timestamp
|
|
68
69
|
lines << divider
|
|
69
70
|
cards = Base64::decode64(l.card_data).split(Aro::Deck::CARD_DELIM.to_s)
|
|
70
71
|
if !cards.nil? && cards.any?
|
|
71
|
-
lines << ""
|
|
72
|
+
# lines << ""
|
|
72
73
|
lines += self.get_display_for_cards(cards)
|
|
73
|
-
lines << divider
|
|
74
|
+
# lines << divider
|
|
74
75
|
end
|
|
75
76
|
|
|
76
77
|
drawn_cards = Base64::decode64(l.drawn_data).split(Aro::Deck::CARD_DELIM.to_s)
|
|
@@ -82,8 +83,8 @@ module Aos
|
|
|
82
83
|
lines += self.get_display_for_cards(
|
|
83
84
|
drawn_cards
|
|
84
85
|
)
|
|
85
|
-
lines << ""
|
|
86
|
-
lines << divider
|
|
86
|
+
# lines << ""
|
|
87
|
+
# lines << divider
|
|
87
88
|
end
|
|
88
89
|
}
|
|
89
90
|
if count_n == Aro::Mancy::S
|
|
@@ -94,8 +95,8 @@ module Aos
|
|
|
94
95
|
end
|
|
95
96
|
|
|
96
97
|
def self.get_display_for_cards(input = [])
|
|
97
|
-
columns = Aos::
|
|
98
|
-
|
|
98
|
+
columns = Aos::Vw::Base::COL_POW.call(
|
|
99
|
+
Aro::Config.display_configuration[:WIDTH].to_i
|
|
99
100
|
)
|
|
100
101
|
lines = []
|
|
101
102
|
return lines unless input.any?
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
vws/know/library.rb
|
|
4
4
|
|
|
5
5
|
the library view.
|
|
6
6
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
require_relative :"../base".to_s
|
|
12
12
|
|
|
13
13
|
module Aos
|
|
14
|
-
module
|
|
15
|
-
class Library < Aos::
|
|
14
|
+
module Vw
|
|
15
|
+
class Library < Aos::Vw::Base
|
|
16
16
|
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
vws/know/temple.rb
|
|
4
4
|
|
|
5
5
|
the temple view.
|
|
6
6
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
require_relative :"../base".to_s
|
|
12
12
|
|
|
13
13
|
module Aos
|
|
14
|
-
module
|
|
15
|
-
class Temple < Aos::
|
|
14
|
+
module Vw
|
|
15
|
+
class Temple < Aos::Vw::Base
|
|
16
16
|
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
vws/setup/amg.rb
|
|
4
|
+
|
|
5
|
+
the amg view.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../base".to_s
|
|
12
|
+
|
|
13
|
+
module Aos
|
|
14
|
+
module Vw
|
|
15
|
+
class Amg < Aos::Vw::Base
|
|
16
|
+
def self.show
|
|
17
|
+
# draw output
|
|
18
|
+
draw(Aos::Amg.instance.display_lines)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
vws/setup/config.rb
|
|
4
|
+
|
|
5
|
+
the config view.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../base".to_s
|
|
12
|
+
|
|
13
|
+
module Aos
|
|
14
|
+
module Vw
|
|
15
|
+
class Config < Aos::Vw::Base
|
|
16
|
+
def self.show
|
|
17
|
+
draw(Aro::Config.instance.display_lines)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
vws/welcome/waite.rb
|
|
4
|
+
|
|
5
|
+
the welcome waite view.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../base".to_s
|
|
12
|
+
|
|
13
|
+
module Aos
|
|
14
|
+
module Vw
|
|
15
|
+
class Waite < Aos::Vw::Base
|
|
16
|
+
def self.show
|
|
17
|
+
# print all commands
|
|
18
|
+
lines = []
|
|
19
|
+
lines << ""
|
|
20
|
+
lines << I18n.t("aos.constants.commands")
|
|
21
|
+
Aos::Os::CMDS.values.each{|v|
|
|
22
|
+
lines += lines_for_cmd(v)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# draw output
|
|
26
|
+
draw(lines)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
vws/welcome/winner.rb
|
|
4
4
|
|
|
5
5
|
the welcome winner view.
|
|
6
6
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
require_relative :"../base".to_s
|
|
12
12
|
|
|
13
13
|
module Aos
|
|
14
|
-
module
|
|
15
|
-
class Winner < Aos::
|
|
14
|
+
module Vw
|
|
15
|
+
class Winner < Aos::Vw::Base
|
|
16
16
|
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
vws/welcome.rb
|
|
4
4
|
|
|
5
5
|
the welcome view.
|
|
6
6
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
require_relative :"./base".to_s
|
|
12
12
|
|
|
13
13
|
module Aos
|
|
14
|
-
module
|
|
15
|
-
class Welcome < Aos::
|
|
14
|
+
module Vw
|
|
15
|
+
class Welcome < Aos::Vw::Base
|
|
16
16
|
|
|
17
17
|
end
|
|
18
18
|
end
|
data/sys/aos/you.rb
CHANGED
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
module Aos
|
|
12
12
|
class You < ActiveRecord::Base
|
|
13
|
-
|
|
13
|
+
after_update :clear_aos_display
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def clear_aos_display
|
|
18
|
+
Aos::Os.instance.display_lines = [Aos::Os.osify(pwd, true)]
|
|
19
|
+
end
|
|
18
20
|
end
|
|
19
21
|
end
|
data/sys/aro/db.rb
CHANGED
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
module Aro
|
|
12
12
|
class Db
|
|
13
13
|
DATABASE_YML = :"database.yml"
|
|
14
|
-
|
|
15
|
-
SCHEMA_FILE = :"schema.rb"
|
|
14
|
+
GEM_DB_PATH = :"sys/aro/db"
|
|
16
15
|
MIGRATIONS_DIR = :"db/migrate"
|
|
16
|
+
SCHEMA_FILE = :"schema.rb"
|
|
17
|
+
SQL_FILE = :"database.sql"
|
|
17
18
|
|
|
18
19
|
def initialize
|
|
19
20
|
Aro::Db.configure_logger
|
|
@@ -23,7 +24,7 @@ module Aro
|
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
def self.configure_logger
|
|
26
|
-
if
|
|
27
|
+
if Aro::Config.ivar(:LOG_ARO_DB).to_s == Aro::Config::BOOLS[:TRUE].to_s
|
|
27
28
|
ActiveRecord::Base.logger = Logger.new(STDOUT)
|
|
28
29
|
else
|
|
29
30
|
ActiveRecord::Base.logger = nil
|
|
@@ -40,7 +41,7 @@ module Aro
|
|
|
40
41
|
|
|
41
42
|
def self.base_aro_dir
|
|
42
43
|
base_aro_file = Aro::Mancy::ARO_FILE.to_s
|
|
43
|
-
|
|
44
|
+
Aro::Config.is_test? ? "#{base_aro_file}_test" : base_aro_file
|
|
44
45
|
end
|
|
45
46
|
|
|
46
47
|
def db_config_filepath
|
|
@@ -77,7 +78,7 @@ module Aro
|
|
|
77
78
|
local_migrate_dir = File.join(Aro::Db.base_aro_dir, Aro::Db::MIGRATIONS_DIR.to_s)
|
|
78
79
|
unless Dir.exist?(local_migrate_dir)
|
|
79
80
|
gem_dir = Dir[Gem.loaded_specs[:aro.to_s]&.full_gem_path || '.'].first
|
|
80
|
-
FileUtils.cp_r(File.join(gem_dir,
|
|
81
|
+
FileUtils.cp_r(File.join(gem_dir, Aro::Db::GEM_DB_PATH.to_s), Aro::Db::base_aro_dir)
|
|
81
82
|
end
|
|
82
83
|
|
|
83
84
|
migration_version = Dir["#{local_migrate_dir}/*.rb"].map{|n|
|
data/sys/aro/mancy.rb
CHANGED
data/sys/aro/v.rb
CHANGED
data/sys/cli/deck.rb
CHANGED
|
@@ -30,7 +30,7 @@ module CLI
|
|
|
30
30
|
if Aro::Mancy.in_aro?
|
|
31
31
|
Aro::Db.new
|
|
32
32
|
deck = Aro::Deck.make(CLI::ARGV2.to_s)
|
|
33
|
-
Aro::P.say(I18n.t("cli.messages.deck_created_sucessfully", name:
|
|
33
|
+
Aro::P.say(I18n.t("cli.messages.deck_created_sucessfully", name: deck.name))
|
|
34
34
|
Aro::Deck.display_selection_menu
|
|
35
35
|
else
|
|
36
36
|
Aro::P.say(I18n.t("cli.errors.not_in_aro" , cmd: Aro::Mancy::I2097I))
|
|
@@ -50,11 +50,11 @@ module CLI
|
|
|
50
50
|
Aro::Mancy.game.shuffle
|
|
51
51
|
when CLI::CMDS[:DECK][:DRAW]
|
|
52
52
|
Aro::P.say(I18n.t("cli.messages.drawing", name: Aro::Mancy.game.name))
|
|
53
|
-
Aro::P.say(I18n.t("cli.messages.drawing_from_dimension", dimension: "#{
|
|
53
|
+
Aro::P.say(I18n.t("cli.messages.drawing_from_dimension", dimension: "#{Aro::Config.ivar(:DIMENSION)}"))
|
|
54
54
|
Aro::Mancy.game.draw(
|
|
55
55
|
is_dt_dimension: Aro::T::is_dev_tarot?,
|
|
56
|
-
z_max:
|
|
57
|
-
z:
|
|
56
|
+
z_max: Aro::Config.ivar(:Z_MAX).to_i,
|
|
57
|
+
z: Aro::Config.ivar(:Z)
|
|
58
58
|
)
|
|
59
59
|
when CLI::CMDS[:DECK][:REPLACE]
|
|
60
60
|
Aro::P.say(I18n.t("cli.messages.replacing_drawn", name: Aro::Mancy.game.name))
|
|
@@ -75,6 +75,11 @@ module CLI
|
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
Aro::Mancy.game.show(**CLI::shoptions)
|
|
78
|
+
else
|
|
79
|
+
Aro::Db.new
|
|
80
|
+
Aro::Deck.select_deck(
|
|
81
|
+
Aro::Deck.find_by(name: action)
|
|
82
|
+
)
|
|
78
83
|
end
|
|
79
84
|
end
|
|
80
85
|
|
data/sys/cli.rb
CHANGED
|
@@ -9,18 +9,17 @@
|
|
|
9
9
|
=end
|
|
10
10
|
|
|
11
11
|
module CLI
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if CLI::CMDS[:DECK].values.include?(ARGV[0]&.to_sym)
|
|
12
|
+
argv_sanitized = Aos::Os.sanitize_you(ARGV.join(" ")).split(" ")
|
|
13
|
+
|
|
14
|
+
if CLI::CMDS[:DECK].values.include?(argv_sanitized[0]&.to_sym)
|
|
16
15
|
# enable deck shortcut (skip typing deck while in-game)
|
|
17
16
|
ARGV0 = :deck
|
|
18
|
-
ARGV1 =
|
|
19
|
-
ARGV2 =
|
|
17
|
+
ARGV1 = argv_sanitized[0]&.to_sym
|
|
18
|
+
ARGV2 = argv_sanitized[1]&.to_sym
|
|
20
19
|
else
|
|
21
20
|
# default
|
|
22
|
-
ARGV0 =
|
|
23
|
-
ARGV1 =
|
|
24
|
-
ARGV2 =
|
|
21
|
+
ARGV0 = argv_sanitized[0]&.to_sym
|
|
22
|
+
ARGV1 = argv_sanitized[1]&.to_sym
|
|
23
|
+
ARGV2 = argv_sanitized[2]&.to_sym
|
|
25
24
|
end
|
|
26
25
|
end
|