namespace :tokite do
namespace :ridgepole do def engine_path(file) Tokite::Engine.root.join(file).to_s end def app_path(file) Rails.root.join(file).to_s end def ridgepole_exec(*args) yml = Rails.root.join("config/database.yml").to_s sh "bundle", "exec", "ridgepole", "-c", yml, "-E", Rails.env, *args end desc "Apply Schemafile" task :apply do ridgepole_exec("--file", app_path("schema/Schemafile"), "-a") end desc "Apply Schemafile (dry-run)" task :"dry-run" do ridgepole_exec("--file", app_path("schema/Schemafile"), "-a", "--dry-run") end desc "Install schema" task :install do schema_dir = app_path("schema") tokite_schema_dir = app_path("schema/tokite") mkdir_p(tokite_schema_dir) unless Dir.exist?(tokite_schema_dir) Dir.glob("#{engine_path("schema")}/**/*.schema").each do |src_path| basename = File.basename(src_path) if File.exist?(File.join(tokite_schema_dir, basename)) puts "Skip install schema #{src_path}" else puts "Install schema #{src_path}" cp src_path, tokite_schema_dir cp src_path, schema_dir end end end end namespace :yarn do desc "Install yarn packages" task :install do sh "yarn", "add", "bulma" end end
end