Class: Svix::ClickhouseConfigIn

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

Direct Known Subclasses

StreamSinkInConfig::Clickhouse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ ClickhouseConfigIn

Returns a new instance of ClickhouseConfigIn.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/svix/models/clickhouse_config_in.rb', line 25

def initialize(attributes = {})
  unless attributes.is_a?(Hash)
    fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::ClickhouseConfigIn` 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::ClickhouseConfigIn")
    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.



18
19
20
# File 'lib/svix/models/clickhouse_config_in.rb', line 18

def database
  @database
end

#passwordObject

Password to access Clickhouse.

Currently a required field, but marked as optional because we may add different authentication in the future.



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

def password
  @password
end

#table_nameObject

The Clickhouse table to write to.



20
21
22
# File 'lib/svix/models/clickhouse_config_in.rb', line 20

def table_name
  @table_name
end

#urlObject

The HTTP URL of the ClickHouse server (e.g. https://my_clickhouse:8443).



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

def url
  @url
end

#usernameObject

Username to access Clickhouse.

Currently a required field, but marked as optional because we may add different authentication in the future.



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

def username
  @username
end

Class Method Details

.deserialize(attributes = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/svix/models/clickhouse_config_in.rb', line 40

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

Instance Method Details

#serializeObject



51
52
53
54
55
56
57
58
59
# File 'lib/svix/models/clickhouse_config_in.rb', line 51

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

#to_jsonObject

Serializes the object to a json string

Returns:

  • String



63
64
65
# File 'lib/svix/models/clickhouse_config_in.rb', line 63

def to_json
  JSON.dump(serialize)
end