I have a function users_by_role
and it returns data in following format,
[
[#<Role id: 1, name: "Developer">,[#<User id:1, name: "Abc">,#<User id:2, name: "xyz">]]
[#<Role id: 2, name: "Tester">,[#<User id:11, name: "Abcd">,#<User id:12, name: "wxyz">]]
]
Now, I want to select users for given Role/s
I am using,
project.users_by_role.select{|o| o.first.name == "Developer"}
where project is a Project object
All good, code returns me the data but along with which I get following warning
warning: multiple values for a block parameter (2 for 1)
Also I am looking for optimized and shorter way of doing this
Complete code snippet looks like:
project.users_by_role.select{|o| o.first.name == "Developer" }.collect{|e| e.last.map{|f| [f.id,f.firstname + ' ' + f.lastname]}}.flatten(1).uniq
By above code I want to get all the user names for a given role.