Redmineのプラグイン製作

Redmineプラグインで既存のモデルを修正する

投稿日:2014年6月14日 更新日:

プラグイン インターナルを参考にした

Rubyのモジュール

モジュールの使い方を簡単におさらいしておくと捗るかも

モジュールの特徴は2点

  • インスタンスを生成することはできない
  • 継承することはできない

モジュールの用途

  • 名前空間をつくる
  • モジュールのメソッドを、あるクラスのインスタンスメソッドとして取り込む
  • モジュールのメソッドを、あるオブジェクトの特異オブジェクト(クラス・メソッド)として取り込む
  • モジュール関数を定義して使う

モジュールの定義〜module

モジュールの使い方〜include

特異メソッド(クラス・メソッド)としてモジュールを使う〜extend

オブジェクト.extend モジュール名 とすれば特異メソッド、クラス内で、 extend モジュール名 とすればクラス・メソッドになる

その他詳しくはPerfect Rubyの129ページ以下を読む

既存のモデルを拡張するRedmineプラグイン

lib以下にパッチ用のファイルをつくる

モジュールを作ってincludeする

init.rbでrequire_dependencyと書く

ClassMethodsとInstanceMethodsを書く

Railsでは慣例的に次のように書くことが多いみたい
クラス・メソッドはClassMethodsに、インスタンス・メソッドはInstanceMethodsに書く
関連性を書き足す場合は、class_evalを使うみたい
includedはモジュールがインクルードされた後に呼び出されるメソッド

マイグレーションファイルをつくる

rake redmine:plugins:migrate すること

ApplicationHelperの書き換え

alias_method_chainではうまく書き換えられず、Rubyのprependを使った
RedmineでApplicationHelperの既存のメソッドを書き換えるには?

-Redmineのプラグイン製作
-, ,

執筆者:

関連記事

Redmine2.5でプラグイン作成のチュートリアルやってみた 3〜設定

目次1 前回2 init.rb3 設定画面4 値の使い方5 情報 前回 Redmine2.5でプラグイン作成のチュートリアルやってみた Redmine2.5でプラグイン作成のチュートリアルやってみた …

RedmineプラグインにWiki機能をつける

By: Cambodia4kids.org Beth Kanter – CC BY 2.0 目次1 環境2 フォーム3 表示4 プレビュー 環境 Wiki機能というよりは、Redmineの …

Redmine3でのテストあれこれ〜minitest

By: Pedro Ribeiro Simões – CC BY 2.0 目次1 RSpec or Minitest?2 Minitestの基本とか3 Redmine本体のユニットテストを …

Redmineプラグインでマイページにオリジナルのブロックを追加する

目次1 追加方法は簡単2 翻訳3 参考になるプラグイン 追加方法は簡単 app/views/my/blocks以下にパーシャルを作っておいておけばOK www.redmine.org/projects

Selenium IDEからRubyのテストケースを書き出す

By: Kenny Louie – CC BY 2.0 目次1 Selenium IDE2 Selenium IDEのインストール3 Selenium IDEの立ち上げ方4 はじめてのSe …