Class: TeslaApi::Client

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/tesla_api/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(email, password, client_id, client_secret) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/tesla_api/client.rb', line 9

def initialize(email, password, client_id, client_secret)
  @email = email
  response = self.class.post(
      "https://owner-api.teslamotors.com/oauth/token",
      body: {
          "grant_type" => "password",
          "client_id" => client_id,
          "client_secret" => client_secret,
          "email" => email,
          "password" => password
      }
  )
  self.class.headers "Authorization" => "Bearer #{response["access_token"]}"
end

Instance Attribute Details

#emailObject (readonly)

Returns the value of attribute email.



7
8
9
# File 'lib/tesla_api/client.rb', line 7

def email
  @email
end

Instance Method Details

#vehiclesObject



24
25
26
# File 'lib/tesla_api/client.rb', line 24

def vehicles
  self.class.get("/vehicles")["response"].map { |v| Vehicle.new(self.class, email, v["id"], v) }
end