Sha256: 91700cb6f5a19cb8b32f7c1dd754a4fc96c94729799191b65b13d7cf60143b9c

Contents?: true

Size: 455 Bytes

Versions: 3

Compression:

Stored size: 455 Bytes

Contents

module Carnival::FieldRenderers
  class FieldRenderer
    def initialize(presenter, field_name)
      @presenter = presenter
      @field_name = field_name
    end

    def render_field(model)
      { field_type: @presenter.field_type(@field_name), value: model.send(@field_name) }
    end

    protected

    def related_presenter
      @presenter.related_presenter(field)
    end

    def field
      @presenter.get_field(@field_name)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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