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.
- checksums.yaml +4 -4
- data/.gitignore +5 -5
- data/.ruby-version +1 -1
- data/Gemfile.lock +32 -14
- data/aro.gemspec +17 -8
- data/bin/aos +19 -0
- data/bin/aro +24 -24
- data/checksums/aro-0.1.6.gem.sha512 +1 -0
- data/checksums/aro-0.1.7.gem.sha512 +1 -0
- data/checksums/aro-0.1.8.gem.sha512 +1 -0
- data/db/migrate/1763374647_create_decks.rb +3 -0
- data/db/migrate/1763432541_create_logs.rb +1 -0
- data/db/migrate/1765148774_create_yous.rb +19 -0
- data/listen.rb +10 -0
- data/locale/en.aos.yml +27 -0
- data/locale/en.cngelog.yml +5 -0
- data/locale/en.usage.yml +55 -38
- data/locale/en.yml +47 -15
- data/sys/aos/aos.rb +199 -0
- data/sys/aos/db.rb +81 -0
- data/sys/aos/s.rb +25 -0
- data/sys/aos/views/base.rb +139 -0
- data/sys/aos/views/dom.rb +45 -0
- data/sys/aos/views/games/abpps.rb +21 -0
- data/sys/aos/views/games/deck.rb +95 -0
- data/sys/aos/views/games/game.rb +24 -0
- data/sys/aos/views/games/hbpps.rb +21 -0
- data/sys/aos/views/games/shpps.rb +21 -0
- data/sys/aos/views/games/vipps.rb +21 -0
- data/sys/aos/views/games.rb +19 -0
- data/sys/aos/views/know/library.rb +19 -0
- data/sys/aos/views/know/temple.rb +19 -0
- data/sys/aos/views/know.rb +19 -0
- data/sys/aos/views/setup/settings.rb +50 -0
- data/sys/aos/views/setup.rb +19 -0
- data/sys/aos/views/welcome/waite.rb +19 -0
- data/sys/aos/views/welcome/winner.rb +19 -0
- data/sys/aos/views/welcome.rb +19 -0
- data/sys/aos/you.rb +15 -0
- data/sys/aro/d.rb +25 -0
- data/sys/aro/db.rb +89 -0
- data/sys/aro/mancy.rb +114 -0
- data/sys/aro/p.rb +25 -0
- data/sys/aro/r.rb +20 -0
- data/sys/aro/v.rb +24 -0
- data/sys/aro.rb +16 -0
- data/sys/cli/config.rb +582 -0
- data/sys/cli/constants.rb +56 -0
- data/{bin → sys}/cli/create.rb +6 -4
- data/sys/cli/deck.rb +98 -0
- data/sys/cli/dom.rb +37 -0
- data/sys/cli/nterface.rb +31 -0
- data/{bin → sys}/cli/usage.rb +1 -1
- data/sys/cli.rb +26 -0
- data/sys/dom/d.rb +101 -0
- data/sys/dom/dom.rb +161 -0
- data/sys/dom/p.rb +17 -0
- data/sys/models/deck.rb +218 -0
- data/sys/models/log.rb +20 -0
- data/sys/reiquire.rb +45 -0
- data/sys/shr/prompt.rb +37 -0
- data/sys/shr/t.rb +60 -0
- data/sys/shr/version.rb +16 -0
- data/tasks/make.rake +2 -2
- metadata +78 -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/prompt.rb +0 -25
- 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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
views/settings/settings.rb
|
|
4
|
+
|
|
5
|
+
the settings view.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../base".to_s
|
|
12
|
+
|
|
13
|
+
module Aos
|
|
14
|
+
module Vi
|
|
15
|
+
class Settings < Aos::Vi::Base
|
|
16
|
+
def self.show(model)
|
|
17
|
+
just_access = Aro::Mancy::NUMERALS[:VI]
|
|
18
|
+
just_key = Aro::Mancy::NUMERALS[:XXI]
|
|
19
|
+
just_value = Aro::Mancy::NUMERALS[:VI]
|
|
20
|
+
bullet = ":"
|
|
21
|
+
|
|
22
|
+
# print CLI::Config::DEF
|
|
23
|
+
lines = []
|
|
24
|
+
lines << "CLI::Config::DEF:"
|
|
25
|
+
lines << "#{"access".rjust(just_access)}#{bullet} #{"variable_name".ljust(just_key)}=value"
|
|
26
|
+
lines << ""
|
|
27
|
+
CLI::Config::DEF.each{|k, deff|
|
|
28
|
+
val = nil
|
|
29
|
+
|
|
30
|
+
if deff[:access] == CLI::Config::DEF_ACCESS[:READ]
|
|
31
|
+
val = CLI::Config.ovar(k)
|
|
32
|
+
else
|
|
33
|
+
val = CLI::Config.ivar(k)
|
|
34
|
+
k = CLI::Config.ivar_k(k)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
lines << "#{deff[:access].to_s.rjust(just_access)}#{bullet} #{k.to_s.ljust(just_key)}=#{val}"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
# print config commands
|
|
41
|
+
lines << ""
|
|
42
|
+
lines << I18n.t("aos.constants.commands")
|
|
43
|
+
lines += lines_for_cmd(Aos::Os::CMDS[:CONFIG])
|
|
44
|
+
|
|
45
|
+
# draw output
|
|
46
|
+
draw(lines, model)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
data/sys/aos/you.rb
ADDED
data/sys/aro/d.rb
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
d.rb
|
|
4
|
+
|
|
5
|
+
d logger for i2097i.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../shr/prompt".to_s
|
|
12
|
+
|
|
13
|
+
module Aro
|
|
14
|
+
class D < Aro::Prompt
|
|
15
|
+
def self.say(message)
|
|
16
|
+
return unless Aro::D.should_print?
|
|
17
|
+
Aro::P::p.say(">[#{Aro::Mancy::I2097I}]>: #{message}\n")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.should_print?
|
|
21
|
+
Aro::Mancy::ARO_ENV_DEBUG_MODES[Aro::Mancy::O].to_s == ENV[:ARO_ENV.to_s]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
data/sys/aro/db.rb
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
db.rb
|
|
4
|
+
|
|
5
|
+
database for aro room.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
module Aro
|
|
12
|
+
class Db
|
|
13
|
+
DATABASE_YML = :"database.yml"
|
|
14
|
+
SQL_FILE = :"database.sql"
|
|
15
|
+
SCHEMA_FILE = :"schema.rb"
|
|
16
|
+
MIGRATIONS_DIR = :"db/migrate"
|
|
17
|
+
|
|
18
|
+
def initialize
|
|
19
|
+
# ActiveRecord::Base.logger = Logger.new(STDOUT)
|
|
20
|
+
unless Aro::Mancy.is_aro_space?
|
|
21
|
+
Aro::P.say(I18n.t("cli.errors.not_in_aro" , cmd: Aro::Mancy::I2097I))
|
|
22
|
+
return
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
setup_local_aro
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def connect(name)
|
|
29
|
+
ActiveRecord::Base.establish_connection(config)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def config
|
|
33
|
+
@config ||= YAML.load_file(db_config_filepath)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def self.base_aro_dir
|
|
37
|
+
base_aro_file = Aro::Mancy::ARO_FILE.to_s
|
|
38
|
+
CLI::Config.is_test? ? "#{base_aro_file}_test" : base_aro_file
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def db_config_filepath
|
|
42
|
+
File.join(Aro::Db.base_aro_dir, Aro::Db::DATABASE_YML.to_s)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def setup_local_aro
|
|
46
|
+
name = Aro::Mancy.is_aro_space? ? File.read(Aro::Mancy::NAME_FILE.to_s).strip : nil
|
|
47
|
+
return if name.nil?
|
|
48
|
+
|
|
49
|
+
# create local .aro/ directory
|
|
50
|
+
unless File.exist?(Aro::Db.base_aro_dir)
|
|
51
|
+
FileUtils.mkdir(Aro::Db.base_aro_dir)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
unless File.exist?(db_config_filepath)
|
|
55
|
+
# create database config yaml file
|
|
56
|
+
c = {
|
|
57
|
+
adapter: :sqlite3.to_s,
|
|
58
|
+
database: File.join(Aro::Db.base_aro_dir, Aro::Db::SQL_FILE.to_s),
|
|
59
|
+
username: name,
|
|
60
|
+
password: name
|
|
61
|
+
}.to_yaml
|
|
62
|
+
File.open(db_config_filepath, "w") do |file|
|
|
63
|
+
file.write(c)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
connect(name)
|
|
68
|
+
migrate(name)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def migrate(name)
|
|
72
|
+
local_migrate_dir = File.join(Aro::Db.base_aro_dir, Aro::Db::MIGRATIONS_DIR.to_s)
|
|
73
|
+
unless Dir.exist?(local_migrate_dir)
|
|
74
|
+
gem_dir = Dir[Gem.loaded_specs[:aro.to_s]&.full_gem_path || '.'].first
|
|
75
|
+
FileUtils.cp_r(File.join(gem_dir, "db"), Aro::Db::base_aro_dir)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
migration_version = Dir["#{local_migrate_dir}/*.rb"].map{|n|
|
|
79
|
+
Pathname.new(n).basename.to_s.split("_")[0].to_i
|
|
80
|
+
}.max
|
|
81
|
+
ActiveRecord::MigrationContext.new(local_migrate_dir).migrate(migration_version)
|
|
82
|
+
|
|
83
|
+
filename = File.join(Aro::Db.base_aro_dir, Aro::Db::SCHEMA_FILE.to_s)
|
|
84
|
+
File.open(filename, "w+") do |f|
|
|
85
|
+
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection_pool, f)
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
data/sys/aro/mancy.rb
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
aro.rb
|
|
4
|
+
|
|
5
|
+
aro and mancy.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
module Aro
|
|
12
|
+
class Mancy
|
|
13
|
+
include Singleton
|
|
14
|
+
|
|
15
|
+
attr_accessor :game
|
|
16
|
+
|
|
17
|
+
O = 0
|
|
18
|
+
S = 1
|
|
19
|
+
OS = 2
|
|
20
|
+
E = 3
|
|
21
|
+
N = 4
|
|
22
|
+
PS1 = Aro::Mancy.name
|
|
23
|
+
NAME_FILE = :".name"
|
|
24
|
+
ARO_FILE = :".aro"
|
|
25
|
+
I2097I = :i2097i
|
|
26
|
+
YES = :aroyes
|
|
27
|
+
ALL = :all
|
|
28
|
+
|
|
29
|
+
ARO_ENV_DEBUG_MODES = [:development, :test]
|
|
30
|
+
|
|
31
|
+
NUMERALS = {
|
|
32
|
+
O: 0,
|
|
33
|
+
I: 1,
|
|
34
|
+
II: 2,
|
|
35
|
+
III: 3,
|
|
36
|
+
IV: 4,
|
|
37
|
+
V: 5,
|
|
38
|
+
VI: 6,
|
|
39
|
+
VII: 7,
|
|
40
|
+
VIII: 8,
|
|
41
|
+
IX: 9,
|
|
42
|
+
X: 10,
|
|
43
|
+
XI: 11,
|
|
44
|
+
XII: 12,
|
|
45
|
+
XIII: 13,
|
|
46
|
+
XIV: 14,
|
|
47
|
+
XV: 15,
|
|
48
|
+
XVI: 16,
|
|
49
|
+
XVII: 17,
|
|
50
|
+
XVIII: 18,
|
|
51
|
+
XIX: 19,
|
|
52
|
+
XX: 20,
|
|
53
|
+
XXI: 21,
|
|
54
|
+
XXII: 22,
|
|
55
|
+
XXXVII: 37,
|
|
56
|
+
XLII: 42,
|
|
57
|
+
C: 100,
|
|
58
|
+
MMXCVII: Aro::Mancy::I2097I[Aro::Mancy::S..Aro::Mancy::N].to_i,
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
def initialize
|
|
62
|
+
if Aro::Mancy.is_aro_space? && Aro::Mancy.is_initialized?
|
|
63
|
+
Aro::Mancy.init
|
|
64
|
+
self.game = Aro::Deck.current_deck
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def self.game
|
|
69
|
+
Aro::Mancy.instance.game
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def self.create(name)
|
|
73
|
+
return false if Aro::Mancy.is_aro_space? || name.nil?
|
|
74
|
+
|
|
75
|
+
# explicitly only allow String/Symbol types for name
|
|
76
|
+
return false unless name.kind_of?(String) || name.kind_of?(Symbol)
|
|
77
|
+
name = name.to_s.strip
|
|
78
|
+
|
|
79
|
+
# create the new aro directory and database
|
|
80
|
+
if !Dir.exist?(name)
|
|
81
|
+
Aro::P.say(I18n.t("cli.messages.no_decks"))
|
|
82
|
+
FileUtils.mkdir(name)
|
|
83
|
+
else
|
|
84
|
+
return false
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# create name file
|
|
88
|
+
File.open(File.join(name, Aro::Mancy::NAME_FILE.to_s), "w+") do |file|
|
|
89
|
+
file.write(name)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
Dir.chdir(name) do
|
|
93
|
+
Aro::Mancy.init
|
|
94
|
+
end
|
|
95
|
+
return true
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def self.init
|
|
99
|
+
Aro::Db.new
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def self.start
|
|
103
|
+
Aos.start(:aro)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def self.is_initialized?
|
|
107
|
+
Dir.exist?(Aro::Db.base_aro_dir)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def self.is_aro_space?
|
|
111
|
+
File.exist?(Aro::Mancy::NAME_FILE.to_s)
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
data/sys/aro/p.rb
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
p.rb
|
|
4
|
+
|
|
5
|
+
p logger for aro space.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../shr/prompt".to_s
|
|
12
|
+
require_relative :"./r".to_s
|
|
13
|
+
|
|
14
|
+
module Aro
|
|
15
|
+
class P < Aro::Prompt
|
|
16
|
+
def self.say(message)
|
|
17
|
+
if !Aro::Dom.in_arodom? && !Aro::T.is_dev_tarot?
|
|
18
|
+
Aro::R.say(message)
|
|
19
|
+
else
|
|
20
|
+
Aro::P::p.say(">[#{Aro::Mancy::PS1}]>: #{message}")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
data/sys/aro/r.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
r.rb
|
|
4
|
+
|
|
5
|
+
r logger for i2097i.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :"../shr/prompt".to_s
|
|
12
|
+
|
|
13
|
+
module Aro
|
|
14
|
+
class R < Aro::Prompt
|
|
15
|
+
def self.say(message)
|
|
16
|
+
Aro::P::p.say(">[#{Aro::T::RUBY_FACOT}]>: #{message}\n")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
data/sys/aro/v.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
|
|
3
|
+
v.rb
|
|
4
|
+
|
|
5
|
+
v logger for i2097i.
|
|
6
|
+
|
|
7
|
+
by i2097i
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require_relative :d.to_s
|
|
12
|
+
|
|
13
|
+
module Aro
|
|
14
|
+
class V < Aro::D
|
|
15
|
+
def self.say(message)
|
|
16
|
+
return unless Aro::V.should_print?
|
|
17
|
+
Aro::P::p.say(">[VERBOSE]>: #{message}\n")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.should_print?
|
|
21
|
+
CLI::Config.ivar(:VERBOSE).to_s == CLI::Config::BOOLS[:TRUE].to_s && super
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|