Class: YugabyteYSQL::Coder
- Inherits:
-
Object
- Object
- YugabyteYSQL::Coder
show all
- Defined in:
- lib/pg/coder.rb
Defined Under Namespace
Modules: BinaryFormatting
Instance Method Summary
collapse
Constructor Details
#initialize(hash = nil, **kwargs) ⇒ Coder
Create a new coder object based on the attribute Hash.
17
18
19
20
21
22
23
|
# File 'lib/pg/coder.rb', line 17
def initialize(hash=nil, **kwargs)
warn("PG::Coder.new(hash) is deprecated. Please use keyword arguments instead! Called from #{caller.first}", category: :deprecated) if hash
(hash || kwargs).each do |key, val|
send("#{key}=", val)
end
end
|
Instance Method Details
#==(v) ⇒ Object
39
40
41
|
# File 'lib/pg/coder.rb', line 39
def ==(v)
self.class == v.class && to_h == v.to_h
end
|
#dup ⇒ Object
25
26
27
|
# File 'lib/pg/coder.rb', line 25
def dup
self.class.new(**to_h)
end
|
#inspect ⇒ Object
51
52
53
54
55
56
57
58
|
# File 'lib/pg/coder.rb', line 51
def inspect
str = self.to_s
oid_str = " oid=#{oid}" unless oid==0
format_str = " format=#{format}" unless format==0
name_str = " #{name.inspect}" if name
str[-1,0] = "#{name_str} #{oid_str}#{format_str}"
str
end
|
#inspect_short ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/pg/coder.rb', line 60
def inspect_short
str = case format
when 0 then "T"
when 1 then "B"
else format.to_s
end
str += "E" if respond_to?(:encode)
str += "D" if respond_to?(:decode)
"#{name || self.class.name}:#{str}"
end
|
#marshal_dump ⇒ Object
43
44
45
|
# File 'lib/pg/coder.rb', line 43
def marshal_dump
Marshal.dump(to_h)
end
|
#marshal_load(str) ⇒ Object
47
48
49
|
# File 'lib/pg/coder.rb', line 47
def marshal_load(str)
initialize(**Marshal.load(str))
end
|
#to_h ⇒ Object
Returns coder attributes as Hash.
30
31
32
33
34
35
36
37
|
# File 'lib/pg/coder.rb', line 30
def to_h
{
oid: oid,
format: format,
flags: flags,
name: name,
}
end
|