Sha256: 099f21aff47bb0d0f75cbaf9115ab7ec5d95d025b450087a7e8227595e6501e1

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require 'ogr/feature_definition'

module OGR
  class FeatureDefinition
    module Extensions
      # @return [Array<OGR::FieldDefinition>]
      def field_definitions
        return [] if field_count.zero?

        Array.new(field_count) { |i| field_definition(i) }
      end

      # @return [Array<OGR::GeometryFieldDefinition>]
      def geometry_field_definitions
        return [] if geometry_field_count.zero?

        Array.new(geometry_field_count) { |i| geometry_field_definition(i) }
      end

      # @param name [String]
      # @return [OGR::FieldDefinition]
      def field_definition_by_name(name)
        i = field_index(name)
        return unless i

        field_definition(i)
      end

      # @param name [String]
      # @return [OGR::GeometryFieldDefinition]
      def geometry_field_definition_by_name(name)
        g = geometry_field_index(name)
        return unless g

        geometry_field_definition(g)
      end
    end
  end
end

OGR::FeatureDefinition.include(OGR::FeatureDefinition::Extensions)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ffi-gdal-1.0.2 lib/ogr/extensions/feature_definition/extensions.rb
ffi-gdal-1.0.1 lib/ogr/extensions/feature_definition/extensions.rb
ffi-gdal-1.0.0 lib/ogr/extensions/feature_definition/extensions.rb