Class: Svix::ClickhouseConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/svix/models/clickhouse_config.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ ClickhouseConfig

Returns a new instance of ClickhouseConfig.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/svix/models/clickhouse_config.rb', line 21

def initialize(attributes = {})
  unless attributes.is_a?(Hash)
    fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::ClickhouseConfig` new method")
  end

  attributes.each do |k, v|
    unless ALL_FIELD.include?(k.to_s)
      fail(ArgumentError, "The field #{k} is not part of Svix::ClickhouseConfig")
    end

    instance_variable_set("@#{k}", v)
    instance_variable_set("@__#{k}_is_defined", true)
  end
end

Instance Attribute Details

#databaseObject

The Clickhouse database to connect to



8
9
10
# File 'lib/svix/models/clickhouse_config.rb', line 8

def database
  @database
end

#passwordObject

Password to access Clickhouse



10
11
12
# File 'lib/svix/models/clickhouse_config.rb', line 10

def password
  @password
end

#table_nameObject

The Clickhouse table to write to



12
13
14
# File 'lib/svix/models/clickhouse_config.rb', line 12

def table_name
  @table_name
end

#urlObject

The HTTP URL of the ClickHouse server (e.g. ‘my_clickhouse:8443`).



14
15
16
# File 'lib/svix/models/clickhouse_config.rb', line 14

def url
  @url
end

#usernameObject

Username to access Clickhouse



16
17
18
# File 'lib/svix/models/clickhouse_config.rb', line 16

def username
  @username
end

Class Method Details

.deserialize(attributes = {}) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'lib/svix/models/clickhouse_config.rb', line 36

def self.deserialize(attributes = {})
  attributes = attributes.transform_keys(&:to_s)
  attrs = Hash.new
  attrs["database"] = attributes["database"]
  attrs["password"] = attributes["password"]
  attrs["table_name"] = attributes["tableName"]
  attrs["url"] = attributes["url"]
  attrs["username"] = attributes["username"]
  new(attrs)
end

Instance Method Details

#serializeObject



47
48
49
50
51
52
53
54
55
# File 'lib/svix/models/clickhouse_config.rb', line 47

def serialize
  out = Hash.new
  out["database"] = Svix::serialize_primitive(@database) if @database
  out["password"] = Svix::serialize_primitive(@password) if @password
  out["tableName"] = Svix::serialize_primitive(@table_name) if @table_name
  out["url"] = Svix::serialize_primitive(@url) if @url
  out["username"] = Svix::serialize_primitive(@username) if @username
  out
end

#to_jsonObject

Serializes the object to a json string

Returns:

  • String



59
60
61
# File 'lib/svix/models/clickhouse_config.rb', line 59

def to_json
  JSON.dump(serialize)
end