Как решить NameError для QueryAssociationColumn на плагине Redmine? - PullRequest
1 голос
/ 26 сентября 2019

Я новичок в Ruby и Rails и пытался создать простой плагин патча, который включает дополнительное свойство другого плагина в виде столбца, доступного при перечислении проблем.

Основываясь на том, что я прочитал до сих пор, янаписал новый файл в lib/issue_query_patch.rb, содержащий:

require_dependency 'issue_query'

module IssueQueryPatch
  def self.included(base) # :nodoc:
    base.send(:include, InstanceMethods)

    base.class_eval do
      alias_method_chain :available_columns, :story_points
    end
  end

  module InstanceMethods

    # Adds the story points column to default the redmine issue query
    def available_columns_with_story_points
      columns = available_columns_without_story_points
      columns << get_story_points_column
      return columns
    end

    def get_story_points_column
      return @story_points_column if @story_points_column

      @story_points_column = QueryAssociationColumn.new(:agile_data, :story_points, :caption => :label_agile_story_points)
      @story_points_column
    end
  end
end

IssueQuery.send(:include, IssueQueryPatch)

Но когда я пытаюсь перечислить свои проблемы, я получаю:

NameError (неинициализированная константа IssueQueryPatch :: InstanceMethods :: QueryAssociationColumn):

Подобный подход с использованием QueryColumn не вызывает ошибку NameError.

Поскольку оба класса объявлены на app/models/query.rb Я не понимаю, почему это происходит.

Как мне избавиться от этой ошибки?

...