プロジェクト

全般

プロフィール

活動

2018/06/22から2018/07/21まで

2018/07/17

高徹 23:33 機能 #84: 不要ファイルの削除
test/functionals/ にある次の2つのファイル
* glossary_styles_controller_test.rb
* glossray_styles_controller_test.rb
中身はクラス名(ファイル名に基づくため)だけが異なる。後者はスペルミスなので削除すべしと推定。
同ディレクトリにある次のファイル
* term_queries_controller_test.rb
TermQueryというモデルはな...
高橋 徹

2018/07/16

高徹 22:58 機能 #81: Redmine 4.0でglossary pluginを動くようにする
用語のユニットテスト実施メモ
Termのカラムには、created_onとupdated_onがある。
用語を新規作成すると、作成時点での日時が両方のカラムに入る。
用語を編集すると、編集時点の日時がupdated_onに入る。
よって、terms.ymlの有効な定義とするには、created_onとupdated_onの双方に日時の指定要。
高橋 徹
高徹 21:46 機能 #81: Redmine 4.0でglossary pluginを動くようにする
用語のユニットテスト実施メモ
Termクラスではvalidationを次のように指定している。
高橋 徹
高徹 17:12 機能 #81: Redmine 4.0でglossary pluginを動くようにする
ユニットテスト(Model)を実施して問題発見
* app/models/term_category.rb
高橋 徹
高徹 09:24 機能 #81: Redmine 4.0でglossary pluginを動くようにする
テスト実行時に次の警告メッセージが表示されます。 高橋 徹
高徹 17:10 機能 #84 (進行中): 不要ファイルの削除
test/fixtures/にある次の2つのファイル
* glossary_styles.yml
* view_styles.yml
この2つのファイルは中身が同一。テストファイルから参照されているのはglossary_styles.ymlなので、view_styles.ymlは不要ファイルと推定。
高橋 徹
高徹 16:44 機能 #84 (却下): 不要ファイルの削除
不要なファイルがあれば削除する。
調査結果、次のファイルは不要と思われる。
* app/views/glossary_styles
** edit.html.erb
* app/helpers
** term_categories_helper.rb
* test/fixtures/
** view_styles.yml
* test/functionals/
** glossray_styles_controller_test.rb
** ...
高橋 徹
高徹 09:35 機能 #83 (却下): Redmine Glossaryプラグインをリファクタリングする
Redminge GlossaryプラグインのRedmine 4.0(Rails 5.2)対応作業を通じて、今後のメインテナンスを良好にするにはリファクタリングが必要と強く感じた。
* Railsのリソース指向な構造に合わせる
** コントローラーのアクションがルーティングでresources/resourceを使うのに馴染まない
** newやeditのアクションの遷移が独特(new→create、edit→updateとなっていない)
* 命名を一貫させ...
高橋 徹

2018/07/14

高徹 12:44 機能 #81: Redmine 4.0でglossary pluginを動くようにする
Redmine 4以降で動作するプラグインを作る場合、init.rbのrequires_redmineにバージョンを指定することになるが、trunkのredmineは3.4.6のままなので、テスト時にredmineのバージョンを4.0.0に修正したい。
バージョンを定義するファイルを探したところ
* lib/redmine/version.rb にあり
高橋 徹

2018/07/08

高徹 15:46 機能 #81: Redmine 4.0でglossary pluginを動くようにする
テストについても考慮していく必要がある。
まず、現状でテストを実行してみるとどうなるか確認
高橋 徹

2018/07/07

高徹 20:32 機能 #81: Redmine 4.0でglossary pluginを動くようにする
削除のルーティング設定について
もとのroutes.rbには、次のように削除のルーティング設定が記載されている。
高橋 徹
高徹 20:19 機能 #81: Redmine 4.0でglossary pluginを動くようにする
ストロングパラメーターの実装に関して、HTTPリクエストパラメーターを受け取ってカテゴリモデルTermCategoryを生成するのは、教科書的にはTermCategoriesControllerであるが、本プラグインの実装では、GlossaryControllerのadd_term_categoryメソッドで生成している。
GlossaryControllerは肥大化しているので、いずれadd_term_categoryをTermCategoriesControl...
高橋 徹
高徹 17:12 機能 #81: Redmine 4.0でglossary pluginを動くようにする
リンクエラー 高橋 徹
高徹 15:54 機能 #81: Redmine 4.0でglossary pluginを動くようにする
GlossaryControllerのnewメソッドがどのタイミングで呼ばれどのようにふるまうのかが謎。
Ruby on Railsの教科書的な作りでは、
* HTTP Client から new リクエスト(GET)でコントローラーのnewメソッド起動
** コントローラーのnewメソッド内で空のモデルをnew
** new.html.erb テンプレートからフォームを含むHTMLをHTTP Clientに返却
* HTTP Client からモデルリソ...
高橋 徹

2018/07/04

高徹 08:00 機能 #81: Redmine 4.0でglossary pluginを動くようにする
redmine:plugins:migrateタスクを実行するとエラー(プラグインによらず、プラグインがなくても) 高橋 徹

2018/07/01

高徹 20:48 機能 #81: Redmine 4.0でglossary pluginを動くようにする
h4. alias_method_chain を prepend に置き換える
Wiki編集エリアに表示するツールバーは、JavaScriptで記述され、<Redmine基点>/public/javascripts/jstoolbar/ディレクトリ下にファイルが置かれています。このJavaScriptファイルを読み込むタイミングに割り込み、用語マクロを展開するボタンを1つ追加する処理を入れるものです。
JavaScriptを読み込むメソッドはjavascri...
高橋 徹
高徹 17:42 機能 #81: Redmine 4.0でglossary pluginを動くようにする
#81-3 の内容について追加情報
alias_method_chainでやろうとしていることは、wikiツールバーを表示するJavaScriptを読み込むタイミングをインターセプトして用語リンクのマクロを挿入するボタンを追加すること。
JavaScriptの読み込みタイミングは、javascript_include_tagメソッドを引っ掛け、その引数(JavaScriptファイルのパス)がjstoolbar/textileである、すなわちRedmineのpub...
高橋 徹

2018/06/24

高徹 22:53 機能 #75: Redmine Glossary プラグインを一から作成する
h4. functionalテストでplugin_fixturesがエラー
書籍のとおり、プラグインのtest_helper.rb にRedmine::PluginFixturesLoader::included に、ActiveRecord::Fixturesの記述がある場所で
@NameError: uninitialized constant ActiveRecord::Fixtures@
のエラー発生。
ActiveRecord::Fixture...
高橋 徹
高徹 10:52 機能 #75: Redmine Glossary プラグインを一から作成する
h4. テストの実行でnilエラー
まず、プラグイン雛形を生成した環境でテスト用の構築はしていない状況でテストを実行するとエラーとなった。
高橋 徹
 

他の形式にエクスポート: Atom