Sha256: 91af8c6cf37035ac9ebe5de2ce97269f414b3d08d956be0080e8e9d7922e575e

Contents?: true

Size: 775 Bytes

Versions: 1

Compression:

Stored size: 775 Bytes

Contents

# frozen_string_literal: true

require 'buddy_translatable/version'
require 'buddy_translatable/core'
module BuddyTranslatable
  def self.included(base)
    base.extend BuddyTranslatable::Core
  end

  def self.parse_translatable_data(data)
    res = data || {}
    res = {} unless res.present?
    res = JSON.parse(res) if res.is_a?(String)
    res.symbolize_keys
  end

  def self.translatable_attr_json?(model_class, attr)
    migrated = ActiveRecord::Base.connection.tables.include?(model_class.table_name)
    return :text unless migrated

    columns_data = model_class.try(:column_types) || model_class.try(:attribute_types)
    format = (columns_data[attr.to_s].type rescue :text) # rubocop:disable Style/RescueModifier
    %i[string text].exclude?(format)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
buddy_translatable-1.1.0 lib/buddy_translatable.rb