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