Sha256: 883fd7b01bb8ce9952df3036c283f0346a8b573becf4e391138fb9bee8e2166f

Contents?: true

Size: 648 Bytes

Versions: 3

Compression:

Stored size: 648 Bytes

Contents

require 'chozo/varia_model'

module Chozo
  module Config
    # @author Jamie Winsor <jamie@vialstudios.com>
    # @api private
    class Abstract
      extend Forwardable
      include VariaModel
      
      attr_accessor :path

      def_delegator :to_hash, :slice
      def_delegator :to_hash, :slice!
      def_delegator :to_hash, :extract!

      # @param [String] path
      # @param [Hash] attributes
      def initialize(path = nil, attributes = {})
        @path = File.expand_path(path) if path

        mass_assign(attributes)
      end

      def to_hash
        self.attributes.to_hash.deep_symbolize_keys
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chozo-0.4.2 lib/chozo/config/abstract.rb
chozo-0.4.1 lib/chozo/config/abstract.rb
chozo-0.4.0 lib/chozo/config/abstract.rb