class RailsAdmin::Config::Fields::Types::JsonTranslate

Public Instance Methods

current_locale() click to toggle source
# File lib/rails_admin_json_translate.rb, line 45
def current_locale
  value_for_locale(I18n.locale).blank? ? locales.first : I18n.locale
end
parse_input(params) click to toggle source
# File lib/rails_admin_json_translate.rb, line 31
def parse_input(params)
  params[name] = parse_value(params[name]) if params[name].is_a?(::String)
end
parse_value(value) click to toggle source
# File lib/rails_admin_json_translate.rb, line 27
def parse_value(value)
  value.present? ? JSON.parse(value) : nil
end
value_for_locale(locale) click to toggle source
# File lib/rails_admin_json_translate.rb, line 35
def value_for_locale(locale)
  val = @bindings[:object].send(name)
  return '' unless val

  val = JSON.parse(val) unless val.is_a?(Hash)
  val.try(:[], locale.to_s)
rescue JSON::ParserError
  ''
end