Class: DashOverlord::UseCases::Context

Inherits:
OpenStruct
  • Object
show all
Includes:
ActiveModel::Serialization
Defined in:
lib/dash_overlord/use_cases/context.rb

Defined Under Namespace

Classes: StatusString

Instance Method Summary collapse

Instance Method Details

#add_error(status, message, class_name) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/dash_overlord/use_cases/context.rb', line 21

def add_error(status, message, class_name)
  self.status.send("#{status}!")

  @last_known_error = {
    status: status.to_s,
    message: message.to_s,
    class_name: class_name.to_s
  }

  errors.push(@last_known_error)
end

#assign_attributes(attributes) ⇒ Object



13
14
15
# File 'lib/dash_overlord/use_cases/context.rb', line 13

def assign_attributes(attributes)
  attributes.each { |key, value| send("#{key}=", value) }
end

#errorObject



37
38
39
# File 'lib/dash_overlord/use_cases/context.rb', line 37

def error
  OpenStruct.new(last_known_error)
end

#errorsObject



17
18
19
# File 'lib/dash_overlord/use_cases/context.rb', line 17

def errors
  @errors ||= []
end

#last_known_errorObject



33
34
35
# File 'lib/dash_overlord/use_cases/context.rb', line 33

def last_known_error
  @last_known_error ||= {}
end

#statusObject



62
63
64
# File 'lib/dash_overlord/use_cases/context.rb', line 62

def status
  @status ||= StatusString.new('ok')
end

#status=(_) ⇒ Object



66
67
68
# File 'lib/dash_overlord/use_cases/context.rb', line 66

def status=(_)
  raise 'status is a reserved keyword which cannot be set'
end

#valid?Boolean Also known as: ok?

Returns:

  • (Boolean)


41
42
43
# File 'lib/dash_overlord/use_cases/context.rb', line 41

def valid?
  errors.empty?
end