lib/scrivito/memberships_collection.rb in scrivito_sdk-0.17.0 vs lib/scrivito/memberships_collection.rb in scrivito_sdk-0.18.0

- old
+ new

@@ -1,16 +1,16 @@ module Scrivito - # @api beta + # @api public # The MembershipsCollection includes all members of a given {Workspace}. # You can access it using {Workspace#memberships} method. class MembershipsCollection extend Forwardable include Enumerable attr_reader :workspace - # @api beta + # @api public # @!method each # Iterate over all {Membership Memberships} of a specfic {Workspace}. Allows # you to use all methods defined by ruby's Enumerable module. # # @yield [Membership] @@ -37,21 +37,21 @@ def initialize(workspace) @workspace = workspace end - # @api beta + # @api public # return a hash where the keys are user_ids and the values are Membership-Instances # @return [Hash<String, Membership>] def to_h memberships.inject(HashWithIndifferentAccess.new) do |hash, membership| hash[membership.user_id] = membership hash end end - # @api beta + # @api public # Returns the membership for a user or nil # # @param [User, String] id_or_user # @return [Membership, nil] def [](id_or_user) @@ -60,9 +60,13 @@ else id_or_user end to_h[id] + end + + def to_a + memberships.sort_by(&:user_id) end private def memberships