Skip to content

Add bookmark command#131

Merged
Shimoine merged 1 commit into
nomlab:masterfrom
Shimoine:bookmark
May 16, 2025
Merged

Add bookmark command#131
Shimoine merged 1 commit into
nomlab:masterfrom
Shimoine:bookmark

Conversation

@Shimoine
Copy link
Copy Markdown
Contributor

@Shimoine Shimoine commented Apr 19, 2024

概要

bookmark コマンドの追加

コマンドの概要

機能

よく閲覧する URL のブックマークを追加,削除,表示をする.

使用方法

swimmy bookmark と入力すると,入力したユーザの登録しているブックマークを全件表示する.
swimmy bookmark add <URL> <title> と入力すると,URL を title と名付けてブックマークに登録できる.title がない場合,無題として登録される.
swimmy bookmark delete <target>と入力すると,target で指定した番号,タイトル,URL のいずれかでマッチしたブックマークを削除する.

特徴

Sheetq を介して Google Sheets を使用して,ユーザごとにブックマークを管理している.

@Shimoine Shimoine force-pushed the bookmark branch 2 times, most recently from 7248d9a to e17ecf8 Compare May 14, 2024 05:35
@Shimoine Shimoine force-pushed the bookmark branch 2 times, most recently from c3a6d6f to 18c12f2 Compare May 16, 2024 01:48
@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  • メッセージを一度だけSlackに送信するように変更
  • Google Sheetsと通信を行う回数を削減
  • 機能ごとに関数で分割
  • インデントが浅くなるように変更
  • 分岐の多い条件分岐文をswitch文に変更
  • delete関数を1つにまとめるように変更

コードレビューで頂いたアドバイスを基に,コードを修正しました

@Shimoine Shimoine force-pushed the bookmark branch 4 times, most recently from 75aba85 to c251248 Compare May 22, 2024 01:18
@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  • メソッドをservice下に移動
  • コマンドの書式と実行部分の分離
  • ManageBookmarkSheetクラスがシングルトンになるよう変更
  • 不足している改行を追加
  • 不要な改行の削除
  • インデントを2に変更

Slackで頂いたコメントを基に,コードを修正しました

@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  • コマンドが正しくない場合,early return するように変更
  • matchの中の begin rescue を削除
  • helpの [] の使い方が間違っていたため修正
  • add, delete, get 等のメソッドがメッセージの作成まで責任を負い,文字列を返している点を修正
  • delete が削除対象の検索と削除をしていたため,機能を分離
  • add_bookmark などの bookmark を削除
  • ManageBookmarkSheet クラスの削除
  • リソースクラスでタイトルが数字だったときの処理を行うように変更

談話会で頂いたコメントを基に,コードを修正しました

@Shimoine Shimoine force-pushed the bookmark branch 6 times, most recently from abd385f to 711a635 Compare May 31, 2024 08:12
@Shimoine
Copy link
Copy Markdown
Contributor Author

Shimoine commented May 31, 2024

変更点

  • select文を用いて冗長なコードを削減
  • help文を修正
  • statusをactiveに変更
  • activeに直接”true”を代入するのではなく,active=trueのときにvalueの”true”を代入するように変更
  • resorceクラスでtrueとfalseの変換を行うように変更
  • begin rescue文とInteger()を用いて整数か判断していた箇所を,正規表現に変更
  • commandクラスのcase文が1つになるように変更

検討打ち合わせで頂いたコメントを基に,コードを修正しました

@Shimoine Shimoine force-pushed the bookmark branch 3 times, most recently from 4b05fcf to 24fce42 Compare June 6, 2024 01:36
@Shimoine
Copy link
Copy Markdown
Contributor Author

Shimoine commented Jun 6, 2024

変更点

  1. 変数,関数名の変更
  • @bookmark_list -> @bookmark
  • bookmark -> bookmark_entry
  • setInactive -> disable
  • if & nonexeistent? -> unless & exist?
  1. delete をする際,オブジェクトの値を直接編集するのではなく,active を false としたコピーを作成するように変更
  2. search 関数を index によるものと URL,TITLE によるもので分離
  3. @active = (active == "true" || active == true)? true:false の ? 以降を削除
  4. service が command を意識した index の調整をしていたため,command 側で index の調整を行うように変更

談話会で頂いたコメントを基に,コードを修正しました

@Shimoine Shimoine force-pushed the bookmark branch 7 times, most recently from 60352a3 to e6d89ce Compare August 22, 2024 07:41
@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  1. 変数,関数名の変更
  • @bookmark -> @row
  • list -> bookmark
  1. search をする際に,行番号も同時に検索していた箇所を修正し,sheet 情報を取得する際に行番号も取得し,ブックマークと行番号を格納した配列として管理するように変更

  2. 2に伴い search 関数が配列の行番号を扱うことはなく,delete 関数のみ扱うように変更

開発打ち合わせで頂いたコメントを基に,コードを修正しました

@Shimoine Shimoine force-pushed the bookmark branch 2 times, most recently from b944813 to 1e1c802 Compare December 2, 2024 10:52
@Shimoine
Copy link
Copy Markdown
Contributor Author

Shimoine commented Dec 2, 2024

変更点

  1. sheetq の delete_row メソッドを用いて bookmarkdelete するように変更
  1. それに伴い,BookmarkEntryactive を削除
  2. @row_with_row_num BookmarkEntry と行番号の配列として扱っていた箇所について,BookmarkEntry と行番号を要素に持つ RowBookmarkEntry を新たに作成して扱うように変更

@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  1. 1e1c802 で削除していたBookmarkEntryactiveを元に戻した.
  2. BookmarkEntryidを追加した.
  3. deleteをする際,sheetq のget_row_numメソッドでidから行番号を検索し,update_rowメソッドで対象のbookmarkactivefalseにするようにした.
    -nomlab/sheetq@22ffde0

@Shimoine
Copy link
Copy Markdown
Contributor Author

変更点

  1. resource/bookmark.rbid なしの entry とありの entry に分けていたが,1つの entry にし,id はユーザが任意で決めれるようにした.
  2. command/bookmark.rb40行目の引数が間違っていたため修正
  3. service/bookmark.rbBookmarkクラスのinitialize@rowactiveである行の絞り込みまで行っていたが,fetchだけ行うようにし,activeである行の絞り込みは新たに@activeとして定義した

@Shimoine Shimoine merged commit 81d9477 into nomlab:master May 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant