sankichi92 / livelog Goto Github PK
View Code? Open in Web Editor NEWRuby on Rails application for set list management of a music community
Home Page: https://livelog.ku-unplugged.net/
License: MIT License
Ruby on Rails application for set list management of a music community
Home Page: https://livelog.ku-unplugged.net/
License: MIT License
LiveLog/app/helpers/songs_helper.rb
Line 2 in aa57196
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint
で落ちる。
Just removing coffee-rails
from Gemfile will cause build failures on Heroku.
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
Yarn executable was not detected in the system.
Download Yarn at https://yarnpkg.com/en/docs/install
rake aborted!
LoadError: cannot load such file -- coffee_script
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `block in require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:258:in `load_dependency'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/autoload/coffee_script.rb:1:in `<top (required)>'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `block in require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:258:in `load_dependency'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/coffee_script_processor.rb:15:in `cache_key'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:93:in `processor_cache_key'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:22:in `block in initialize'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:53:in `processor_cache_key'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:102:in `block in processors_cache_keys'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:102:in `map'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:102:in `processors_cache_keys'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/processing.rb:159:in `resolve_processors_cache_key_uri'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets.rb:162:in `block in <module:Sprockets>'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/dependencies.rb:67:in `resolve_dependency'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:23:in `block in initialize'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:59:in `resolve_dependency'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:268:in `block in resolve_dependencies'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:268:in `map'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:268:in `resolve_dependencies'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:55:in `block in load'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:311:in `block in fetch_asset_from_dependency_cache'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:307:in `each'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:307:in `each_with_index'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:307:in `fetch_asset_from_dependency_cache'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in `load'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in `load'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:66:in `find_asset'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:142:in `block in find'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:114:in `block (2 levels) in logical_paths'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:228:in `block in stat_tree'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:212:in `block in stat_directory'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in `each'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in `stat_directory'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:227:in `stat_tree'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in `each'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in `block in logical_paths'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in `each'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in `logical_paths'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:140:in `find'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:185:in `compile'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-3.7.1/lib/rake/sprocketstask.rb:147:in `with_logger'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
/tmp/build_3fd2476f946045315a5a7cdafd088f11/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
!
! Precompiling assets failed.
Running bin/rails tmp:cache:clear
solved this problem on my local environment.
(cf. rails/sprockets#183 (comment))
However, I did't know how to do this on Heroku.
AWS S3 を使う
https://devcenter.heroku.com/articles/s3
Issue 立ててはみるものの相当厳しそう
https://getbootstrap.com/docs/4.0/migration/
やるときは UI の大幅なアップデートと同時で
誘った曲・誘われた曲を識別できる
また,データ分析の際にも便利そう
Song
モデルに original
という boolean のフィールドを追加するConcerns::Song::Searchable
で Elasticsearch にインデックスするようにするSong::SearchQuery
で検索できるようにするshow アクションで .js フォーマットに対応する
Gravatar を使う
ツイッターの「固定されたツイート」的なもの
等を追加する
ul.dropdown-menu
の直下の先頭に view ファイルには書いていない a
タグがなぜか現れてしまっている
雑に書いたままなので更新したい。
入部1年前から8年間のみ閲覧可?
公開されている動画がページングできる程度に増えたらやりたい
そもそも Live List に表示するべきではない?
/Users/miyoshi/.rbenv/shims/bundle exec ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/miyoshi/.rbenv/versions/2.4.1/bin/rspec /Users/miyoshi/Projects/LiveLog/spec/mailers/user_mailer_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter --example UserMailer
Testing started at 0:46 ...
Run options: include {:full_description=>/UserMailer/}
expected "\r\n----==_mimepart_5995ba5196a71_c243fda9543f7c444349\r\nContent-Type: text/plain;\r\n charset=UTF-...2E+PC9wPgoKICA8L2JvZHk+CjwvaHRtbD4K\r\n\r\n----==_mimepart_5995ba5196a71_c243fda9543f7c444349--\r\n" to match "京大 アンプラ太郎"
Diff:
@@ -1,2 +1,39 @@
-京大 アンプラ太郎
+
+----==_mimepart_5995ba5196a71_c243fda9543f7c444349
+Content-Type: text/plain;
+ charset=UTF-8
+Content-Transfer-Encoding: base64
+
+5Lqs5aSn44Ki44Oz44OX44Op44Kw44OJMjAxNuW5tOW6puWFpemDqArkuqzl
+pKcg44Ki44Oz44OX44Op5aSq6YOOIOOBleOCkwoKMjAxNuW5tOW6puWFpemD
+qOOBriDkuqzlpKcg44Ki44Oz44OX44Op5aSq6YOOIOOBleOCk+OBi+OCiSBM
+aXZlTG9nIOOBq+aLm+W+heOBleOCjOOBpuOBhOOBvuOBmeOAggrku6XkuIvj
+ga5VUkzjgYvjgonjgqLjgqvjgqbjg7Pjg4jjga7mnInlirnljJbmiYvntprj
+gY3jgpLooYzjgaPjgabjgY/jgaDjgZXjgYTjgIIKCmh0dHA6Ly9saXZlbG9n
+Lmt1LXVucGx1Z2dlZC5uZXQvbWVtYmVycy8xNjU4L2FjdGl2YXRpb24vZWRp
+dD90PWd6VlUyT1c4M3JJb1RLbEoycEo4TmcKCg==
+
+----==_mimepart_5995ba5196a71_c243fda9543f7c444349
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: base64
+
+PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgaHR0
+cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
+YXJzZXQ9dXRmLTgiIC8+CiAgICA8c3R5bGU+CiAgICAgIC8qIEVtYWlsIHN0
+eWxlcyBuZWVkIHRvIGJlIGlubGluZSAqLwogICAgPC9zdHlsZT4KICA8L2hl
+YWQ+CgogIDxib2R5PgogICAgPHA+CuS6rOWkp+OCouODs+ODl+ODqeOCsOOD
+iTIwMTblubTluqblhaXpg6gKPGJyPgrkuqzlpKcg44Ki44Oz44OX44Op5aSq
+6YOOIOOBleOCkwo8L3A+CjxwPgoyMDE25bm05bqm5YWl6YOo44GuIOS6rOWk
+pyDjgqLjg7Pjg5fjg6nlpKrpg44g44GV44KT44GL44KJCjxhIGhyZWY9Imh0
+dHA6Ly9saXZlbG9nLmt1LXVucGx1Z2dlZC5uZXQvIj5MaXZlTG9nPC9hPgrj
+gavmi5vlvoXjgZXjgozjgabjgYTjgb7jgZnjgIIKPGJyPgrku6XkuIvjga7j
+g6rjg7Pjgq/jgpLjgq/jg6rjg4Pjgq/jgZfjgabjgqLjgqvjgqbjg7Pjg4jj
+ga7mnInlirnljJbmiYvntprjgY3jgpLooYzjgaPjgabjgY/jgaDjgZXjgYTj
+gIIKPC9wPgo8cD48YSBocmVmPSJodHRwOi8vbGl2ZWxvZy5rdS11bnBsdWdn
+ZWQubmV0L21lbWJlcnMvMTY1OC9hY3RpdmF0aW9uL2VkaXQ/dD1nelZVMk9X
+ODNySW9US2xKMnBKOE5nIj7mnInlirnljJbmiYvntprjgY3jgavpgLLjgoA8
+L2E+PC9wPgoKICA8L2JvZHk+CjwvaHRtbD4K
+
+----==_mimepart_5995ba5196a71_c243fda9543f7c444349--
./spec/mailers/user_mailer_spec.rb:17:in `block (3 levels) in <top (required)>'
-e:1:in `load'
-e:1:in `<main>'
Pending: Temporarily skipped with xit
4 examples, 1 failure, 2 passed, 1 pending
Finished in 0.795407 seconds
Process finished with exit code 1
ため, 未来のライブのページについては, 自分が関わっているライブ以外表示されないようにする
YouTube の機能を利用する?
これにより管理者がライブ終了後に一気に曲を入力する必要がなくなる.
また,PA にもフォーマットの整ったメールが送られる.
User.performed_songs
とか?A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.