summaryrefslogtreecommitdiffstats
path: root/app/views/members/show.api.rsb
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/members/show.api.rsb')
-rw-r--r--app/views/members/show.api.rsb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/views/members/show.api.rsb b/app/views/members/show.api.rsb
new file mode 100644
index 000000000..55def9eab
--- /dev/null
+++ b/app/views/members/show.api.rsb
@@ -0,0 +1,14 @@
+api.membership do
+ api.id @member.id
+ api.project :id => @member.project.id, :name => @member.project.name
+ api.__send__ @member.principal.class.name.underscore, :id => @member.principal.id, :name => @member.principal.name
+ api.array :roles do
+ @member.member_roles.each do |member_role|
+ if member_role.role
+ attrs = {:id => member_role.role.id, :name => member_role.role.name}
+ attrs.merge!(:inherited => true) if member_role.inherited_from.present?
+ api.role attrs
+ end
+ end
+ end
+end