Class: Katalyst::Content::Types::StyleType

Inherits:
ActiveRecord::Type::Json
  • Object
show all
Defined in:
app/models/katalyst/content/types/style_type.rb

Overview

Data serialization/deserialization for Katalyst::Content::Item style data

Instance Method Summary collapse

Constructor Details

#initialize(type) ⇒ StyleType

Returns a new instance of StyleType.



8
9
10
11
12
# File 'app/models/katalyst/content/types/style_type.rb', line 8

def initialize(type)
  super()

  @type = type
end

Instance Method Details

#deserialize(value) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'app/models/katalyst/content/types/style_type.rb', line 18

def deserialize(value)
  case value
  when String
    decoded = super
    @type.new(**decoded) unless decoded.nil?
  when Hash
    @type.new(**value)
  when HasStyle::StyleBase
    value
  end
end

#serialize(value) ⇒ Object



14
15
16
# File 'app/models/katalyst/content/types/style_type.rb', line 14

def serialize(value)
  super(value.attributes)
end