Sha256: ee3bf75ff1bdb50dcd7ee773ff06fb8d14c944472f4fd1220f9a8672da010845

Contents?: true

Size: 809 Bytes

Versions: 57

Compression:

Stored size: 809 Bytes

Contents

require 'fiona7/json/obj_decorator'

module Fiona7
  module JSON
    class TypelessObjDecorator < ObjDecorator
      def as_json(*args)
        with_types = super()
        without_types = {}

        with_types.each do |attr, (value, type)|
          without_types[attr] = value
        end

        if without_types[:_widget_pool] && !without_types[:_widget_pool].empty?
          widgets_without_types = without_types[:_widget_pool].map do |id, values|
            values_without_types = {}
            values.each do |attr, (value, type)|
              values_without_types[attr] = value
            end
            [id, values_without_types]
          end

          without_types[:_widget_pool] = Hash[widgets_without_types]
        end

        without_types.as_json(*args)
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
infopark_fiona7-1.6.1.1.5 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.6.1.1.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.6.1.1.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.2.3 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.2.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.2.2 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.5.5.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.5.5.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.1.4 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.5.4.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.5.4.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.1.3 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.5.3.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.4.3.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.3.2.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.3.2.0.pre.beta1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.2.1.0.pre.beta1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.5.2.0.0 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.1.1 lib/fiona7/json/typeless_obj_decorator.rb
infopark_fiona7-1.2.0.0.1 lib/fiona7/json/typeless_obj_decorator.rb