class Spage::Serializers::Component
Serializer for the Component
resource
Public Class Methods
new(component, update: false)
click to toggle source
# File lib/spage/serializers/component.rb, line 8 def initialize(component, update: false) @component = component @ivars = ivars(update) end
Public Instance Methods
as_json()
click to toggle source
# File lib/spage/serializers/component.rb, line 17 def as_json to_hash end
to_hash()
click to toggle source
# File lib/spage/serializers/component.rb, line 21 def to_hash { 'component' => Hash[ @ivars.map do |name| [name[1..-1], @component.instance_variable_get(name)] end ] } end
to_json(obj = nil)
click to toggle source
# File lib/spage/serializers/component.rb, line 13 def to_json(obj = nil) as_json.to_json(obj) end
Private Instance Methods
ivars(update)
click to toggle source
# File lib/spage/serializers/component.rb, line 33 def ivars(update) if update @component.instance_variables.select do |name| processed_name = name[1..-1] update_attrs.include?(processed_name) && !@component.send(processed_name).nil? end else @component.instance_variables end end
update_attrs()
click to toggle source
# File lib/spage/serializers/component.rb, line 45 def update_attrs %w[ description status name only_show_if_degraded group_id showcase ] end