Sha256: de1b48bd6022cac3f47893280ec497fa474f576e11750dfc97a2869a7a1954b2

Contents?: true

Size: 702 Bytes

Versions: 2

Compression:

Stored size: 702 Bytes

Contents

require 'type_station/blocks/base'

module TypeStation
  module Blocks
    class EditPage < Base

      private

      def tag_data
        super.merge({ts_fields: (options[:fields] || [{name: :title, type: 'text', label: 'Page Title'}])})
      end

      def tag_ts_url
        model.edit_url
      end

      def tag_ts_data
        values = options[:fields].map do |field| 
          content = model.try(field[:name])
          value = content.is_a?(String) || content.is_a?(Symbol) ? content.to_s : content.try(:value)
          [field[:name], value] if value
        end
        super.merge({ts_values: Hash[*values.compact.flatten(1)], ts_position: model.position })
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
type_station-0.1.3 lib/type_station/blocks/edit_page.rb
type_station-0.1.1 lib/type_station/blocks/edit_page.rb