Sha256: dffebbf1a86e40c200e213af0b13750e249bb3387ac7646b086c1a9cf26458f5

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

module Apress
  module Documentation
    module Dsl
      module Mixins
        module Publicity
          ACCESS_MAPPING = {
            public: 'Публичный',
            private: 'Приватный',
            protected: 'Защищеный'
          }.freeze

          # Public: указывает уровень доступа документа, является частью DSL
          #
          # Arguments:
          #   level - Symbol, valid values - :public, :private, :protected
          # Examples:
          #   Apress::Documentation.build(:module) do
          #     document(:doc1) do
          #       publicity :public
          #     end
          #   end
          #
          def publicity(level)
            unless ACCESS_MAPPING.keys.include?(level)
              raise "Неизвестный уровень доступа - #{level}, объявлен в документе #{@target.slug}"
            end

            @target.publicity = ACCESS_MAPPING[level]
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apress-documentation-0.4.0 lib/apress/documentation/dsl/compilers/mixins/publicity.rb