Compare commits
346 Commits
master
...
thirteen-w
| Author | SHA1 | Date | |
|---|---|---|---|
| 28be8e980e | |||
| 67680ae03d | |||
| ae5b191c9b | |||
| 11d37f4a34 | |||
| a2f153c47d | |||
| fd852b0619 | |||
| b16813fa84 | |||
| f6047bb928 | |||
| 2d4346e213 | |||
| e7c46bd0bd | |||
| 51501e791d | |||
| e960f7edad | |||
| 4313eed64e | |||
| a110452f1f | |||
| d8f2cb487d | |||
| 9bc12e6d4d | |||
| 22049c2fef | |||
| 5be9321cce | |||
| 7da6b9abbe | |||
| 77f13dc109 | |||
| dac62cbe7b | |||
| 7c032fe2d1 | |||
| c855001f99 | |||
| 6ae784daea | |||
| 38fe7ffcd7 | |||
| e1ba77045f | |||
| 0591c25990 | |||
| 4b0c785a67 | |||
| 5f3ed30d21 | |||
| 3f4d2aa44f | |||
| 87a9b8ad33 | |||
| aa4cc4d150 | |||
| ce269f056f | |||
| f8f7414490 | |||
| 64ebd1c509 | |||
| 991de51e49 | |||
| e34ffb0319 | |||
| 9a9eab0d5b | |||
| 11bc9b8f65 | |||
| e726966e84 | |||
| af9b29d085 | |||
| 528f02b3e3 | |||
| f93b6f0791 | |||
| 2d86b6eaa6 | |||
| 43c6d79acc | |||
| f44f70e405 | |||
| b8ce70bcb6 | |||
| 0cb585575d | |||
| 3f076b852c | |||
| 5bfeec5c6a | |||
| 162e2d792c | |||
| 8ce592b605 | |||
| dc99d2711a | |||
| 88452cc245 | |||
| 529e1156ab | |||
| 15f39249ee | |||
| f27e5a0071 | |||
| 834e3da6a3 | |||
| 1090be55be | |||
| ced73753d8 | |||
| 7328ccf331 | |||
| f366db0ee5 | |||
| 6ff340f58b | |||
| 7f584876ce | |||
| 0b72d1e481 | |||
| 4eec2bd563 | |||
| 3f836a5885 | |||
| cb5c043178 | |||
| 52ea5fecef | |||
| d930c01214 | |||
| 75f53fc0d3 | |||
| e4eb30eaae | |||
| 36eed55122 | |||
| 62bb9ab322 | |||
| 5a61da69d0 | |||
| ce60dd2de3 | |||
| a17c52a635 | |||
| 2d2c19800b | |||
| a1d8e6bdcd | |||
| 74ca0a9082 | |||
| 2736c13aac | |||
| 6bd0e4c1de | |||
| b4d0afe90d | |||
| 5882c82f75 | |||
| 062e704798 | |||
| 972efcdf85 | |||
| 5f472c96b8 | |||
| 71a42f109a | |||
| eec022a47b | |||
| 38e983ce08 | |||
| 57498b7a0e | |||
| 09b9d7ff22 | |||
| 3c95bf4859 | |||
| 0f11f515d2 | |||
| a6f084a372 | |||
| ff3de26b48 | |||
| c45487404f | |||
| ffceb89c50 | |||
| e0112f3dc8 | |||
| 3d841dc768 | |||
| 1b49e53c4f | |||
| 8b0809a79f | |||
| e8ad3dff9e | |||
| ce0d3d71fa | |||
| 44894bf4ff | |||
| 1eefcb36f4 | |||
| b696190181 | |||
| a1d01f0016 | |||
| 21727ed359 | |||
| fc516469dc | |||
| 9d9ac53fcd | |||
| 161ef86384 | |||
| 4bf22922ac | |||
| c282a09b17 | |||
| 73ae43632c | |||
| 1285f77154 | |||
| 2afae71d95 | |||
| acd7580e93 | |||
| 60a8a40006 | |||
| 3e35edc379 | |||
| d510e954e0 | |||
| 1856c4d655 | |||
| 0384b434e9 | |||
| 33155b5cb8 | |||
| e53b74e63f | |||
| 440c4352bb | |||
| f99d223992 | |||
| 78a4b725a6 | |||
| 940bcbfb2f | |||
| 18a12afb78 | |||
| ef0c9e69a0 | |||
| 6edf8288fa | |||
| adca780db7 | |||
| 6d8438c675 | |||
| 72255c0765 | |||
| 623d51d388 | |||
| 45bdab0eaf | |||
| a0e7c000fd | |||
| 1c52f306c1 | |||
| 2c5e4171f0 | |||
| 7ef7e30a94 | |||
| db8165f832 | |||
| 42544fdb4e | |||
| 6629b2015a | |||
| 9bbf18219f | |||
| ff5a7c8e89 | |||
| b0e60d5d91 | |||
| c4a4264c8d | |||
| 303e79b9ca | |||
| 8848d793aa | |||
| 0faf426121 | |||
| 9d3f2fe4c7 | |||
| b81969bc90 | |||
| 35d1953318 | |||
| 79c16cc0e1 | |||
| a6f4c2e3b9 | |||
| d809465af1 | |||
| 9db776bfab | |||
| 7839816706 | |||
| dd8286791b | |||
| 7348a5a1bf | |||
| da84fee07a | |||
| 6887ea8bb8 | |||
| 032d2adbd4 | |||
| 470b04df1a | |||
| a63e062d55 | |||
| 292a0db78d | |||
| 870f288936 | |||
| 7571a78afc | |||
| dfb486943a | |||
| d091b43391 | |||
| 081082e0bf | |||
| 92571fc028 | |||
| 143e711fdd | |||
| e64c03fff2 | |||
| 5e6ecdfbb5 | |||
| 1cf9121f0f | |||
| 1242c02779 | |||
| 39e04014bb | |||
| 2d95cc9e3a | |||
| 379aa46300 | |||
| 7c732ef006 | |||
| efdf8376d0 | |||
| 23201ce02c | |||
| 0e373ddbbf | |||
| e1deb80c6a | |||
| 2f4d0eb34f | |||
| a9c7d3fcad | |||
| d20c4fa7b6 | |||
| 8c91245248 | |||
| 56e447879e | |||
| 5a39ad34d0 | |||
| 71593371ab | |||
| 33672a232a | |||
| 37d2d52b8e | |||
| 54b5a12023 | |||
| 8e7d66a283 | |||
| 00a70cef57 | |||
| 607a5b9ffe | |||
| 329b490489 | |||
| c88e7b3f00 | |||
| 29dc6082cf | |||
| a2b8769e33 | |||
| 165d67c994 | |||
| f69ff9d1b0 | |||
| cc0590a316 | |||
| 2c81f123e8 | |||
| 45d90758a6 | |||
| 96219ff1b4 | |||
| 802b692623 | |||
| 1a1e3d1b2f | |||
| 3f954c16f1 | |||
| 40ec18e635 | |||
| 845f515aea | |||
| 275a6290d2 | |||
| 037dca41d5 | |||
| 6b41b5f2d1 | |||
| 03bbc8e21f | |||
| 4602bd18f2 | |||
| 41847395c9 | |||
| 9024e4134d | |||
| fca53d6575 | |||
| d39af457ac | |||
| 3837e6e38a | |||
| df4b77a1c7 | |||
| e9539adaf0 | |||
| 0549e48eef | |||
| 0dd6c9b09f | |||
| d07eca8cd0 | |||
| c85eba4029 | |||
| f499d1fb04 | |||
| 149a915065 | |||
| 44a540cbe8 | |||
| d53ecef3f4 | |||
| 8a3fa049ae | |||
| e747b1cd41 | |||
| ef46165f7a | |||
| fd8ee73fad | |||
| c7e46ac663 | |||
| 5497d0c874 | |||
| a72b8271cb | |||
| 3b7a38d861 | |||
| 34502f4794 | |||
| 38a1e54cca | |||
| c7f91341f8 | |||
| 5bdd7217c7 | |||
| 6a58d32ffd | |||
| abf0bf4b4b | |||
| bef5af7c5a | |||
| 278c3ec0a6 | |||
| a6e897574d | |||
| 9dafd9374a | |||
| 299e46b1a5 | |||
| 2fbe78202a | |||
| 362361dbc1 | |||
| 5d470b225d | |||
| 95794aeaf6 | |||
| c39aeada85 | |||
| 76c6589388 | |||
| 4eb8ee8bbe | |||
| 08bcaf8fba | |||
| 7b5c67e0e4 | |||
| 1aacaddb92 | |||
| 9e7c901551 | |||
| 8b4ac49144 | |||
| ff00434945 | |||
| e3602f367c | |||
| 42c754263b | |||
| 403f60abca | |||
| 6aec34f42e | |||
| b608565ec5 | |||
| 6812938382 | |||
| 3aaed9002f | |||
| af3a248568 | |||
| 5fa3fe4b35 | |||
| e8b9a90dd0 | |||
| 1804618b77 | |||
| f3ff3a9bfe | |||
| 30e66879ba | |||
| 89f5c84d0a | |||
| bd85e3c5c4 | |||
| 37cccaadda | |||
| 1b4a78c3c9 | |||
| 70fb12719a | |||
| 0bdc7f6481 | |||
| d5ef4d6481 | |||
| d163fa2eaa | |||
| 88c6ca6c57 | |||
| 4261347993 | |||
| 6e877c5171 | |||
| 5a7b46edb3 | |||
| a006df6069 | |||
| 8425c7539e | |||
| 14ad73b764 | |||
| b03c6b8392 | |||
| c21c783a59 | |||
| 847515407f | |||
| 9811857f3b | |||
| d9d8de612b | |||
| 937ed38e80 | |||
| 910d36c1ac | |||
| 42bacea451 | |||
| 8b3a3e0dde | |||
| 6298225be5 | |||
| 577b01a1d9 | |||
| 5abbc66446 | |||
| db5efbe670 | |||
| 794f9dc953 | |||
| d671517b47 | |||
| 919e5379f7 | |||
| fad8a9e2c3 | |||
| b665999104 | |||
| 8970379e57 | |||
| 54b65ed212 | |||
| bbfb20a390 | |||
| 00b24af7a2 | |||
| 88da6c0533 | |||
| dfe22f723a | |||
| 758a18df90 | |||
| ca83f75241 | |||
| 1a0a52cfed | |||
| 6f4bc0fcdd | |||
| e6a0214add | |||
| be25ccc8f0 | |||
| 241cc07838 | |||
| 644eeb7ed9 | |||
| 4c9e082122 | |||
| 709415fc8e | |||
| 7a44b21f15 | |||
| d56e663a2c | |||
| 602c3c36f2 | |||
| 6680ae39ed | |||
| b371682c23 | |||
| f8af8ed880 | |||
| 2b81a1f976 | |||
| c2865fb638 | |||
| af24c7f9c9 | |||
| 929185dc2c | |||
| fd5730ceb7 | |||
| fea3e02392 | |||
| 0ae22a7a7f | |||
| dba4e6e871 | |||
| e5145206f8 | |||
| 5987c3caf3 | |||
| a9a9485303 | |||
| 6e39e3031e |
@ -1 +1 @@
|
||||
3.4.3
|
||||
3.2.2
|
||||
|
||||
13
Gemfile
13
Gemfile
@ -1,8 +1,8 @@
|
||||
source 'https://rubygems.org'
|
||||
ruby '3.4.3'
|
||||
gem 'rails', '~> 8.0'
|
||||
gem 'redis' #, '~> 4.0'
|
||||
# gem 'bootsnap'
|
||||
ruby '3.2.2'
|
||||
gem 'rails', '~> 7.0'
|
||||
# TODO Upgrade sprockets
|
||||
gem 'redis', '~> 4.0'
|
||||
gem 'sprockets' #, '~> 3.7'
|
||||
gem 'sass-rails' #, '~> 4.0.3'
|
||||
# gem 'uglifier' #, '>= 1.3.0'
|
||||
@ -17,7 +17,7 @@ gem 'devise_invitable'
|
||||
gem 'haml-rails'
|
||||
gem 'high_voltage'
|
||||
gem 'pg'
|
||||
gem 'puma' #, '6'
|
||||
gem 'puma', '6'
|
||||
gem 'pundit'
|
||||
gem 'simple_form'
|
||||
gem 'dotenv-rails'
|
||||
@ -61,8 +61,7 @@ group :development do
|
||||
gem 'guard-ctags-bundler'
|
||||
end
|
||||
group :development, :test do
|
||||
# todo upgrade to factory_bot
|
||||
# gem 'factory_girl_rails'
|
||||
gem 'factory_girl_rails'
|
||||
gem 'faker'
|
||||
gem 'pry-rails'
|
||||
gem 'pry-rescue'
|
||||
|
||||
473
Gemfile.lock
473
Gemfile.lock
@ -8,111 +8,113 @@ GIT
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actioncable (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
zeitwerk (~> 2.6)
|
||||
actionmailbox (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
mail (>= 2.8.0)
|
||||
actionmailer (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
mail (>= 2.8.0)
|
||||
actionmailbox (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
activejob (= 7.1.2)
|
||||
activerecord (= 7.1.2)
|
||||
activestorage (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
mail (>= 2.7.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
actionmailer (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
actionview (= 7.1.2)
|
||||
activejob (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionpack (7.1.2)
|
||||
actionview (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
nokogiri (>= 1.8.5)
|
||||
racc
|
||||
rack (>= 2.2.4)
|
||||
rack-session (>= 1.0.1)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
useragent (~> 0.16)
|
||||
actiontext (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actiontext (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
activerecord (= 7.1.2)
|
||||
activestorage (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
actionview (7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
activejob (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activejob (7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activerecord (8.0.2)
|
||||
activemodel (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activemodel (7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
activerecord (7.1.2)
|
||||
activemodel (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
timeout (>= 0.4.0)
|
||||
activestorage (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
activestorage (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
activejob (= 7.1.2)
|
||||
activerecord (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
marcel (~> 1.0)
|
||||
activesupport (8.0.2)
|
||||
activesupport (7.1.2)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
connection_pool (>= 2.2.5)
|
||||
drb
|
||||
i18n (>= 1.6, < 2)
|
||||
logger (>= 1.4.2)
|
||||
minitest (>= 5.1)
|
||||
securerandom (>= 0.3)
|
||||
tzinfo (~> 2.0, >= 2.0.5)
|
||||
uri (>= 0.13.1)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
airbrussh (1.5.3)
|
||||
mutex_m
|
||||
tzinfo (~> 2.0)
|
||||
addressable (2.8.5)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
airbrussh (1.5.0)
|
||||
sshkit (>= 1.6.1, != 1.7.0)
|
||||
ast (2.4.3)
|
||||
ast (2.4.2)
|
||||
babel-source (5.8.35)
|
||||
babel-transpiler (0.7.0)
|
||||
babel-source (>= 4.0, < 6)
|
||||
execjs (~> 2.0)
|
||||
base64 (0.2.0)
|
||||
bcrypt (3.1.20)
|
||||
bcrypt_pbkdf (1.1.1)
|
||||
benchmark (0.4.0)
|
||||
bcrypt_pbkdf (1.1.0)
|
||||
better_errors (2.10.1)
|
||||
erubi (>= 1.0.0)
|
||||
rack (>= 0.9.0)
|
||||
rouge (>= 1.0.0)
|
||||
bigdecimal (3.1.9)
|
||||
binding_of_caller (1.0.1)
|
||||
debug_inspector (>= 1.2.0)
|
||||
builder (3.3.0)
|
||||
capistrano (3.19.2)
|
||||
bigdecimal (3.1.4)
|
||||
binding_of_caller (1.0.0)
|
||||
debug_inspector (>= 0.0.1)
|
||||
builder (3.2.4)
|
||||
capistrano (3.18.0)
|
||||
airbrussh (>= 1.0.0)
|
||||
i18n
|
||||
rake (>= 10.0.0)
|
||||
sshkit (>= 1.9.0)
|
||||
capistrano-bundler (2.1.1)
|
||||
capistrano-bundler (2.1.0)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-db-tasks (0.6)
|
||||
capistrano (>= 3.0.0)
|
||||
capistrano-postgresql (6.2.0)
|
||||
capistrano (>= 3.0)
|
||||
sshkit (>= 1.17.0)
|
||||
capistrano-rails (1.7.0)
|
||||
capistrano-rails (1.6.3)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-bundler (>= 1.1, < 3)
|
||||
capistrano-rails-console (2.3.0)
|
||||
@ -121,15 +123,15 @@ GEM
|
||||
capistrano-rbenv (2.2.0)
|
||||
capistrano (~> 3.1)
|
||||
sshkit (~> 1.3)
|
||||
capistrano3-puma (6.0.0)
|
||||
capistrano3-puma (6.0.0.beta.1)
|
||||
capistrano (~> 3.7)
|
||||
capistrano-bundler
|
||||
puma (>= 5.1, < 7.0)
|
||||
capybara (3.40.0)
|
||||
capybara (3.39.2)
|
||||
addressable
|
||||
matrix
|
||||
mini_mime (>= 0.1.3)
|
||||
nokogiri (~> 1.11)
|
||||
nokogiri (~> 1.8)
|
||||
rack (>= 1.6.0)
|
||||
rack-test (>= 0.6.3)
|
||||
regexp_parser (>= 1.5, < 3.0)
|
||||
@ -137,8 +139,6 @@ GEM
|
||||
capybara-screenshot (1.0.26)
|
||||
capybara (>= 1.0, < 4)
|
||||
launchy
|
||||
childprocess (5.1.0)
|
||||
logger (~> 1.5)
|
||||
ci_reporter (2.1.0)
|
||||
builder (>= 2.1.2)
|
||||
rexml
|
||||
@ -153,58 +153,61 @@ GEM
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.12.2)
|
||||
concurrent-ruby (1.3.5)
|
||||
connection_pool (2.5.1)
|
||||
concurrent-ruby (1.2.2)
|
||||
connection_pool (2.4.1)
|
||||
crass (1.0.6)
|
||||
database_cleaner (2.1.0)
|
||||
database_cleaner (2.0.2)
|
||||
database_cleaner-active_record (>= 2, < 3)
|
||||
database_cleaner-active_record (2.2.0)
|
||||
database_cleaner-active_record (2.1.0)
|
||||
activerecord (>= 5.a)
|
||||
database_cleaner-core (~> 2.0.0)
|
||||
database_cleaner-core (2.0.1)
|
||||
date (3.4.1)
|
||||
debug_inspector (1.2.0)
|
||||
devise (4.9.4)
|
||||
date (3.3.4)
|
||||
debug_inspector (1.1.0)
|
||||
devise (4.9.3)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (>= 4.1.0)
|
||||
responders
|
||||
warden (~> 1.2.3)
|
||||
devise_invitable (2.0.10)
|
||||
devise_invitable (2.0.9)
|
||||
actionmailer (>= 5.0)
|
||||
devise (>= 4.6)
|
||||
diff-lcs (1.6.1)
|
||||
docile (1.4.1)
|
||||
dotenv (3.1.8)
|
||||
dotenv-rails (3.1.8)
|
||||
dotenv (= 3.1.8)
|
||||
railties (>= 6.1)
|
||||
drb (2.2.1)
|
||||
diff-lcs (1.5.0)
|
||||
docile (1.4.0)
|
||||
dotenv (2.8.1)
|
||||
dotenv-rails (2.8.1)
|
||||
dotenv (= 2.8.1)
|
||||
railties (>= 3.2)
|
||||
drb (2.2.0)
|
||||
ruby2_keywords
|
||||
ed25519 (1.3.0)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
erubi (1.13.1)
|
||||
erubi (1.12.0)
|
||||
erubis (2.7.0)
|
||||
eventmachine (1.2.7)
|
||||
execjs (2.10.0)
|
||||
faker (3.5.1)
|
||||
execjs (2.9.1)
|
||||
factory_girl (4.9.0)
|
||||
activesupport (>= 3.0.0)
|
||||
factory_girl_rails (4.9.0)
|
||||
factory_girl (~> 4.9.0)
|
||||
railties (>= 3.0.0)
|
||||
faker (3.2.2)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
ffi (1.17.2)
|
||||
ffi (1.17.2-x86_64-linux-gnu)
|
||||
ffi (1.16.3)
|
||||
formatador (1.1.0)
|
||||
friendly_id (5.4.2)
|
||||
activerecord (>= 4.0.0)
|
||||
globalid (1.2.1)
|
||||
activesupport (>= 6.1)
|
||||
guard (2.19.1)
|
||||
guard (2.18.1)
|
||||
formatador (>= 0.2.4)
|
||||
listen (>= 2.7, < 4.0)
|
||||
logger (~> 1.6)
|
||||
lumberjack (>= 1.0.12, < 2.0)
|
||||
nenv (~> 0.1)
|
||||
notiffany (~> 0.0)
|
||||
ostruct (~> 0.6)
|
||||
pry (>= 0.13.0)
|
||||
shellany (~> 0.0)
|
||||
thor (>= 0.18.1)
|
||||
@ -228,7 +231,7 @@ GEM
|
||||
guard (~> 2.1)
|
||||
guard-compat (~> 1.1)
|
||||
rspec (>= 2.99.0, < 4.0)
|
||||
haml (6.3.0)
|
||||
haml (6.2.3)
|
||||
temple (>= 0.8.2)
|
||||
thor
|
||||
tilt
|
||||
@ -237,7 +240,7 @@ GEM
|
||||
activesupport (>= 5.1)
|
||||
haml (>= 4.0.6)
|
||||
railties (>= 5.1)
|
||||
high_voltage (4.0.0)
|
||||
high_voltage (3.1.2)
|
||||
html2haml (2.3.0)
|
||||
erubis (~> 2.7.0)
|
||||
haml (>= 4.0)
|
||||
@ -245,42 +248,37 @@ GEM
|
||||
ruby_parser (~> 3.5)
|
||||
http_parser.rb (0.8.0)
|
||||
hub (1.12.4)
|
||||
i18n (1.14.7)
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
importmap-rails (2.1.0)
|
||||
importmap-rails (1.2.3)
|
||||
actionpack (>= 6.0.0)
|
||||
activesupport (>= 6.0.0)
|
||||
railties (>= 6.0.0)
|
||||
inline_svg (1.10.0)
|
||||
inline_svg (1.9.0)
|
||||
activesupport (>= 3.0)
|
||||
nokogiri (>= 1.6)
|
||||
interception (0.5)
|
||||
io-console (0.8.0)
|
||||
irb (1.15.2)
|
||||
pp (>= 0.6.0)
|
||||
rdoc (>= 4.0.0)
|
||||
reline (>= 0.4.2)
|
||||
jbuilder (2.13.0)
|
||||
io-console (0.6.0)
|
||||
irb (1.10.0)
|
||||
rdoc
|
||||
reline (>= 0.3.8)
|
||||
jbuilder (2.11.5)
|
||||
actionview (>= 5.0.0)
|
||||
activesupport (>= 5.0.0)
|
||||
jquery-rails (4.6.0)
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (7.0.0)
|
||||
jquery-ui-rails (6.0.1)
|
||||
railties (>= 3.2.16)
|
||||
json (2.10.2)
|
||||
language_server-protocol (3.17.0.4)
|
||||
launchy (3.1.1)
|
||||
json (2.7.0)
|
||||
language_server-protocol (3.17.0.3)
|
||||
launchy (2.5.2)
|
||||
addressable (~> 2.8)
|
||||
childprocess (~> 5.0)
|
||||
logger (~> 1.6)
|
||||
lint_roller (1.1.0)
|
||||
listen (3.9.0)
|
||||
listen (3.8.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
logger (1.7.0)
|
||||
loofah (2.24.0)
|
||||
loofah (2.22.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
lumberjack (1.2.10)
|
||||
@ -289,178 +287,167 @@ GEM
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
marcel (1.0.4)
|
||||
marcel (1.0.2)
|
||||
matrix (0.4.2)
|
||||
method_source (1.1.0)
|
||||
method_source (1.0.0)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.8)
|
||||
minitest (5.25.5)
|
||||
mini_portile2 (2.8.5)
|
||||
minitest (5.20.0)
|
||||
multi_json (1.15.0)
|
||||
mutex_m (0.2.0)
|
||||
nenv (0.3.0)
|
||||
net-imap (0.5.7)
|
||||
net-imap (0.4.7)
|
||||
date
|
||||
net-protocol
|
||||
net-pop (0.1.2)
|
||||
net-protocol
|
||||
net-protocol (0.2.2)
|
||||
timeout
|
||||
net-scp (4.1.0)
|
||||
net-scp (4.0.0)
|
||||
net-ssh (>= 2.6.5, < 8.0.0)
|
||||
net-sftp (4.0.0)
|
||||
net-ssh (>= 5.0.0, < 8.0.0)
|
||||
net-smtp (0.5.1)
|
||||
net-smtp (0.4.0)
|
||||
net-protocol
|
||||
net-ssh (7.3.0)
|
||||
nio4r (2.7.4)
|
||||
nokogiri (1.18.8)
|
||||
net-ssh (7.2.0)
|
||||
nio4r (2.7.0)
|
||||
nokogiri (1.15.5)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.18.8-x86_64-linux-gnu)
|
||||
nokogiri (1.15.5-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
notiffany (0.1.3)
|
||||
nenv (~> 0.1)
|
||||
shellany (~> 0.0)
|
||||
orm_adapter (0.5.0)
|
||||
ostruct (0.6.1)
|
||||
parallel (1.27.0)
|
||||
parallel_tests (5.1.0)
|
||||
parallel (1.23.0)
|
||||
parallel_tests (4.3.0)
|
||||
parallel
|
||||
parser (3.3.8.0)
|
||||
parser (3.2.2.4)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
pg (1.5.9)
|
||||
pp (0.6.2)
|
||||
prettyprint
|
||||
prettyprint (0.2.0)
|
||||
prism (1.4.0)
|
||||
pry (0.15.2)
|
||||
pg (1.5.4)
|
||||
pry (0.14.2)
|
||||
coderay (~> 1.1)
|
||||
method_source (~> 1.0)
|
||||
pry-rails (0.3.11)
|
||||
pry (>= 0.13.0)
|
||||
pry-rescue (1.6.0)
|
||||
pry-rails (0.3.9)
|
||||
pry (>= 0.10.4)
|
||||
pry-rescue (1.5.2)
|
||||
interception (>= 0.5)
|
||||
pry (>= 0.12.0)
|
||||
psych (5.2.3)
|
||||
date
|
||||
psych (5.1.1.1)
|
||||
stringio
|
||||
public_suffix (6.0.1)
|
||||
puma (6.6.0)
|
||||
public_suffix (5.0.4)
|
||||
puma (6.0.0)
|
||||
nio4r (~> 2.0)
|
||||
pundit (2.5.0)
|
||||
pundit (2.3.1)
|
||||
activesupport (>= 3.0.0)
|
||||
racc (1.8.1)
|
||||
rack (3.1.13)
|
||||
rack-livereload (0.6.1)
|
||||
rack (>= 3.0, < 3.2)
|
||||
rack-session (2.1.0)
|
||||
base64 (>= 0.1.0)
|
||||
racc (1.7.3)
|
||||
rack (3.0.8)
|
||||
rack-livereload (0.5.1)
|
||||
rack
|
||||
rack-session (2.0.0)
|
||||
rack (>= 3.0.0)
|
||||
rack-test (2.2.0)
|
||||
rack-test (2.1.0)
|
||||
rack (>= 1.3)
|
||||
rackup (2.2.1)
|
||||
rackup (2.1.0)
|
||||
rack (>= 3)
|
||||
rails (8.0.2)
|
||||
actioncable (= 8.0.2)
|
||||
actionmailbox (= 8.0.2)
|
||||
actionmailer (= 8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
actiontext (= 8.0.2)
|
||||
actionview (= 8.0.2)
|
||||
activejob (= 8.0.2)
|
||||
activemodel (= 8.0.2)
|
||||
activerecord (= 8.0.2)
|
||||
activestorage (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
webrick (~> 1.8)
|
||||
rails (7.1.2)
|
||||
actioncable (= 7.1.2)
|
||||
actionmailbox (= 7.1.2)
|
||||
actionmailer (= 7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
actiontext (= 7.1.2)
|
||||
actionview (= 7.1.2)
|
||||
activejob (= 7.1.2)
|
||||
activemodel (= 7.1.2)
|
||||
activerecord (= 7.1.2)
|
||||
activestorage (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 8.0.2)
|
||||
railties (= 7.1.2)
|
||||
rails-dom-testing (2.2.0)
|
||||
activesupport (>= 5.0.0)
|
||||
minitest
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.6.2)
|
||||
rails-html-sanitizer (1.6.0)
|
||||
loofah (~> 2.21)
|
||||
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
||||
nokogiri (~> 1.14)
|
||||
rails_layout (1.0.42)
|
||||
railties (8.0.2)
|
||||
actionpack (= 8.0.2)
|
||||
activesupport (= 8.0.2)
|
||||
irb (~> 1.13)
|
||||
railties (7.1.2)
|
||||
actionpack (= 7.1.2)
|
||||
activesupport (= 7.1.2)
|
||||
irb
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
thor (~> 1.0, >= 1.2.2)
|
||||
zeitwerk (~> 2.6)
|
||||
rainbow (3.1.1)
|
||||
rake (13.2.1)
|
||||
rake (13.1.0)
|
||||
rb-fchange (0.0.6)
|
||||
ffi
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.11.1)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rbnacl (3.4.0)
|
||||
ffi
|
||||
rbnacl-libsodium (1.0.16)
|
||||
rbnacl (>= 3.0.1)
|
||||
rdoc (6.13.1)
|
||||
rdoc (6.6.0)
|
||||
psych (>= 4.0.0)
|
||||
react-rails (3.2.1)
|
||||
react-rails (3.1.1)
|
||||
babel-transpiler (>= 0.7.0)
|
||||
connection_pool
|
||||
execjs
|
||||
railties (>= 3.2)
|
||||
tilt
|
||||
redis (5.4.0)
|
||||
redis-client (>= 0.22.0)
|
||||
redis-client (0.24.0)
|
||||
connection_pool
|
||||
regexp_parser (2.10.0)
|
||||
reline (0.6.1)
|
||||
redis (4.8.1)
|
||||
regexp_parser (2.8.3)
|
||||
reline (0.4.1)
|
||||
io-console (~> 0.5)
|
||||
responders (3.1.1)
|
||||
actionpack (>= 5.2)
|
||||
railties (>= 5.2)
|
||||
rexml (3.4.1)
|
||||
rouge (4.5.1)
|
||||
rspec (3.13.0)
|
||||
rspec-core (~> 3.13.0)
|
||||
rspec-expectations (~> 3.13.0)
|
||||
rspec-mocks (~> 3.13.0)
|
||||
rspec-core (3.13.3)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-expectations (3.13.3)
|
||||
rexml (3.2.6)
|
||||
rouge (4.2.0)
|
||||
rspec (3.12.0)
|
||||
rspec-core (~> 3.12.0)
|
||||
rspec-expectations (~> 3.12.0)
|
||||
rspec-mocks (~> 3.12.0)
|
||||
rspec-core (3.12.2)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-expectations (3.12.3)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-mocks (3.13.2)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-mocks (3.12.6)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-rails (7.1.1)
|
||||
actionpack (>= 7.0)
|
||||
activesupport (>= 7.0)
|
||||
railties (>= 7.0)
|
||||
rspec-core (~> 3.13)
|
||||
rspec-expectations (~> 3.13)
|
||||
rspec-mocks (~> 3.13)
|
||||
rspec-support (~> 3.13)
|
||||
rspec-support (3.13.2)
|
||||
rubocop (1.75.3)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-rails (6.1.0)
|
||||
actionpack (>= 6.1)
|
||||
activesupport (>= 6.1)
|
||||
railties (>= 6.1)
|
||||
rspec-core (~> 3.12)
|
||||
rspec-expectations (~> 3.12)
|
||||
rspec-mocks (~> 3.12)
|
||||
rspec-support (~> 3.12)
|
||||
rspec-support (3.12.1)
|
||||
rubocop (1.58.0)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
language_server-protocol (>= 3.17.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.3.0.2)
|
||||
parser (>= 3.2.2.4)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 2.9.3, < 3.0)
|
||||
rubocop-ast (>= 1.44.0, < 2.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml (>= 3.2.5, < 4.0)
|
||||
rubocop-ast (>= 1.30.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.44.1)
|
||||
parser (>= 3.3.7.2)
|
||||
prism (~> 1.4)
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.30.0)
|
||||
parser (>= 3.2.1.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby_parser (3.21.1)
|
||||
racc (~> 1.5)
|
||||
ruby2_keywords (0.0.5)
|
||||
ruby_parser (3.20.3)
|
||||
sexp_processor (~> 4.16)
|
||||
rubyzip (2.4.1)
|
||||
rubyzip (2.3.2)
|
||||
sass-rails (6.0.0)
|
||||
sassc-rails (~> 2.1, >= 2.1.1)
|
||||
sassc (2.4.0)
|
||||
@ -473,74 +460,65 @@ GEM
|
||||
tilt
|
||||
sdoc (2.6.1)
|
||||
rdoc (>= 5.0)
|
||||
securerandom (0.4.1)
|
||||
selenium-webdriver (4.10.0)
|
||||
rexml (~> 3.2, >= 3.2.5)
|
||||
rubyzip (>= 1.2.2, < 3.0)
|
||||
websocket (~> 1.0)
|
||||
sexp_processor (4.17.3)
|
||||
sexp_processor (4.17.0)
|
||||
shellany (0.0.1)
|
||||
simple_form (5.3.1)
|
||||
simple_form (5.3.0)
|
||||
actionpack (>= 5.2)
|
||||
activemodel (>= 5.2)
|
||||
simplecov (0.22.0)
|
||||
docile (~> 1.1)
|
||||
simplecov-html (~> 0.11)
|
||||
simplecov_json_formatter (~> 0.1)
|
||||
simplecov-html (0.13.1)
|
||||
simplecov-html (0.12.3)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
spring (4.3.0)
|
||||
spring (4.1.3)
|
||||
spring-commands-rspec (1.0.4)
|
||||
spring (>= 0.9.1)
|
||||
sprockets (4.2.2)
|
||||
sprockets (4.2.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
logger
|
||||
rack (>= 2.2.4, < 4)
|
||||
sprockets-rails (3.5.2)
|
||||
actionpack (>= 6.1)
|
||||
activesupport (>= 6.1)
|
||||
sprockets-rails (3.4.2)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
sprockets (>= 3.0.0)
|
||||
sshkit (1.24.0)
|
||||
base64
|
||||
logger
|
||||
sshkit (1.21.6)
|
||||
net-scp (>= 1.1.2)
|
||||
net-sftp (>= 2.1.2)
|
||||
net-ssh (>= 2.8.0)
|
||||
ostruct
|
||||
sshkit-interactive (0.3.0)
|
||||
sshkit (~> 1.12)
|
||||
stimulus-rails (1.3.4)
|
||||
stimulus-rails (1.3.0)
|
||||
railties (>= 6.0.0)
|
||||
stringio (3.1.7)
|
||||
stringio (3.1.0)
|
||||
temple (0.10.3)
|
||||
thor (1.3.2)
|
||||
tilt (2.6.0)
|
||||
timeout (0.4.3)
|
||||
turbo-rails (2.0.13)
|
||||
actionpack (>= 7.1.0)
|
||||
railties (>= 7.1.0)
|
||||
thor (1.3.0)
|
||||
tilt (2.3.0)
|
||||
timeout (0.4.1)
|
||||
turbo-rails (1.5.0)
|
||||
actionpack (>= 6.0.0)
|
||||
activejob (>= 6.0.0)
|
||||
railties (>= 6.0.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
unicode-display_width (3.1.4)
|
||||
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||
unicode-emoji (4.0.4)
|
||||
uri (1.0.3)
|
||||
useragent (0.16.11)
|
||||
unicode-display_width (2.5.0)
|
||||
warden (1.2.9)
|
||||
rack (>= 2.0.9)
|
||||
webdrivers (5.3.1)
|
||||
nokogiri (~> 1.6)
|
||||
rubyzip (>= 1.3.0)
|
||||
selenium-webdriver (~> 4.0, < 4.11)
|
||||
websocket (1.2.11)
|
||||
websocket-driver (0.7.7)
|
||||
base64
|
||||
webrick (1.8.1)
|
||||
websocket (1.2.10)
|
||||
websocket-driver (0.7.6)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.5)
|
||||
will_paginate (4.0.1)
|
||||
will_paginate (4.0.0)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
zeitwerk (2.7.2)
|
||||
zeitwerk (2.6.12)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@ -568,6 +546,7 @@ DEPENDENCIES
|
||||
devise_invitable
|
||||
dotenv-rails
|
||||
ed25519
|
||||
factory_girl_rails
|
||||
faker
|
||||
friendly_id (~> 5.4.0)
|
||||
guard-bundler
|
||||
@ -590,10 +569,10 @@ DEPENDENCIES
|
||||
pg
|
||||
pry-rails
|
||||
pry-rescue
|
||||
puma
|
||||
puma (= 6)
|
||||
pundit
|
||||
rack-livereload
|
||||
rails (~> 8.0)
|
||||
rails (~> 7.0)
|
||||
rails_layout
|
||||
rb-fchange
|
||||
rb-fsevent
|
||||
@ -601,7 +580,7 @@ DEPENDENCIES
|
||||
rbnacl (~> 3.4)
|
||||
rbnacl-libsodium
|
||||
react-rails
|
||||
redis
|
||||
redis (~> 4.0)
|
||||
rspec-rails
|
||||
rubocop
|
||||
sass-rails
|
||||
@ -618,7 +597,7 @@ DEPENDENCIES
|
||||
will_paginate
|
||||
|
||||
RUBY VERSION
|
||||
ruby 3.4.3p32
|
||||
ruby 3.2.2p53
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.22
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
# The game class
|
||||
class Game < ActiveRecord::Base
|
||||
belongs_to :table, optional: true
|
||||
belongs_to :table
|
||||
has_many :seats
|
||||
has_many :players, dependent: :destroy
|
||||
has_many :users, through: :players
|
||||
has_many :player_cards, through: :players
|
||||
has_many :plays, through: :players
|
||||
belongs_to :play_to_beat, optional: true
|
||||
belongs_to :controlling_player, class_name: "Player", foreign_key: "controlling_player_id", optional: true
|
||||
belongs_to :play_to_beat
|
||||
belongs_to :controlling_player, class_name: "Player", foreign_key: "controlling_player_id"
|
||||
accepts_nested_attributes_for :players
|
||||
#validates :title, presence: true
|
||||
after_create :add_table
|
||||
@ -177,7 +177,7 @@ class Game < ActiveRecord::Base
|
||||
@inventory_counts.include? 0
|
||||
end
|
||||
|
||||
# private
|
||||
private
|
||||
|
||||
def add_table
|
||||
self.table ||= Table.create current_game_id: self.id
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Associates users to games
|
||||
class Player < ActiveRecord::Base
|
||||
belongs_to :game
|
||||
belongs_to :user, optional: true
|
||||
belongs_to :user
|
||||
|
||||
has_many :player_cards
|
||||
has_many :plays
|
||||
@ -32,7 +32,7 @@ class Player < ActiveRecord::Base
|
||||
|
||||
def display_name
|
||||
return user.email.split("@")[0] if self.user
|
||||
return "BotPlayer #{self.id}" if self.is_bot?
|
||||
return "BotPlayer" if self.is_bot?
|
||||
return ("Guest" + self.soft_token)[0..9] if self.soft_token
|
||||
return "Empty"
|
||||
end
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
class PlayerCard < ActiveRecord::Base
|
||||
belongs_to :player
|
||||
belongs_to :play, optional: true
|
||||
belongs_to :play
|
||||
|
||||
def to_s
|
||||
# TODO: Shouldn't hard code face cards here
|
||||
|
||||
@ -14,12 +14,12 @@ class Seat < ActiveRecord::Base
|
||||
self.reload
|
||||
if self.player == nil
|
||||
# TODO: Decouple seat from game
|
||||
self.player_id = self.table.current_game.add_player_from_user(current_user).id
|
||||
# self.player_id = self.table.current_game.add_player_from_user(current_user).id
|
||||
end
|
||||
|
||||
self.player.user_id = current_user.id
|
||||
self.player.soft_token = current_user.soft_token
|
||||
self.player.save
|
||||
# self.player.user_id = current_user.id
|
||||
# self.player.soft_token = current_user.soft_token
|
||||
# self.player.save
|
||||
|
||||
self.user_id = current_user.id
|
||||
self.user_soft_token = current_user.soft_token
|
||||
|
||||
@ -6,7 +6,7 @@ class Table < ActiveRecord::Base
|
||||
has_many :users, through: :seats
|
||||
has_many :games
|
||||
has_many :players, through: :games
|
||||
# belongs_to :token
|
||||
belongs_to :token
|
||||
#TODO: Deprecated current_game_id from database.
|
||||
# Instead calculate with self.current_game
|
||||
#
|
||||
@ -14,7 +14,7 @@ class Table < ActiveRecord::Base
|
||||
|
||||
#TODO: Should these be part of Game initialize instead of callback?
|
||||
after_create :add_seats
|
||||
after_create :add_game # TODO decouple game from table
|
||||
# after_create :add_game
|
||||
|
||||
# Returns the newest joinable table or creates a new table if none are found
|
||||
# scope :play_now, lambda { |user|
|
||||
@ -36,8 +36,6 @@ class Table < ActiveRecord::Base
|
||||
|
||||
def add_game
|
||||
self.games.create
|
||||
# game = self.games.new
|
||||
# game.
|
||||
end
|
||||
|
||||
# private
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
class Token < ActiveRecord::Base
|
||||
enum :standard, [:dip20, :icrc1, :unknown]
|
||||
enum standard: [:dip20, :icrc1, :unknown]
|
||||
validates :canister_id, uniqueness: true, allow_nil: true
|
||||
before_create :refresh
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
class User < ActiveRecord::Base
|
||||
enum :role, [:user, :vip, :admin]
|
||||
enum role: [:user, :vip, :admin]
|
||||
after_initialize :set_default_role, if: :new_record?
|
||||
validates :email, presence: true, uniqueness: true
|
||||
validates :soft_token, presence: true, uniqueness: true
|
||||
|
||||
@ -15,11 +15,11 @@ class TablePolicy
|
||||
end
|
||||
|
||||
def create?
|
||||
@current_user.admin? || true
|
||||
@current_user.admin?
|
||||
end
|
||||
|
||||
def new?
|
||||
@current_user.admin? || true
|
||||
@current_user.admin?
|
||||
end
|
||||
|
||||
def edit?
|
||||
@ -36,8 +36,7 @@ class TablePolicy
|
||||
end
|
||||
|
||||
def play_now?
|
||||
return true
|
||||
# @current_user.admin? || @current_user.email == "bort@13.24x7.hk"
|
||||
@current_user.admin? || @current_user.email == "bort@13.24x7.hk"
|
||||
end
|
||||
|
||||
def new_game?
|
||||
|
||||
37
app/views/layouts/_navigation_links.html.erb
Normal file
37
app/views/layouts/_navigation_links.html.erb
Normal file
@ -0,0 +1,37 @@
|
||||
<nav>
|
||||
<ul>
|
||||
<% if current_user.signed_in? %>
|
||||
<li><%= link_to 'My Tendy Zone', root_path, class: "home-link", data: { turbo: false } %></li>
|
||||
<% end %>
|
||||
<li><%= link_to 'Public', '/public', data: { turbo: false } %></li>
|
||||
<li><%= link_to 'Tokens', tokens_path %></li>
|
||||
<li><%= link_to 'Profiles', profiles_path %></li>
|
||||
<li><%= link_to 'Projects', projects_path %></li>
|
||||
<li><%= link_to 'MetaPurse', metapurses_path %></li>
|
||||
<% if policy(:canister).index? %>
|
||||
<li><%= link_to 'Canisters', canisters_path %></li>
|
||||
<% end %>
|
||||
<li><%= link_to 'Doodads', doodads_path, data: { turbo: false } %></li>
|
||||
<% if policy(:bot).index? %>
|
||||
<li><%= link_to 'Bots', bots_path %></li>
|
||||
<% end %>
|
||||
<% if policy(:table).index? %>
|
||||
<li><%= link_to 'Tables', tables_path %></li>
|
||||
<% end %>
|
||||
<% if policy(:room).index? %>
|
||||
<li><%= link_to 'Chat', rooms_path %></li>
|
||||
<% end %>
|
||||
<% if current_user.signed_in? %>
|
||||
<% if current_user.admin? %>
|
||||
<li><%= link_to 'Users', users_path %></li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if current_user.signed_in? %>
|
||||
<li><%= link_to 'My account', edit_user_registration_path %></li>
|
||||
<li><%= link_to 'Sign out', destroy_user_session_path, :method=>'delete' %></li>
|
||||
<% else %>
|
||||
<li><%= link_to 'Sign in', new_user_session_path %></li>
|
||||
<li><%= link_to 'Sign up', new_user_registration_path %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</nav>
|
||||
@ -1,28 +0,0 @@
|
||||
%nav
|
||||
%ul
|
||||
%li= link_to 'Home', root_path, class: "home-link", data: { turbo: false }
|
||||
-# - if current_user.signed_in?
|
||||
-# %li= link_to 'My Tendy Zone', root_path, class: "home-link", data: { turbo: false }
|
||||
-# %li= link_to 'Public', '/public', data: { turbo: false }
|
||||
-# %li= link_to 'Tokens', tokens_path
|
||||
-# %li= link_to 'Profiles', profiles_path
|
||||
-# %li= link_to 'Projects', projects_path
|
||||
-# %li= link_to 'MetaPurse', metapurses_path
|
||||
-# - if policy(:canister).index?
|
||||
-# %li= link_to 'Canisters', canisters_path
|
||||
-# %li= link_to 'Doodads', doodads_path, data: { turbo: false }
|
||||
-# - if policy(:bot).index?
|
||||
-# %li= link_to 'Bots', bots_path
|
||||
- if policy(:table).index?
|
||||
%li= link_to 'Tables', tables_path
|
||||
-# - if policy(:room).index?
|
||||
-# %li= link_to 'Chat', rooms_path
|
||||
- if current_user.signed_in?
|
||||
- if current_user.admin?
|
||||
%li= link_to 'Users', users_path
|
||||
- if current_user.signed_in?
|
||||
%li= link_to 'My account', edit_user_registration_path
|
||||
%li= link_to 'Sign out', destroy_user_session_path, :method=>'delete'
|
||||
- else
|
||||
%li= link_to 'Sign in', new_user_session_path
|
||||
%li= link_to 'Sign up', new_user_registration_path
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
<header>
|
||||
<%= render "layouts/navigation_links" %>
|
||||
<%# <%= render "layouts/navigation_wallet" %1> %>
|
||||
<%= render "layouts/navigation_wallet" %>
|
||||
</header>
|
||||
|
||||
<%= render "layouts/flashmessages" %>
|
||||
@ -35,9 +35,9 @@
|
||||
<%= yield %>
|
||||
</div>
|
||||
|
||||
<%# <footer> %>
|
||||
<%# <%= render "layouts/footer" %1> %>
|
||||
<%# </footer> %>
|
||||
<footer>
|
||||
<%= render "layouts/footer" %>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -5,15 +5,15 @@
|
||||
None
|
||||
- else
|
||||
|
||||
%div.hand-type= @game.play_to_beat.play.hand_type.capitalize
|
||||
%span= @game.play_to_beat.play.to_s
|
||||
-# - @game.play_to_beat.play.player_cards.each do |card|
|
||||
= card.to_s
|
||||
%div= @game.play_to_beat.play.try("player").try("display_name")
|
||||
%ol#cards-to-beat
|
||||
- @game.play_to_beat.play.player_cards.reverse.each_with_index do |card, index|
|
||||
%li{style: "z-index: #{100 - index};"}
|
||||
-# TODO: Don't hard code face cards here
|
||||
%img{alt: card.rank + ' ' + card.suit,
|
||||
src: "#{image_path('cards/png/' + (card.rank.gsub('J','jack').gsub('Q','queen').gsub('K','king').gsub('A','ace') + '_of_' + card.suit.downcase + 's.png').gsub('11','jack').gsub('12','queen').gsub('13','king').gsub('14','ace').gsub('15','2'))}" }
|
||||
%div.hand-type= @game.play_to_beat.play.hand_type.capitalize
|
||||
%span= @game.play_to_beat.play.to_s
|
||||
-# - @game.play_to_beat.play.player_cards.each do |card|
|
||||
= card.to_s
|
||||
%div= @game.play_to_beat.play.try("player").try("display_name")
|
||||
%ol#cards-to-beat
|
||||
- @game.play_to_beat.play.player_cards.reverse.each_with_index do |card, index|
|
||||
%li{style: "z-index: #{100 - index};"}
|
||||
-# TODO: Don't hard code face cards here
|
||||
%img{alt: card.rank + ' ' + card.suit,
|
||||
src: "#{image_path('cards/png/' + (card.rank.gsub('J','jack').gsub('Q','queen').gsub('K','king').gsub('A','ace') + '_of_' + card.suit.downcase + 's.png').gsub('11','jack').gsub('12','queen').gsub('13','king').gsub('14','ace').gsub('15','2'))}" }
|
||||
|
||||
|
||||
@ -2,15 +2,14 @@
|
||||
- @game = seat.game
|
||||
.seat{class: "position-#{@seats.index(seat) + 1}"}
|
||||
|
||||
-# - if seat.user_soft_token
|
||||
- if seat.player
|
||||
- if seat.user_soft_token
|
||||
-# = button_to remove_player_seat_path(seat), :data => { :confirm => 'Are you sure you want to remove this player?' } do
|
||||
-# TODO: Remove Player button
|
||||
-# = button_to remove_player_seat_path(seat) do
|
||||
- "Remove Player"
|
||||
.user{id: "user-#{seat.user_soft_token}", class: @game.try("controlling_player") == seat.player ? "taking-turn" : "",
|
||||
data: {soft_token: seat.user_soft_token} }
|
||||
.user-name= seat.player.display_name
|
||||
.user-name= seat.user_soft_token[0..3]
|
||||
-# .user-soft-token= seat.user.soft_token
|
||||
-# TODO user principal
|
||||
-# .user-principal= seat.user_soft_token[0..3]
|
||||
@ -20,14 +19,14 @@
|
||||
= seat.player.inventory.count
|
||||
|
||||
-# Show player controls if player is owned by current_user
|
||||
- if seat.player.soft_token == current_user.soft_token
|
||||
- if seat.user.soft_token == current_user.soft_token
|
||||
= form_for(@game,
|
||||
url: play_hand_game_path(@game),
|
||||
method: "post",
|
||||
name: "player_controls_" + seat.player_id.to_s,
|
||||
id: "player_controls_" + seat.player_id.to_s) do |f|
|
||||
name: "player_controls_" + seat.user_id.to_s,
|
||||
id: "player_controls_" + seat.user_id.to_s) do |f|
|
||||
%ul#inventory
|
||||
- seat.player.inventory.each do |card|
|
||||
-# - seat.player.inventory.each do |card|
|
||||
%li
|
||||
%label
|
||||
= check_box_tag 'player_card_ids[]',
|
||||
@ -35,7 +34,7 @@
|
||||
false,
|
||||
data: {value: card.id, card_name: card.rank.gsub('11','J') .gsub('12','Q') .gsub('13','K') .gsub('14','A') .gsub('15','2') + ' ' + card.suit}
|
||||
|
||||
%input{form: "player_controls_" + card.player_id.to_s,
|
||||
-# %input{form: "player_controls_" + card.player_id.to_s,
|
||||
type: "checkbox",
|
||||
name: "player_card_ids[]",
|
||||
data: {value: card.id, card_name: card.rank.gsub('11','J') .gsub('12','Q') .gsub('13','K') .gsub('14','A') .gsub('15','2') + ' ' + card.suit}}
|
||||
@ -53,7 +52,7 @@
|
||||
.seat-controls
|
||||
- if seat.occupied?
|
||||
- if seat.player.try("is_bot?")
|
||||
= button_to remove_bot_seat_path(seat) do
|
||||
-# = button_to remove_bot_seat_path(seat) do
|
||||
- "- Bot"
|
||||
- if seat.occupied_by? current_user
|
||||
-# = button_to stand_seat_path(seat), :data => { :confirm => 'Are you sure you want to leave this seat?' } do
|
||||
@ -67,6 +66,6 @@
|
||||
- else
|
||||
= button_to sit_seat_path(seat) do
|
||||
- "Sit"
|
||||
= button_to add_bot_seat_path(seat) do
|
||||
-# = button_to add_bot_seat_path(seat) do
|
||||
- "+ Bot"
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
-# - if @game.winner_player_id || @game.nil?
|
||||
-# = button_to 'New Game', new_game_table_path(@table)
|
||||
|
||||
- if (@game && !@game.startable?) || !@game
|
||||
- if @game && !@game.startable?
|
||||
#table-controls
|
||||
#newgame= button_to 'New Game', new_game_table_path(@table)
|
||||
|
||||
|
||||
@ -1,12 +1,85 @@
|
||||
#home-headline
|
||||
%h1 Thirteen <br/>Tien Len
|
||||
#home-headline.home-headline
|
||||
- if request.base_url.match(/pin|my|fireside/)
|
||||
%h1 Your own public tendy zone 🍗
|
||||
- else
|
||||
%h1 Web3 Social Gaming <br/>Crypto Rewards
|
||||
|
||||
- if @feed_items.any?
|
||||
.contain
|
||||
%h2 Post feed
|
||||
= render 'shared/feed'
|
||||
.contain
|
||||
#doodads
|
||||
%h2 Doodads
|
||||
- if current_user.signed_in?
|
||||
%p= link_to '+ New Doodad', new_doodad_path
|
||||
= render @doodads
|
||||
|
||||
:javascript
|
||||
function destroyDoodad(doodad_id) {
|
||||
return fetch("/doodads/" + doodad_id, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json"
|
||||
}
|
||||
})
|
||||
.then(response => response)
|
||||
};
|
||||
// var s2 = Swiped.init({ query: '.bar li', list: true, left: 200, right: 200 });
|
||||
var index_doodad_swiped = Swiped.init({ query: '#doodads .doodad',
|
||||
list: true,
|
||||
left: 200,
|
||||
right: 200,
|
||||
onOpen: function() {
|
||||
var doodad_id = this.elem.className.split("-")[1];
|
||||
destroyDoodad(doodad_id)
|
||||
.then(results => console.log(results));
|
||||
this.destroy(true)
|
||||
}
|
||||
});
|
||||
|
||||
-# #canisters
|
||||
= render @canisters
|
||||
- if current_user.signed_in?
|
||||
= link_to '+ Add Existing Canister', new_canister_path
|
||||
|
||||
#main-menu
|
||||
- if policy(:table).play_now?
|
||||
= link_to 'Play Now', play_now_path
|
||||
- else
|
||||
Soon
|
||||
= link_to 'Browse Tables', tables_path
|
||||
= link_to 'Tutorial', tutorial_path
|
||||
= link_to 'About', page_path('about')
|
||||
-# - if policy(:table).play_now?
|
||||
= link_to 'Play 13 Now', play_now_path
|
||||
-# - else
|
||||
Soon
|
||||
-# = link_to 'Browse Tables', tables_path
|
||||
-# = link_to 'Tutorial', tutorial_path
|
||||
-# = link_to 'About', page_path('about')
|
||||
|
||||
-# - if !request.base_url.match(/pin|my|fireside/)
|
||||
- unless current_user.signed_in?
|
||||
.eyecandy.icypepe
|
||||
= image_tag "icy pepe.png", style: 'width: 800px'
|
||||
-# = inline_svg_tag "Icy Pepe.svg"
|
||||
- 5.times do |i|
|
||||
.eyecandy
|
||||
= image_tag "gongo-logo.png"
|
||||
- 10.times do |i|
|
||||
.eyecandy
|
||||
= image_tag "ICYPEES-glass.png"
|
||||
- 20.times do |i|
|
||||
.eyecandy
|
||||
= image_tag "chicken-tenders.png"
|
||||
-# - 10.times do |i|
|
||||
.eyecandy.roundcandy
|
||||
= image_tag "tendy-logo.jpg"
|
||||
- 10.times do |i|
|
||||
.eyecandy
|
||||
= image_tag "ICYPEES-coin.png"
|
||||
|
||||
-# - Dir.glob("app/assets/images/cards/png/**").each do |card_img|
|
||||
- puts card_img
|
||||
= image_tag
|
||||
|
||||
-# %iframe#videoplayer{:allowfullscreen => "", :frameborder => "0", :height => "480", :mozallowfullscreen => "true", :src => "https://archive.org/embed/my-dinner-with-andre-conspiracy-theory-scene-hd", :webkitallowfullscreen => "true", :width => "640", :autostart => "true"}
|
||||
-# %iframe{:allow => "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share", :allowfullscreen => "", :frameborder => "0", :height => "315", :src => "https://www.youtube.com/embed/kK-1axSGkXc", :title => "YouTube video player", :width => "560"}
|
||||
-# %iframe#videoplayer{:allow => "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share", :allowfullscreen => "", :frameborder => "0", :height => "315", :src => "https://www.youtube.com/embed/PhIM5k_m_hs", :title => "YouTube video player", :width => "560"}
|
||||
-# .video-cover
|
||||
-# = video_tag "video.mp4", autoplay: true, id: "videoplayer", loop: true
|
||||
|
||||
@ -13,9 +13,6 @@ module MyTendyZone
|
||||
config.load_defaults 7.0
|
||||
# config.active_support.cache_format_version = 7.0
|
||||
|
||||
# TODO move secrets to credentials
|
||||
config.secrets = config_for(:secrets)
|
||||
|
||||
# Configuration for the application, engines, and railties goes here.
|
||||
#
|
||||
# These settings can be overridden in specific environments using the files
|
||||
|
||||
@ -10,9 +10,7 @@ Devise.setup do |config|
|
||||
# Configure the e-mail address which will be shown in Devise::Mailer,
|
||||
# note that it will be overwritten if you use your own mailer class
|
||||
# with default "from" parameter.
|
||||
# TODO move secrets to credentials
|
||||
# config.mailer_sender = 'no-reply@' + Rails.application.secrets.domain_name
|
||||
config.mailer_sender = 'no-reply@' + Rails.configuration.secrets.domain_name
|
||||
config.mailer_sender = 'no-reply@' + Rails.application.secrets.domain_name
|
||||
|
||||
# Configure the class responsible to send e-mails.
|
||||
# config.mailer = 'Devise::Mailer'
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.2].define(version: 2024_03_25_142502) do
|
||||
ActiveRecord::Schema[7.1].define(version: 2024_03_25_142502) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
@ -79,7 +79,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_03_25_142502) do
|
||||
t.integer "sluggable_id", null: false
|
||||
t.string "sluggable_type", limit: 50
|
||||
t.string "scope"
|
||||
t.datetime "created_at"
|
||||
t.datetime "created_at", precision: nil
|
||||
t.index ["slug", "sluggable_type", "scope"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type_and_scope", unique: true
|
||||
t.index ["slug", "sluggable_type"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type"
|
||||
t.index ["sluggable_type", "sluggable_id"], name: "index_friendly_id_slugs_on_sluggable_type_and_sluggable_id"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user