Sha256: 57a2d3ce5de0ee178ec9efa6084f52edff8c083df0d0afa0457dccf400bb6d79

Contents?: true

Size: 855 Bytes

Versions: 10

Compression:

Stored size: 855 Bytes

Contents

# -*- encoding : utf-8 -*-
module RademadeAdmin
  module Input
    class RelatedSelectInput
      module ModelData

        private

        def model
          @model ||= @builder.object
        end

        def related_data_item
          unless @related_data_item
            model_info = Model::Graph.instance.model_info(model.class)
            @related_data_item = model_info.data_items.data_item(attribute_name)
          end
          @related_data_item
        end

        def related_to
          related_data_item.relation.to || related_value.class
        end

        def relation_getter
          related_data_item.getter
        end

        def multiple?
          related_data_item.relation.has_many?
        end

        def related_value
          @related_value ||= model.send(relation_getter)
        end

      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rademade_admin-0.2.2 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.2.1 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.2.0 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.6 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.5 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.4 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.3 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.2 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.1 lib/rademade_admin/input/related_select_input/model_data.rb
rademade_admin-0.1.0 lib/rademade_admin/input/related_select_input/model_data.rb