Sha256: 278d0dafd195fa6b52b456b0c40f02ccefd3a6f2e013082bbb36fdae25746497

Contents?: true

Size: 686 Bytes

Versions: 9

Compression:

Stored size: 686 Bytes

Contents

require 'type_station/blocks/base'

module TypeStation
  module Blocks
    class Field < Base

      def data
        {
          type: options[:type],
          id: model.to_param,
          field:  options[:field],
          options: data_options
        }
      end

      private

      def data_options
        case options[:type]
        when :image, :file
          { cloudinary: (Cloudinary::Utils.sign_request(Cloudinary::Uploader.build_upload_params({}), {}) rescue {}) }
        else
          nil
        end
      end

      def tag_name
        default_tag = options[:type] == :text ? :span : :div
        options[:content_tag] || default_tag
      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
type_station-0.3.4 lib/type_station/blocks/field.rb
type_station-0.3.3 lib/type_station/blocks/field.rb
type_station-0.3.2 lib/type_station/blocks/field.rb
type_station-0.3.1 lib/type_station/blocks/field.rb
type_station-0.3.0 lib/type_station/blocks/field.rb
type_station-0.2.3 lib/type_station/blocks/field.rb
type_station-0.2.2 lib/type_station/blocks/field.rb
type_station-0.2.1 lib/type_station/blocks/field.rb
type_station-0.2.0 lib/type_station/blocks/field.rb