Sha256: 14c6da353292024fa40f4e077b97e6b3a5ff2c2b364b31165c567c105f75bc73

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module Dhis2
  class Versioned
    MAPPING = {
      "2.24" => "Version224",
      "2.25" => "Version225",
      "2.26" => "Version226",
      "2.27" => "Version227",
      "2.28" => "Version228"
    }.freeze

    def self.[](version)
      Object.const_get "Dhis2::Api::#{MAPPING[version]}::#{basename}"
    end

    def self.basename
      name.split("::").last
    end
  end

  class Analytic < Versioned; end
  class Attribute < Versioned; end
  class CategoryCombo < Versioned; end
  class CategoryOptionCombo < Versioned; end
  class DataElement < Versioned; end
  class DataElementGroup < Versioned; end
  class DataSet < Versioned; end
  class DataValueSet < Versioned; end
  class Event < Versioned; end
  class Indicator < Versioned; end
  class IndicatorGroup < Versioned; end
  class IndicatorType < Versioned; end
  class OrganisationUnit < Versioned; end
  class OrganisationUnitGroup < Versioned; end
  class OrganisationUnitGroupSet < Versioned; end
  class OrganisationUnitLevel < Versioned; end
  class Program < Versioned; end
  class Report < Versioned; end
  class ReportTable < Versioned; end
  class ResourceTable < Versioned; end
  class SystemInfo < Versioned; end
  class User < Versioned; end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dhis2-3.0.3 lib/dhis2/classes.rb
dhis2-3.0.2 lib/dhis2/classes.rb
dhis2-3.0.0 lib/dhis2/classes.rb