main
parent
686d41feae
commit
a1141f8f97
@ -1 +1 @@
|
||||
3.1
|
||||
3.2
|
||||
|
@ -1,71 +1,37 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (7.0.4)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
ast (2.4.2)
|
||||
concurrent-ruby (1.1.10)
|
||||
csv (3.2.5)
|
||||
ffi (1.15.5)
|
||||
fileutils (1.6.0)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
json (2.6.2)
|
||||
language_server-protocol (3.17.0.1)
|
||||
listen (3.7.1)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
logger (1.5.1)
|
||||
minitest (5.16.3)
|
||||
parallel (1.22.1)
|
||||
parser (3.1.2.1)
|
||||
ast (~> 2.4.1)
|
||||
rainbow (3.1.1)
|
||||
cgi (0.3.6)
|
||||
concurrent-ruby (1.2.2)
|
||||
erb (4.0.2)
|
||||
cgi (>= 0.3.3)
|
||||
minitest (5.18.0)
|
||||
phlex (1.8.1)
|
||||
concurrent-ruby (~> 1.2)
|
||||
erb (>= 4)
|
||||
zeitwerk (~> 2.6)
|
||||
rack (3.0.8)
|
||||
rackup (2.1.0)
|
||||
rack (>= 3)
|
||||
webrick (~> 1.8)
|
||||
rake (13.0.6)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rbs (2.7.0)
|
||||
securerandom (0.2.0)
|
||||
sequel (5.62.0)
|
||||
sqlite3 (1.5.3-arm64-darwin)
|
||||
steep (1.2.1)
|
||||
activesupport (>= 5.1)
|
||||
csv (>= 3.0.9)
|
||||
fileutils (>= 1.1.0)
|
||||
json (>= 2.1.0)
|
||||
language_server-protocol (>= 3.15, < 4.0)
|
||||
listen (~> 3.0)
|
||||
logger (>= 1.3.0)
|
||||
parallel (>= 1.0.0)
|
||||
parser (>= 3.1)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
rbs (>= 2.7.0)
|
||||
securerandom (>= 0.1)
|
||||
strscan (>= 1.0.0)
|
||||
terminal-table (>= 2, < 4)
|
||||
strscan (3.0.4)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
typeprof (0.21.3)
|
||||
rbs (>= 1.8.1)
|
||||
tzinfo (2.0.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
unicode-display_width (2.3.0)
|
||||
roda (3.69.0)
|
||||
rack
|
||||
tilt (2.2.0)
|
||||
webrick (1.8.1)
|
||||
zeitwerk (2.6.8)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-21
|
||||
arm64-darwin-22
|
||||
|
||||
DEPENDENCIES
|
||||
minitest
|
||||
phlex
|
||||
rackup
|
||||
rake
|
||||
sequel
|
||||
sqlite3
|
||||
steep
|
||||
typeprof
|
||||
roda
|
||||
tilt
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.18
|
||||
|
@ -1,27 +1,5 @@
|
||||
require "minitest/test_task"
|
||||
require "sequel"
|
||||
|
||||
task default: :test
|
||||
task :default => :test
|
||||
|
||||
namespace :db do
|
||||
desc "Run migrations"
|
||||
task :migrate, [:version] do |t, args|
|
||||
require "sequel/core"
|
||||
Sequel.extension :migration
|
||||
version = args[:version].to_i if args[:version]
|
||||
Sequel.connect(ENV.fetch("DATABASE_URL")) do |db|
|
||||
Sequel::Migrator.run(db, "db/migrations", target: version)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Minitest::TestTask.create(:test) do |t|
|
||||
t.test_globs = ["test/**/test_*.rb"]
|
||||
end
|
||||
|
||||
namespace :test do
|
||||
desc "Run tests on Ruby file changes"
|
||||
task :watch do
|
||||
sh "fd .*.rb | entr -d rake test"
|
||||
end
|
||||
end
|
||||
Minitest::TestTask.create
|
||||
|
@ -1,27 +0,0 @@
|
||||
# D = Steep::Diagnostic
|
||||
#
|
||||
# target :lib do
|
||||
# signature "sig"
|
||||
#
|
||||
# check "lib" # Directory name
|
||||
# check "Gemfile" # File name
|
||||
# check "app/models/**/*.rb" # Glob
|
||||
# # ignore "lib/templates/*.rb"
|
||||
#
|
||||
# # library "pathname", "set" # Standard libraries
|
||||
# # library "strong_json" # Gems
|
||||
#
|
||||
# # configure_code_diagnostics(D::Ruby.strict) # `strict` diagnostics setting
|
||||
# # configure_code_diagnostics(D::Ruby.lenient) # `lenient` diagnostics setting
|
||||
# # configure_code_diagnostics do |hash| # You can setup everything yourself
|
||||
# # hash[D::Ruby::NoMethod] = :information
|
||||
# # end
|
||||
# end
|
||||
|
||||
# target :test do
|
||||
# signature "sig", "sig-private"
|
||||
#
|
||||
# check "test"
|
||||
#
|
||||
# # library "pathname", "set" # Standard libraries
|
||||
# end
|
@ -0,0 +1,3 @@
|
||||
require "./lib/app"
|
||||
App.freeze unless ENV["RACK_ENV"] == "development"
|
||||
run App.app
|
@ -1,61 +0,0 @@
|
||||
Sequel.migration do
|
||||
change do
|
||||
create_table(:pools) do
|
||||
primary_key :id
|
||||
|
||||
String :name, null: false
|
||||
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
|
||||
create_table(:items) do
|
||||
primary_key :id
|
||||
|
||||
foreign_key :pool_id, :pools
|
||||
|
||||
String :title, null: false
|
||||
String :body, null: false
|
||||
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
|
||||
create_table(:axes) do
|
||||
primary_key :id
|
||||
|
||||
foreign_key :pool_id, :pools
|
||||
|
||||
String :name, null: false
|
||||
String :better_legend, null: false
|
||||
String :worse_legend, null: false
|
||||
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
|
||||
create_table(:ratings) do
|
||||
primary_key :id
|
||||
|
||||
foreign_key :axis_id, :axes
|
||||
foreign_key :winner_id, :items
|
||||
foreign_key :loser_id, :items
|
||||
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
|
||||
create_table(:rankings) do
|
||||
primary_key :id
|
||||
|
||||
foreign_key :axis_id, :axes
|
||||
foreign_key :item_id, :items
|
||||
|
||||
Float :mu, null: false
|
||||
Float :sigma, null: false
|
||||
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,47 @@
|
||||
require "roda"
|
||||
|
||||
class App < Roda
|
||||
plugin :render, engine: :phlex
|
||||
|
||||
route do |r|
|
||||
r.root do
|
||||
render "hello"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
require "tilt/template"
|
||||
require "phlex"
|
||||
|
||||
module Tilt
|
||||
class PhlexTemplate < Template
|
||||
def prepare
|
||||
end
|
||||
|
||||
# def evaluate(scope, locals)
|
||||
# klass = Class.new(Phlex::HTML)
|
||||
# klass.class_eval(data, __FILE__, __LINE__)
|
||||
# klass.new.()
|
||||
# end
|
||||
|
||||
def precompiled_template(*)
|
||||
data
|
||||
end
|
||||
|
||||
def precompiled_preamble(*)
|
||||
<<~RUBY
|
||||
klass = Class.new(Phlex::HTML) do
|
||||
RUBY
|
||||
end
|
||||
|
||||
def precompiled_postamble(*)
|
||||
<<~RUBY
|
||||
end
|
||||
klass.new.call
|
||||
RUBY
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Tilt.register(Tilt::PhlexTemplate, "phlex")
|
@ -1,19 +0,0 @@
|
||||
require "sequel"
|
||||
|
||||
Sequel::Model.plugin :timestamps, update_on_create: true
|
||||
|
||||
module RankKing
|
||||
DB = Sequel.connect(ENV.fetch("DATABASE_URL"))
|
||||
|
||||
class Pool < Sequel::Model
|
||||
end
|
||||
|
||||
class Item < Sequel::Model
|
||||
end
|
||||
|
||||
class Axis < Sequel::Model(:axes)
|
||||
end
|
||||
|
||||
def self.rate(axis:, winner:, loser:)
|
||||
end
|
||||
end
|
File diff suppressed because it is too large
Load Diff
@ -1,20 +0,0 @@
|
||||
require "minitest/autorun"
|
||||
|
||||
require "rank_king"
|
||||
|
||||
module RankKing
|
||||
class TestRankKing < Minitest::Test
|
||||
def test_rank_king
|
||||
pool = Pool.create(name: "Ping Pong")
|
||||
|
||||
alice = Item.create(title: "Alice", body: "")
|
||||
bob = Item.create(title: "Bob", body: "")
|
||||
eve = Item.create(title: "Eve", body: "")
|
||||
mallory = Item.create(title: "Mallory", body: "")
|
||||
|
||||
axis = Axis.create(name: "Rank", better_legend: "Better", worse_legend: "Worse")
|
||||
|
||||
RankKing.rate(axis:, winner: alice, loser: bob)
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,3 @@
|
||||
def template
|
||||
h1 { "👋 Hello World!" }
|
||||
end
|
Loading…
Reference in new issue