Sha256: d221939fffbf72154171e2b3a03958a65621db3f05f5ec4e77b8376cef24a796

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

module Qonfig
  # @api public
  # @since 0.1.0
  class DataSet
    # @since 0.1.0
    extend Qonfig::DSL

    # @return [Qonfig::Settings]
    #
    # @api private
    # @since 0.1.0
    attr_reader :settings

    # @api public
    # @since 0.1.0
    def initialize
      @settings = Qonfig::SettingsBuilder.build(self.class.commands)
    end

    # @return [void]
    #
    # @api public
    # @since 0.1.0
    def freeze!
      settings.__freeze__
    end

    # @return [void]
    #
    # @api public
    # @since 0.1.0
    def configure
      yield(settings) if block_given?
    end

    # @return [Hash]
    #
    # @api public
    # @since 0.1.0
    def to_h
      settings.__to_hash__
    end
    alias_method :to_hash, :to_h
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qonfig-0.1.0 lib/qonfig/data_set.rb