Sha256: 3af37c66d8939e234724e59f13b61410133f5b80e50f87a4f712c1d2d213b2a3
Contents?: true
Size: 1.1 KB
Versions: 21
Compression:
Stored size: 1.1 KB
Contents
module Scrivito class ObjParamsParser < Struct.new(:host, :port, :context) class UnknownWidgetAction < ScrivitoError end def parse(params) params = params.deep_dup convert_params(params) params end private def convert_field_params(params, attribute_definitions) params.each_pair do |key, value| params[key] = case type = attribute_definitions[key.to_s].try(:type) when 'binary' then parse_binary_params(value) when 'html' then ContentConversion.convert_html_links(value, host, port) when 'link' then ContentConversion.convert_link(value, host, port) when 'linklist' then ContentConversion.convert_linklist_urls(value, host, port) when 'date' then DateConversion.deserialize_from_client(value) else value end end end def parse_binary_params(params) return unless params UploadedBinary.new(params) end def raise_widget_not_found_error(widget_id) raise ResourceNotFound, "Could not find Widget with id #{widget_id}" end end end
Version data entries
21 entries across 21 versions & 1 rubygems
Version | Path |
---|---|
scrivito_sdk-1.4.0.rc1 | lib/scrivito/obj_params_parser.rb |