Class: DropboxApi::Metadata::Member

Inherits:
Base
  • Object
show all
Defined in:
lib/dropbox_api/metadata/member.rb

Overview

Examples of serialized AddMember objects:

[
  {
    ".tag": "email",
    "email": "[email protected]"
  },  {
    ".tag": "dropbox_id",
    "dropbox_id": "dbid:AAEufNrMPSPe0dMQijRP0N_aZtBJRm26W4Q"
  }
]

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

field, #serialized_field

Constructor Details

#initialize(member) ⇒ Member

Returns a new instance of Member.



39
40
41
# File 'lib/dropbox_api/metadata/member.rb', line 39

def initialize(member)
  @member = member
end

Class Method Details

.build_from_dropbox_id(dropbox_id) ⇒ Object



24
25
26
27
28
29
# File 'lib/dropbox_api/metadata/member.rb', line 24

def build_from_dropbox_id(dropbox_id)
  new({
    :".tag" => :dropbox_id,
    :dropbox_id => dropbox_id
  })
end

.build_from_email(email) ⇒ Object



31
32
33
34
35
36
# File 'lib/dropbox_api/metadata/member.rb', line 31

def build_from_email(email)
  new({
    :".tag" => :email,
    :email => email
  })
end

.build_from_email_or_dropbox_id(email_or_id) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/dropbox_api/metadata/member.rb', line 14

def build_from_email_or_dropbox_id(email_or_id)
  if email_or_id.start_with? "dbid:"
    build_from_dropbox_id email_or_id
  elsif email_or_id =~ /\A[^@\s]+@[^@\s]+\z/
    build_from_email email_or_id
  else
    raise ArgumentError, "Invalid email or Dropbox ID: #{email_or_id}"
  end
end

Instance Method Details

#to_hashObject



43
44
45
# File 'lib/dropbox_api/metadata/member.rb', line 43

def to_hash
  @member
end