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.



2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
# File 'lib/basecamp/generated/types.rb', line 2453

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.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def admin
  @admin
end

#attachable_sgidObject

Returns the value of attribute attachable_sgid.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def attachable_sgid
  @attachable_sgid
end

#avatar_urlObject

Returns the value of attribute avatar_url.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def avatar_url
  @avatar_url
end

#bioObject

Returns the value of attribute bio.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def bio
  @bio
end

#can_access_hill_chartsObject

Returns the value of attribute can_access_hill_charts.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def can_access_hill_charts
  @can_access_hill_charts
end

#can_access_timesheetObject

Returns the value of attribute can_access_timesheet.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def can_access_timesheet
  @can_access_timesheet
end

#can_manage_peopleObject

Returns the value of attribute can_manage_people.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def can_manage_people
  @can_manage_people
end

#can_manage_projectsObject

Returns the value of attribute can_manage_projects.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def can_manage_projects
  @can_manage_projects
end

#can_pingObject

Returns the value of attribute can_ping.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def can_ping
  @can_ping
end

#clientObject

Returns the value of attribute client.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def client
  @client
end

#companyObject

Returns the value of attribute company.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def company
  @company
end

#created_atObject

Returns the value of attribute created_at.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def created_at
  @created_at
end

#email_addressObject

Returns the value of attribute email_address.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def email_address
  @email_address
end

#employeeObject

Returns the value of attribute employee.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def employee
  @employee
end

#idObject

Returns the value of attribute id.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def id
  @id
end

#locationObject

Returns the value of attribute location.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def location
  @location
end

#nameObject

Returns the value of attribute name.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def name
  @name
end

#ownerObject

Returns the value of attribute owner.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def owner
  @owner
end

#personable_typeObject

Returns the value of attribute personable_type.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def personable_type
  @personable_type
end

#system_labelObject

Returns the value of attribute system_label.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def system_label
  @system_label
end

#taglineObject

Returns the value of attribute tagline.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def tagline
  @tagline
end

#time_zoneObject

Returns the value of attribute time_zone.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def time_zone
  @time_zone
end

#titleObject

Returns the value of attribute title.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def title
  @title
end

#updated_atObject

Returns the value of attribute updated_at.



2446
2447
2448
# File 'lib/basecamp/generated/types.rb', line 2446

def updated_at
  @updated_at
end

Class Method Details

.required_fieldsArray<Symbol>

Returns:

  • (Array<Symbol>)


2449
2450
2451
# File 'lib/basecamp/generated/types.rb', line 2449

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

Instance Method Details

#to_hObject



2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
# File 'lib/basecamp/generated/types.rb', line 2480

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



2508
2509
2510
# File 'lib/basecamp/generated/types.rb', line 2508

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