使用ruby-trello gem,我如何确定组织是否公开?
这个问题是由这个提示的:
- 使用ruby-trello gem,我如何确定董事会是否公开?
在Trello API中,我看到两个主板和组织都提供了一个带有permissionLevel
值的prefs
对象。
但是,看起来gem只返回这些prefs
值为board:
> board = Trello::Member.find('me').boards.first > board.prefs['permissionLevel'] => "org" > org = Trello::Member.find('me').organizations.first > org.prefs['permissionLevel'] Traceback (most recent call last): 1: from (irb):11 NoMethodError (undefined method `prefs' for #)
有没有办法使用gem获得组织的权限级别?
这是使用gem的变通方法:
> org = Trello::Member.find('me').organizations.first > path = "/organizations/#{org.id}/prefs" > response = org.client.get(path) > org_prefs = JSON.parse(response.body) => {"permissionLevel"=>"public", "orgInviteRestrict"=>[], "externalMembersDisabled"=>false, "associatedDomain"=>nil, "googleAppsVersion"=>1, "boardVisibilityRestrict"=>{"private"=>"org", "org"=>"org", "public"=>"org"}} > org_prefs['permissionLevel'] => "public"
您正在使用的gem不支持组织对象中的prefs
,您可以在此处validation,但实际的Trello API确实具有该字段,因此您可以查找为您提供该数据的其他gem或直接调用API而不使用gem