Class: Believe::Resources::Characters

Inherits:
Object
  • Object
show all
Defined in:
lib/believe/resources/characters.rb

Overview

Operations related to Ted Lasso characters

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Characters

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Characters.

Parameters:



193
194
195
# File 'lib/believe/resources/characters.rb', line 193

def initialize(client:)
  @client = client
end

Instance Method Details

#create(background:, emotional_stats:, name:, personality_traits:, role:, date_of_birth: nil, email: nil, growth_arcs: nil, height_meters: nil, profile_image_url: nil, salary_gbp: nil, signature_quotes: nil, team_id: nil, request_options: {}) ⇒ ::Believe::Models::Character

Add a new character to the Ted Lasso universe.

Parameters:

  • background (String)

    Character background and history

  • emotional_stats (::Believe::Models::EmotionalStats)

    Emotional intelligence stats

  • name (String)

    Character’s full name

  • personality_traits (Array<String>)

    Key personality traits

  • role (Symbol, ::Believe::Models::CharacterRole)

    Character’s role

  • date_of_birth (Date, nil)

    Character’s date of birth

  • email (String, nil)

    Character’s email address

  • growth_arcs (Array<::Believe::Models::GrowthArc>)

    Character development across seasons

  • height_meters (Float, nil)

    Height in meters

  • profile_image_url (String, nil)

    URL to character’s profile image

  • salary_gbp (Float, String, nil)

    Annual salary in GBP

  • signature_quotes (Array<String>)

    Memorable quotes from this character

  • team_id (String, nil)

    ID of the team they belong to

  • request_options (::Believe::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



42
43
44
45
46
47
48
49
50
51
# File 'lib/believe/resources/characters.rb', line 42

def create(params)
  parsed, options = ::Believe::CharacterCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "characters",
    body: parsed,
    model: ::Believe::Character,
    options: options
  )
end

#delete(character_id, request_options: {}) ⇒ nil

Remove a character from the database.

Parameters:

Returns:

  • (nil)

See Also:



162
163
164
165
166
167
168
169
# File 'lib/believe/resources/characters.rb', line 162

def delete(character_id, params = {})
  @client.request(
    method: :delete,
    path: ["characters/%1$s", character_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#get_quotes(character_id, request_options: {}) ⇒ Array<String>

Get all signature quotes from a specific character.

Parameters:

Returns:

  • (Array<String>)

See Also:



181
182
183
184
185
186
187
188
# File 'lib/believe/resources/characters.rb', line 181

def get_quotes(character_id, params = {})
  @client.request(
    method: :get,
    path: ["characters/%1$s/quotes", character_id],
    model: ::Believe::Internal::Type::ArrayOf[String],
    options: params[:request_options]
  )
end

#list(limit: nil, min_optimism: nil, role: nil, skip: nil, team_id: nil, request_options: {}) ⇒ ::Believe::Internal::SkipLimitPage<::Believe::Models::Character>

Get a paginated list of Ted Lasso characters.

Parameters:

  • limit (Integer)

    Maximum number of items to return (max: 100)

  • min_optimism (Integer, nil)

    Minimum optimism score

  • role (Symbol, ::Believe::Models::CharacterRole, nil)

    Filter by role

  • skip (Integer)

    Number of items to skip (offset)

  • team_id (String, nil)

    Filter by team ID

  • request_options (::Believe::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/believe/resources/characters.rb', line 139

def list(params = {})
  parsed, options = ::Believe::CharacterListParams.dump_request(params)
  query = ::Believe::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "characters",
    query: query,
    page: ::Believe::Internal::SkipLimitPage,
    model: ::Believe::Character,
    options: options
  )
end

#retrieve(character_id, request_options: {}) ⇒ ::Believe::Models::Character

Retrieve detailed information about a specific character.

Parameters:

Returns:

See Also:



63
64
65
66
67
68
69
70
# File 'lib/believe/resources/characters.rb', line 63

def retrieve(character_id, params = {})
  @client.request(
    method: :get,
    path: ["characters/%1$s", character_id],
    model: ::Believe::Character,
    options: params[:request_options]
  )
end

#update(character_id, background: nil, date_of_birth: nil, email: nil, emotional_stats: nil, growth_arcs: nil, height_meters: nil, name: nil, personality_traits: nil, profile_image_url: nil, role: nil, salary_gbp: nil, signature_quotes: nil, team_id: nil, request_options: {}) ⇒ ::Believe::Models::Character

Update specific fields of an existing character.

Parameters:

  • character_id (String)
  • background (String, nil)
  • date_of_birth (Date, nil)
  • email (String, nil)
  • emotional_stats (::Believe::Models::EmotionalStats, nil)

    Emotional intelligence statistics for a character.

  • growth_arcs (Array<::Believe::Models::GrowthArc>, nil)
  • height_meters (Float, nil)
  • name (String, nil)
  • personality_traits (Array<String>, nil)
  • profile_image_url (String, nil)
  • role (Symbol, ::Believe::Models::CharacterRole, nil)

    Roles characters can have.

  • salary_gbp (Float, String, nil)
  • signature_quotes (Array<String>, nil)
  • team_id (String, nil)
  • request_options (::Believe::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



109
110
111
112
113
114
115
116
117
118
# File 'lib/believe/resources/characters.rb', line 109

def update(character_id, params = {})
  parsed, options = ::Believe::CharacterUpdateParams.dump_request(params)
  @client.request(
    method: :patch,
    path: ["characters/%1$s", character_id],
    body: parsed,
    model: ::Believe::Character,
    options: options
  )
end