使用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