Back to bug 1295927

Who When What Removed Added
Chris Pelland 2016-01-07 15:34:17 UTC Status NEW ON_DEV
Assignee gmccullo mkanoor
CC cpelland
Summary "NoMethodError: undefined method `where' for MiqAeMethodService::MiqAeServiceClassification:Class" [RFE] "NoMethodError: undefined method `where' for MiqAeMethodService::MiqAeServiceClassification:Class"
RHEL Program Management 2016-01-07 15:40:20 UTC Keywords FutureFeature
Red Hat Bugzilla 2016-01-07 15:40:20 UTC Doc Type Bug Fix Enhancement
John Prause 2016-01-08 18:51:21 UTC Status ON_DEV POST
Status POST MODIFIED
Satoe Imaishi 2016-03-23 13:08:20 UTC Status MODIFIED ON_QA
Fixed In Version 5.6.0.0
Marianne Feifer 2016-03-24 18:53:51 UTC CC mfeifer
Doc Text Feature: Support where method for service models

Reason: Starting in Rails 4 "find" has been deprecated in favor of "where when" accessing ActiveRecord. Using where in an Automate method generates the NoMethodError

Result: No aerror.

Note: From Automate Methods you can't chain the 'where' methods to create a complex query.

e.g this would be invalid in an Automate Method
query = $evm.vmdb(:vm).where(:vendor => "redhat")
query = query.where(:id => vm_id) if vm_id
query.first

This would have to be done as a single where
if vm_id
query = $evm.vmdb(:vm).where('vendor = ? AND id = ?', 'redhat', vm_id)
else
query = $evm.vmdb(:vm).where('vendor = redhat')
end
query.first
Dave Johnson 2016-04-15 21:43:49 UTC QA Contact dajohnso kzvyahin
Kyrylo Zvyagintsev 2016-04-25 11:01:09 UTC QA Contact kzvyahin mmojzis
Matouš Mojžíš 2016-04-26 11:51:48 UTC Flags needinfo?(mkanoor)
Matouš Mojžíš 2016-05-05 14:24:34 UTC Flags needinfo?(mkanoor)
Status ON_QA ON_DEV
Matouš Mojžíš 2016-05-10 18:56:08 UTC Whiteboard automate
Greg McCullough 2016-05-17 23:27:50 UTC CC gmccullo
John Prause 2016-05-18 16:06:42 UTC Blocks 1337261
John Prause 2016-05-18 16:06:48 UTC Keywords ZStream
Suyog Sainkar 2016-06-08 06:26:26 UTC CC ssainkar
Doc Text Feature: Support where method for service models

Reason: Starting in Rails 4 "find" has been deprecated in favor of "where when" accessing ActiveRecord. Using where in an Automate method generates the NoMethodError

Result: No aerror.

Note: From Automate Methods you can't chain the 'where' methods to create a complex query.

e.g this would be invalid in an Automate Method
query = $evm.vmdb(:vm).where(:vendor => "redhat")
query = query.where(:id => vm_id) if vm_id
query.first

This would have to be done as a single where
if vm_id
query = $evm.vmdb(:vm).where('vendor = ? AND id = ?', 'redhat', vm_id)
else
query = $evm.vmdb(:vm).where('vendor = redhat')
end
query.first
There was a request to support Where Method for service models. Starting in Rails 4 "find" has been deprecated in favor of "where when" accessing ActiveRecord. Using where in an Automate method generated the NoMethodError.

The required Where Method support has been added with this release.
Chris Pelland 2016-06-15 15:59:06 UTC Target Release 5.6.0 5.7.0
John Prause 2016-06-15 17:44:48 UTC Blocks 1346951
Satoe Imaishi 2016-06-21 13:08:45 UTC Fixed In Version 5.6.0.0
Matouš Mojžíš 2016-07-14 13:15:50 UTC CC mmojzis
Flags needinfo?(mmojzis)
Attachment #1150887 Attachment is obsolete 0 1
Attachment #1154233 Attachment is obsolete 0 1
Flags needinfo?(mmojzis)
Matouš Mojžíš 2016-07-19 09:58:01 UTC Flags needinfo?(mmojzis)
Flags needinfo?(mmojzis)
Matouš Mojžíš 2016-07-19 15:27:14 UTC Status ON_DEV ON_QA
Status ON_QA VERIFIED
Satoe Imaishi 2016-10-21 17:10:39 UTC Keywords TestOnly
CC simaishi
Dave Johnson 2017-01-11 20:02:19 UTC Status VERIFIED CLOSED
Resolution --- CURRENTRELEASE
Last Closed 2017-01-11 15:02:19 UTC

Back to bug 1295927