Class: Koltira::Event

Inherits:
Model
  • Object
show all
Defined in:
lib/koltira/event.rb

Defined Under Namespace

Classes: ParserError

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

#_from_database, from_database

Class Method Details

.parse(str) ⇒ Object



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

def self.parse(str)
  data = JSON.parse(str)
  new(
    id: data['id'],
    name: data['name'],
    date: Time.at(data['date'].to_i),
    data: data['data'] || {}
  )
rescue JSON::ParserError => e
  raise ParserError.new(
    str, "Unable to parse JSON string: #{e.message}"
  )
end

Instance Method Details

#as_jsonObject



28
29
30
31
32
33
34
35
# File 'lib/koltira/event.rb', line 28

def as_json(*)
  {
    'id' => id,
    'name' => name,
    'date' => date.to_i,
    'data' => data
  }
end

#content_sha256Object



24
25
26
# File 'lib/koltira/event.rb', line 24

def content_sha256
  Digest::SHA256.hexdigest(JSON.dump(data))
end