Есть два разных понятия, которые необходимо прояснить. Это «отчет» и «определение отчета».
Если вы перейдете на серые страницы и проверите любой из своих отчетов, они могут выглядеть так:
{
"report" : {
"content" : {
"domains" : [],
"definitions" : [
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1672",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1674",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11135",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11146",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11155",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11156",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11157",
"/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/11211"
]
},
"meta" : {
"author" : "/gdc/account/profile/18e93db4a57fba2d71f14fa6ea801d77",
"uri" : "/gdc/md/m337ddyzwudoqgiq811pfuslld7phdz1/obj/1673",
"tags" : "companya",
"created" : "2014-01-25 10:14:33",
"identifier" : "a9N6PNkSegqc",
"deprecated" : "0",
"summary" : "",
"isProduction" : 1,
"title" : "Yearly sales per office",
"category" : "report",
"updated" : "2016-02-23 12:40:18",
"contributor" : "/gdc/account/profile/ca60c2f38c6804429f9c3934ea64ea09"
}
}
}
Как вы можете видеть, существует несколько версий этого отчета, которые сохранялись каждый раз, когда вы изменяли свой отчет в прошлом.
Если вы попробуете, как вы это сделали:
puts report.using?(attribute)
Вы получите TRUE, если атрибут является частью любого из определений этого отчета. Чтобы проверить исключительно, является ли этот атрибут частью текущего/последнего определения отчета, вы должны использовать:
puts report.definition.using?(attribute)
Метод #definition дает вам самую последнюю версию. Надеюсь, это поможет.
Рауль Мельгоса
person
Raúl Melgosa
schedule
23.02.2016