tormenta20 0.2.7 → 0.2.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/db/schema.sql +2 -1
- data/db/seeds.rb +39 -0
- data/db/tormenta20.sqlite3 +0 -0
- data/src/ruby/tormenta20/seeder.rb +24 -0
- data/src/ruby/tormenta20/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4307d85fbff7bd5b5d717f6cfeb0d31516f11ac0b706954430b22b984f3b0b90
|
|
4
|
+
data.tar.gz: 76ac8b3fc839b7d3eed1f7edcba049b18626bd121b96120af729020cdea4140c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e6cdae56dfe316483ce3a1cc7cd12fabdaa2a51bfbdbae529ffb9afe1f1b260833de4108ef5c6b19628e52a1f8e0fedb42e42738facdbbbcca3cb11b36bb3f2
|
|
7
|
+
data.tar.gz: '0282ce25f0d66e926b1b632a2cfc4c46ba5c4d12788f5559b123d360a9b9df7b7445d739b24c67348a554be443daa337b67c8d63da386be1a98ba345ae86d972'
|
data/db/schema.sql
CHANGED
data/db/seeds.rb
CHANGED
|
@@ -30,6 +30,7 @@ module Tormenta20
|
|
|
30
30
|
import_divindades
|
|
31
31
|
import_poderes_concedidos
|
|
32
32
|
import_poderes_tormenta
|
|
33
|
+
import_poderes_gerais
|
|
33
34
|
import_classes
|
|
34
35
|
import_magias
|
|
35
36
|
import_equipamentos
|
|
@@ -104,6 +105,44 @@ module Tormenta20
|
|
|
104
105
|
)
|
|
105
106
|
end
|
|
106
107
|
|
|
108
|
+
# =======================================================================
|
|
109
|
+
# PODERES GERAIS (combate, destino, magia)
|
|
110
|
+
# =======================================================================
|
|
111
|
+
def import_poderes_gerais
|
|
112
|
+
puts "\nImporting poderes_gerais..."
|
|
113
|
+
|
|
114
|
+
json_dir = File.join(JSON_BASE_PATH, "poderes/poderes_gerais")
|
|
115
|
+
return puts " Directory not found: #{json_dir}" unless Dir.exist?(json_dir)
|
|
116
|
+
|
|
117
|
+
files = Dir.glob(File.join(json_dir, "**", "*.json"))
|
|
118
|
+
puts " Found #{files.size} files"
|
|
119
|
+
|
|
120
|
+
success_count = 0
|
|
121
|
+
error_count = 0
|
|
122
|
+
|
|
123
|
+
files.each_with_index do |file, index|
|
|
124
|
+
data = JSON.parse(File.read(file), symbolize_names: true)
|
|
125
|
+
|
|
126
|
+
record = Models::Poder.find_or_initialize_by(id: data[:id])
|
|
127
|
+
record.name = data[:name]
|
|
128
|
+
record.type = data[:type]
|
|
129
|
+
record.description = data[:description]
|
|
130
|
+
record.effects = data[:effects] || []
|
|
131
|
+
record.costs = data[:costs] || []
|
|
132
|
+
record.prerequisites = data[:requirements] || []
|
|
133
|
+
record.save!
|
|
134
|
+
|
|
135
|
+
success_count += 1
|
|
136
|
+
print "\r Imported: #{index + 1}/#{files.size}" if ((index + 1) % 10).zero?
|
|
137
|
+
rescue StandardError => e
|
|
138
|
+
error_count += 1
|
|
139
|
+
puts "\n Error importing #{File.basename(file)}: #{e.message}"
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
puts "\n Successfully imported #{success_count} poderes_gerais"
|
|
143
|
+
puts " Failed to import #{error_count} poderes_gerais" if error_count.positive?
|
|
144
|
+
end
|
|
145
|
+
|
|
107
146
|
# =======================================================================
|
|
108
147
|
# CLASSES
|
|
109
148
|
# =======================================================================
|
data/db/tormenta20.sqlite3
CHANGED
|
Binary file
|
|
@@ -19,6 +19,7 @@ module Tormenta20
|
|
|
19
19
|
seed_divindades
|
|
20
20
|
seed_poderes_concedidos
|
|
21
21
|
seed_poderes_tormenta
|
|
22
|
+
seed_poderes_gerais
|
|
22
23
|
seed_classes
|
|
23
24
|
seed_habilidades_de_classe
|
|
24
25
|
seed_magias
|
|
@@ -125,6 +126,27 @@ module Tormenta20
|
|
|
125
126
|
)
|
|
126
127
|
end
|
|
127
128
|
|
|
129
|
+
def seed_poderes_gerais
|
|
130
|
+
base_dir = File.join(JSON_BASE_PATH, "poderes", "poderes_gerais")
|
|
131
|
+
return unless Dir.exist?(base_dir)
|
|
132
|
+
|
|
133
|
+
Dir.glob(File.join(base_dir, "**", "*.json")).each do |file|
|
|
134
|
+
data = JSON.parse(File.read(file), symbolize_names: true)
|
|
135
|
+
next if data[:id].nil?
|
|
136
|
+
|
|
137
|
+
record = Models::Poder.find_or_initialize_by(id: data[:id])
|
|
138
|
+
record.name = data[:name] || data[:id].to_s.humanize
|
|
139
|
+
record.type = data[:type] || "poder_geral"
|
|
140
|
+
record.description = data[:description]
|
|
141
|
+
record.effects = data[:effects] || []
|
|
142
|
+
record.costs = data[:costs] || []
|
|
143
|
+
record.prerequisites = data[:requirements] || []
|
|
144
|
+
record.save!
|
|
145
|
+
rescue StandardError
|
|
146
|
+
next
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
128
150
|
def seed_classes
|
|
129
151
|
import_json_files(
|
|
130
152
|
"classes",
|
|
@@ -154,6 +176,7 @@ module Tormenta20
|
|
|
154
176
|
record.class_id = class_id
|
|
155
177
|
record.description = data[:description]
|
|
156
178
|
record.effects = data[:effects] || []
|
|
179
|
+
record.costs = data[:costs] || []
|
|
157
180
|
record.prerequisites = data[:requirements] || []
|
|
158
181
|
record.save!
|
|
159
182
|
rescue StandardError
|
|
@@ -341,3 +364,4 @@ module Tormenta20
|
|
|
341
364
|
end
|
|
342
365
|
end
|
|
343
366
|
end
|
|
367
|
+
|