0

I have a controller which calls a class method from a model. However, I got undefined method 'where' for Jira:Class.

controller:

module Api
  module V1
    class JiraController < ApplicationController

      def index
        jira = Jira.where()
        jira_stat = JiraStat.new(jira)
        render json: [
          {
            t('jira.api.status') => jira_stat.status,
            t('jira.api.number_of_jiras') => jira_stat.jira_total
          }
        ]
      end
    end
  end
end


model:
# frozen_string_literal: true

require 'active_model'

class Jira
  include ActiveModel::Model
  include JiraKit

  attr_accessor :status, :jira

  def self.where(status_name = 'all')
   if status_name == 'all'
     jiras = JiraKit.where.jira_issues(status: ['open', 'submitted', 'in 
 progress', 'in review', 'closed'])
    elsif
     jiras = JiraKit.where.jira_issues(status: [status_name])
   end
   new(@status = status_name, @jira = jiras)
 end
end

I think I have used self keyword. But I don't know why I can't access that method. If I create an instance of Jira model, I am able to access that method.

Aaditya Maheshwari
  • 714
  • 1
  • 5
  • 16

0 Answers0