Class: Basecamp::Types::Person

Inherits:
Object
  • Object
show all
Includes:
TypeHelpers
Defined in:
lib/basecamp/generated/types.rb

Overview

Person

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data = {}) ⇒ Person

Returns a new instance of Person.



2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
# File 'lib/basecamp/generated/types.rb', line 2486

def initialize(data = {})
  @id = parse_integer(data["id"])
  @system_label = data["system_label"]
  @name = data["name"]
  @admin = parse_boolean(data["admin"])
  @attachable_sgid = data["attachable_sgid"]
  @avatar_url = data["avatar_url"]
  @bio = data["bio"]
  @can_access_hill_charts = parse_boolean(data["can_access_hill_charts"])
  @can_access_timesheet = parse_boolean(data["can_access_timesheet"])
  @can_manage_people = parse_boolean(data["can_manage_people"])
  @can_manage_projects = parse_boolean(data["can_manage_projects"])
  @can_ping = parse_boolean(data["can_ping"])
  @client = parse_boolean(data["client"])
  @company = parse_type(data["company"], "PersonCompany")
  @created_at = parse_datetime(data["created_at"])
  @email_address = data["email_address"]
  @employee = parse_boolean(data["employee"])
  @location = data["location"]
  @owner = parse_boolean(data["owner"])
  @personable_type = data["personable_type"]
  @tagline = data["tagline"]
  @time_zone = data["time_zone"]
  @title = data["title"]
  @updated_at = parse_datetime(data["updated_at"])
end

Instance Attribute Details

#adminObject

Returns the value of attribute admin.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def admin
  @admin
end

#attachable_sgidObject

Returns the value of attribute attachable_sgid.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def attachable_sgid
  @attachable_sgid
end

#avatar_urlObject

Returns the value of attribute avatar_url.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def avatar_url
  @avatar_url
end

#bioObject

Returns the value of attribute bio.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def bio
  @bio
end

#can_access_hill_chartsObject

Returns the value of attribute can_access_hill_charts.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def can_access_hill_charts
  @can_access_hill_charts
end

#can_access_timesheetObject

Returns the value of attribute can_access_timesheet.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def can_access_timesheet
  @can_access_timesheet
end

#can_manage_peopleObject

Returns the value of attribute can_manage_people.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def can_manage_people
  @can_manage_people
end

#can_manage_projectsObject

Returns the value of attribute can_manage_projects.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def can_manage_projects
  @can_manage_projects
end

#can_pingObject

Returns the value of attribute can_ping.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def can_ping
  @can_ping
end

#clientObject

Returns the value of attribute client.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def client
  @client
end

#companyObject

Returns the value of attribute company.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def company
  @company
end

#created_atObject

Returns the value of attribute created_at.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def created_at
  @created_at
end

#email_addressObject

Returns the value of attribute email_address.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def email_address
  @email_address
end

#employeeObject

Returns the value of attribute employee.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def employee
  @employee
end

#idObject

Returns the value of attribute id.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def id
  @id
end

#locationObject

Returns the value of attribute location.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def location
  @location
end

#nameObject

Returns the value of attribute name.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def name
  @name
end

#ownerObject

Returns the value of attribute owner.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def owner
  @owner
end

#personable_typeObject

Returns the value of attribute personable_type.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def personable_type
  @personable_type
end

#system_labelObject

Returns the value of attribute system_label.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def system_label
  @system_label
end

#taglineObject

Returns the value of attribute tagline.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def tagline
  @tagline
end

#time_zoneObject

Returns the value of attribute time_zone.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def time_zone
  @time_zone
end

#titleObject

Returns the value of attribute title.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def title
  @title
end

#updated_atObject

Returns the value of attribute updated_at.



2479
2480
2481
# File 'lib/basecamp/generated/types.rb', line 2479

def updated_at
  @updated_at
end

Class Method Details

.required_fieldsArray<Symbol>

Returns:

  • (Array<Symbol>)


2482
2483
2484
# File 'lib/basecamp/generated/types.rb', line 2482

def self.required_fields
  %i[id name].freeze
end

Instance Method Details

#to_hObject



2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
# File 'lib/basecamp/generated/types.rb', line 2513

def to_h
  {
    "id" => @id,
    "name" => @name,
    "admin" => @admin,
    "attachable_sgid" => @attachable_sgid,
    "avatar_url" => @avatar_url,
    "bio" => @bio,
    "can_access_hill_charts" => @can_access_hill_charts,
    "can_access_timesheet" => @can_access_timesheet,
    "can_manage_people" => @can_manage_people,
    "can_manage_projects" => @can_manage_projects,
    "can_ping" => @can_ping,
    "client" => @client,
    "company" => @company,
    "created_at" => @created_at,
    "email_address" => @email_address,
    "employee" => @employee,
    "location" => @location,
    "owner" => @owner,
    "personable_type" => @personable_type,
    "tagline" => @tagline,
    "time_zone" => @time_zone,
    "title" => @title,
    "updated_at" => @updated_at,
  }.compact
end

#to_json(*args) ⇒ Object



2541
2542
2543
# File 'lib/basecamp/generated/types.rb', line 2541

def to_json(*args)
  to_h.to_json(*args)
end