Module: DPN::Client::Agent::Member

Included in:
DPN::Client::Agent
Defined in:
lib/dpn/client/agent/member.rb

Overview

Operations on the member resource.

Instance Method Summary collapse

Instance Method Details

#create_member(member) {|Response| ... } ⇒ Response

Create a member

Parameters:

  • member (Hash)

    Body of the member

Yields:

Returns:



58
59
60
# File 'lib/dpn/client/agent/member.rb', line 58

def create_member(member, &block)
  post "/member/", member, &block
end

#delete_member(member_id) {|Response| ... } ⇒ Response

Delete a member

Parameters:

  • member_id (String)

    UUIDv4 of the member.

Yields:

Returns:



76
77
78
# File 'lib/dpn/client/agent/member.rb', line 76

def delete_member(member_id, &block)
  delete "/member/#{member_id}/", &block
end

#member(member_id) {|Response| ... } ⇒ Response

Get a specific member

Parameters:

  • member_id (String)

    UUIDv4 of the member.

Yields:

  • (Response)

    Optional block to process the response.

Returns:



30
31
32
# File 'lib/dpn/client/agent/member.rb', line 30

def member(member_id, &block)
  get "/member/#{member_id}/", nil, &block
end

#member_bags(member_id, options = {page_size: 25}) {|Response| ... } ⇒ Array<Hash>

Get a member’s bags

Parameters:

  • member_id (String)

    The specific member’s member_id

  • options (Hash) (defaults to: {page_size: 25})

Options Hash (options):

  • :page_size (Fixnum) — default: 25

    Number of entries per page

  • :before (DateTime String) — default: nil

    Include only entries last modified before this date.

  • :after (DateTime String) — default: nil

    Include only entries last modified after this date.

  • :admin_node (String) — default: nil

    Namespace of the admin_node of the bag.

  • :bag_type (String) — default: nil

    One of ‘D’, ‘R’, ‘I’, for data, rights, and interpretive, respectively.

Yields:

  • (Response)

    Optional block to process individual bag.

Returns:

  • (Array<Hash>)

    Array of all bag data. Generated and returned only if no block is passed.



49
50
51
# File 'lib/dpn/client/agent/member.rb', line 49

def member_bags(member_id, options = {page_size: 25}, &block)
  paginate_each "/member/#{member_id}/bags/", options, options[:page_size], &block
end

#members(options = {page_size: 25}) {|Response| ... } ⇒ Object

Get the members index

Parameters:

  • options (Hash) (defaults to: {page_size: 25})

Options Hash (options):

  • :page_size (Fixnum) — default: 25

    Number of members per page

  • :before (DateTime String) — default: nil

    Include only entries last modified before this date.

  • :after (DateTime String) — default: nil

    Include only entries last modified after this date.

Yields:

  • (Response)

    Block to process each individual member.



21
22
23
# File 'lib/dpn/client/agent/member.rb', line 21

def members(options = {page_size: 25}, &block)
  paginate_each "/member/", options, options[:page_size], &block
end

#update_member(member) {|Response| ... } ⇒ Response

Update a member

Parameters:

  • member (Hash)

    Body of the member

Yields:

Returns:



67
68
69
# File 'lib/dpn/client/agent/member.rb', line 67

def update_member(member, &block)
  put "/member/#{member[:member_id]}/", member, &block
end