Class: Codebeacon::Tracer::MetadataMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/codebeacon/tracer/src/data/metadata_mapper.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(database) ⇒ MetadataMapper

Returns a new instance of MetadataMapper.



4
5
6
# File 'lib/codebeacon/tracer/src/data/metadata_mapper.rb', line 4

def initialize(database)
  @db = database
end

Class Method Details

.create_indexes(database) ⇒ Object



28
29
# File 'lib/codebeacon/tracer/src/data/metadata_mapper.rb', line 28

def self.create_indexes(database)
end

.create_table(database) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/codebeacon/tracer/src/data/metadata_mapper.rb', line 8

def self.create_table(database)
  database.execute <<-SQL
    CREATE TABLE IF NOT EXISTS metadata (
      id INTEGER PRIMARY KEY,
      name TEXT,
      description TEXT,
      caller_file TEXT,
      caller_method TEXT,
      caller_line INTEGER,
      caller_class TEXT,
      caller_defined_class TEXT,
      start_time TEXT,
      end_time TEXT,
      duration_ms REAL,
      trigger_type TEXT,
      language TEXT
    );
  SQL
end

Instance Method Details

#insert(metadata) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/codebeacon/tracer/src/data/metadata_mapper.rb', line 31

def insert()
   = .to_hash
  
  @db.execute(<<-SQL, 
    INSERT INTO metadata (
      name, description, caller_file, caller_method, caller_line,
      caller_class, caller_defined_class, start_time, end_time,
      duration_ms, trigger_type, language
    ) VALUES (
      ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
    )
  SQL
    [:name],
    [:description],
    [:caller_file],
    [:caller_method],
    [:caller_line],
    [:caller_class],
    [:caller_defined_class],
    [:start_time]&.iso8601,
    [:end_time]&.iso8601,
    [:duration_ms],
    [:trigger_type],
    [:language]
  )
end