さて、カクテルデータベースの管理機能にまた新しい機構を取り入れたいと思います。
まあ導入したい機能はいくつかあるんですが、欲しいものから順に実装していこう、ということで次は
スキップデータベースというのを定義したいなと。
基本的にうちのデータベースは、現状
9割は他サイトからのスクレイピングで成り立っています。
まあ、バレたら怒られそうな気もしますけど、そもそもカクテルデータベースは既存のレシピの引用から成り立ってて引用もクソもないのと、あと単純に
使いづらいデータベースにしてる方が悪い(暴論)って気持ちもあって、使わせてもらってる、って感じです。
どことは言いませんが、スペルミスとかミスタイプとか多すぎです。データベースとしての体を為してません( ˇ-ˇ )だから俺様が使いやすいように手を加えてやろう、とな^^^^^
ということで、こういうふうにデータを検索していってるワケですが、この画像が示す通り、新しい材料がでてきた時に処理を止めて、手作業で銘柄データとか打ち込んでます。いちいちググって度数とかスペルとか調べてたりします。このへんは僕のオリジナリティですね。いつかその銘柄を手に入れた時のためというのもあります。
ただ、中には
どうあがいても見つからない銘柄だったり
データベースに載せる必要のない終売品だったりした場合、それを含んだデータは採用しないことにしてるんですよね。
そういうカクテルの場合はスキップボタンを押せば解決するんですが、
一回「非採用」と決めたデータは永続的にスキップしてほしいというのが自然な考え方です。
ということで、そういうデータ格納庫を作ってあげましょう、と。
で、どうやって実装していくかですが、プログラムとしてはこういう感じの実装になってます。エラーメッセージを作る段階でAタグも一緒に作っちゃってますね。
よくねえコードだな
Vueファイルのほうにデータ持っていくのが一番きれいだったんでしょうが、たぶん
めんどくさがって手を抜いたなってのがわかるコードですね。こうやってスパゲッティーコードが生まれていくことを実感・・・・・・( ˇ-ˇ )
仕方がないので、ここにスキップデータベースに登録させるリンクを追加してやろうかな、と思います。
ということで追加しました。(あっさり)
あっさりって言いながら2時間ぐらいかかってるんですけどね。主に
迷路のように入り組んだスパゲッティーコードに翻弄されてたって感じです。書き換えるべきポイントを探すために処理を追いまくってたら結構時間溶かしましたね・・・・・・。
まぁ、日記システムみたいに
もう手に負えないみたいな入り組み方はしてないだけマシなんですが、ちょっと疎結合が足らない感じはしますね。まーこのオートインプット周りはだいぶ雑に作ってるのでしゃーないみたいなとこあります。
まあ、ゆーて実装自体はめちゃくちゃ簡単ですね。もしスキップDBに登録済のものが出てきたら例外投げて終わればいいし、スキップリンクをクリックしたらDBに登録したのち同じ処理をやり直すだけですね。
仕組みは単純なんですが、ぼくが自分が定義したVueのルーティングを理解していなかったせいで1時間溶かしました(笑)
ほんとはもっといろいろ手抜きをするための機能の実装アイデアはあるんですが、まあ今のとこはそんなに課題には感じてないし放置でいっかな・・・・・・。
このカクテルDB、はやく使いものになるレベルまで持っていきたいよなあ・・・・・・。