Class: ShellEv::DataActive

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/shell_ev/models/data_active.rb

Overview

DataActive Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#to_hash, #to_json

Constructor Details

#initialize(id = SKIP, user_id = SKIP, ema_id = SKIP, evse_id = SKIP, started_at = SKIP, stopped_at = SKIP, session_state = SKIP, session_code = SKIP, session_message = SKIP) ⇒ DataActive

Returns a new instance of DataActive.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/shell_ev/models/data_active.rb', line 89

def initialize(id = SKIP,
               user_id = SKIP,
               ema_id = SKIP,
               evse_id = SKIP,
               started_at = SKIP,
               stopped_at = SKIP,
               session_state = SKIP,
               session_code = SKIP,
               session_message = SKIP)
  @id = id unless id == SKIP
  @user_id = user_id unless user_id == SKIP
  @ema_id = ema_id unless ema_id == SKIP
  @evse_id = evse_id unless evse_id == SKIP
  @started_at = started_at unless started_at == SKIP
  @stopped_at = stopped_at unless stopped_at == SKIP
  @session_state = session_state unless session_state == SKIP
  @session_code = session_code unless session_code == SKIP
  @session_message = session_message unless session_message == SKIP
end

Instance Attribute Details

#ema_idString

Id of the evse that the user is charging

Returns:

  • (String)


23
24
25
# File 'lib/shell_ev/models/data_active.rb', line 23

def ema_id
  @ema_id
end

#evse_idString

Electric Vehicle Supply Equipment Identifier. An EVSEID identifies a Charging Point.

Returns:

  • (String)


28
29
30
# File 'lib/shell_ev/models/data_active.rb', line 28

def evse_id
  @evse_id
end

#idUUID | String

Id of the session

Returns:

  • (UUID | String)


15
16
17
# File 'lib/shell_ev/models/data_active.rb', line 15

def id
  @id
end

#session_codeDataActiveSessionCodeEnum

Session code e.g InternalError



44
45
46
# File 'lib/shell_ev/models/data_active.rb', line 44

def session_code
  @session_code
end

#session_messageString

Session message

Returns:

  • (String)


48
49
50
# File 'lib/shell_ev/models/data_active.rb', line 48

def session_message
  @session_message
end

#session_stateDataActiveSessionStateEnum

Describes the session state



40
41
42
# File 'lib/shell_ev/models/data_active.rb', line 40

def session_state
  @session_state
end

#started_atDateTime

When the session is started

Returns:

  • (DateTime)


32
33
34
# File 'lib/shell_ev/models/data_active.rb', line 32

def started_at
  @started_at
end

#stopped_atDateTime

When the session is stopped

Returns:

  • (DateTime)


36
37
38
# File 'lib/shell_ev/models/data_active.rb', line 36

def stopped_at
  @stopped_at
end

#user_idString

Id of the user that started the session

Returns:

  • (String)


19
20
21
# File 'lib/shell_ev/models/data_active.rb', line 19

def user_id
  @user_id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/shell_ev/models/data_active.rb', line 110

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  id = hash.key?('Id') ? hash['Id'] : SKIP
  user_id = hash.key?('UserId') ? hash['UserId'] : SKIP
  ema_id = hash.key?('EmaId') ? hash['EmaId'] : SKIP
  evse_id = hash.key?('EvseId') ? hash['EvseId'] : SKIP
  started_at = if hash.key?('StartedAt')
                 (DateTimeHelper.from_rfc3339(hash['StartedAt']) if hash['StartedAt'])
               else
                 SKIP
               end
  stopped_at = if hash.key?('StoppedAt')
                 (DateTimeHelper.from_rfc3339(hash['StoppedAt']) if hash['StoppedAt'])
               else
                 SKIP
               end
  session_state = hash.key?('SessionState') ? hash['SessionState'] : SKIP
  session_code = hash.key?('SessionCode') ? hash['SessionCode'] : SKIP
  session_message =
    hash.key?('SessionMessage') ? hash['SessionMessage'] : SKIP

  # Create object from extracted values.
  DataActive.new(id,
                 user_id,
                 ema_id,
                 evse_id,
                 started_at,
                 stopped_at,
                 session_state,
                 session_code,
                 session_message)
end

.namesObject

A mapping from model property names to API property names.



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/shell_ev/models/data_active.rb', line 51

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['id'] = 'Id'
  @_hash['user_id'] = 'UserId'
  @_hash['ema_id'] = 'EmaId'
  @_hash['evse_id'] = 'EvseId'
  @_hash['started_at'] = 'StartedAt'
  @_hash['stopped_at'] = 'StoppedAt'
  @_hash['session_state'] = 'SessionState'
  @_hash['session_code'] = 'SessionCode'
  @_hash['session_message'] = 'SessionMessage'
  @_hash
end

.nullablesObject

An array for nullable fields



81
82
83
84
85
86
87
# File 'lib/shell_ev/models/data_active.rb', line 81

def self.nullables
  %w[
    stopped_at
    session_code
    session_message
  ]
end

.optionalsObject

An array for optional fields



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/shell_ev/models/data_active.rb', line 66

def self.optionals
  %w[
    id
    user_id
    ema_id
    evse_id
    started_at
    stopped_at
    session_state
    session_code
    session_message
  ]
end

Instance Method Details

#to_custom_started_atObject



145
146
147
# File 'lib/shell_ev/models/data_active.rb', line 145

def to_custom_started_at
  DateTimeHelper.to_rfc3339(started_at)
end

#to_custom_stopped_atObject



149
150
151
# File 'lib/shell_ev/models/data_active.rb', line 149

def to_custom_stopped_at
  DateTimeHelper.to_rfc3339(stopped_at)
end