Mediawiki APIを照会するためのフレームワークを作成しています。私はPage
ウィキの記事を表すクラスを持っています。また、より具体的なメソッド (カテゴリ内のメンバーの数を数えることができるなど) を持つCategory
クラスも持っています。インスタンス化されたオブジェクトが実際に Mediawiki カテゴリ ページを表しているかどうかを判断するには、API にクエリを実行して記事の名前空間を判断します。 Page
Page#category?
Page
class Page
def initialize(title)
# do initialization stuff
end
def category?
# query the API to get the namespace of the page and then...
namespace == CATEGORY_NAMESPACE
end
end
class Category < Page
# ...
end
私がやりたいことは、フレームワークのユーザーが Page オブジェクト (つまり ) を使用して Mediawiki カテゴリをインスタンス化しようとしているかどうかを検出できるようにすることです。そうであれば、コンストラクターから直接、オブジェクトではなくオブジェクトをPage.new("Category:My Category")
インスタンス化します。Category
Page
Page
Rails の単一テーブルの継承を連想させるので、これは可能であるように思えますが、それを機能させる方法がわかりません。