Class: RestfulObjects::User

Inherits:
Object
  • Object
show all
Includes:
LinkGenerator
Defined in:
lib/restful_objects/domain_model/user.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from LinkGenerator

#generate_rel, #generate_repr_type, #link_to, #underscore_to_hyphen_string

Constructor Details

#initialize(base_url, user_name) ⇒ User

Returns a new instance of User.



8
9
10
11
12
13
14
# File 'lib/restful_objects/domain_model/user.rb', line 8

def initialize(base_url, user_name)
  @base_url      = base_url
  @user_name     = user_name
  @friendly_name = ''
  @email         = ''
  @roles         = []
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



5
6
7
# File 'lib/restful_objects/domain_model/user.rb', line 5

def base_url
  @base_url
end

#emailObject

Returns the value of attribute email.



6
7
8
# File 'lib/restful_objects/domain_model/user.rb', line 6

def email
  @email
end

#friendly_nameObject

Returns the value of attribute friendly_name.



6
7
8
# File 'lib/restful_objects/domain_model/user.rb', line 6

def friendly_name
  @friendly_name
end

#user_nameObject (readonly)

Returns the value of attribute user_name.



5
6
7
# File 'lib/restful_objects/domain_model/user.rb', line 5

def user_name
  @user_name
end

Instance Method Details

#add_role(role) ⇒ Object



16
17
18
# File 'lib/restful_objects/domain_model/user.rb', line 16

def add_role(role)
  @roles.push(role)
end

#get_as_jsonObject



20
21
22
23
24
25
26
27
28
# File 'lib/restful_objects/domain_model/user.rb', line 20

def get_as_json
  { 'links'        => [ gen_link('self', '/user', 'user'), gen_link('up', '/', 'homepage') ],
    'userName'     => @user_name,
    'friendlyName' => @friendly_name,
    'email'        => @email,
    'roles'        => @roles,
    'extensions'   => {}
  }.to_json
end