Sha256: decd16ab49ec874b238d946cd60ca56b91265628254d4d117a97deab7a061783

Contents?: true

Size: 935 Bytes

Versions: 6

Compression:

Stored size: 935 Bytes

Contents

require 'active_support/concern'

module Iqvoc
  module Configuration
    module Collection
      extend ActiveSupport::Concern

      included do
        Iqvoc.first_level_class_configuration_modules << self

        mattr_accessor :base_class_name, :member_class_name, :note_class_names, :include_module_names

        self.base_class_name = 'Collection::SKOS::Unordered'

        self.member_class_name  = 'Collection::Member::SKOS::Base'

        self.note_class_names = [ 'Note::SKOS::Definition' ]

        self.include_module_names = []
      end

      module ClassMethods
        def base_class
          base_class_name.constantize
        end

        def member_class
          member_class_name.constantize
        end

        def note_classes
          note_class_names.map(&:constantize)
        end

        def include_modules
          include_module_names.map(&:constantize)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
iqvoc-4.14.5 lib/iqvoc/configuration/collection.rb
iqvoc-4.14.4 lib/iqvoc/configuration/collection.rb
iqvoc-4.13.2 lib/iqvoc/configuration/collection.rb
iqvoc-4.13.0 lib/iqvoc/configuration/collection.rb
iqvoc-4.12.1 lib/iqvoc/configuration/collection.rb
iqvoc-4.12.0 lib/iqvoc/configuration/collection.rb