Sha256: 9756920c7bedb1a9571ca6c8f9c3597bf84e4bee8af5323a005ffd0fc3b059fe

Contents?: true

Size: 636 Bytes

Versions: 3

Compression:

Stored size: 636 Bytes

Contents

module Carnival::FieldRenderers
  class ManyRelationRenderer < FieldRenderer
    def render_field(model)
      full_model_name = related_presenter.full_model_name

      { field_type: :relation, value: translate_field(full_model_name) }
    end

    protected

    def translate_field(model_class_name)
      i18n_singular_key = "activerecord.models.#{model_class_name.classify.constantize.model_name.i18n_key}"
      i18n_plural_key = "#{i18n_singular_key}_plural"
      if I18n.exists?(i18n_plural_key)
        value = I18n.t(i18n_plural_key)
      else
        value = I18n.t(i18n_singular_key).pluralize
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
carnival-0.3.2 app/helpers/carnival/field_renderers/many_relation_renderer.rb
carnival-0.3.1 app/helpers/carnival/field_renderers/many_relation_renderer.rb
carnival-0.3.0 app/helpers/carnival/field_renderers/many_relation_renderer.rb