Sha256: 47a268f8d3b09b515098e241c3055dabd40564d2b55625c27e266718160a230f

Contents?: true

Size: 788 Bytes

Versions: 7

Compression:

Stored size: 788 Bytes

Contents

# frozen_string_literal: true

#
# Copyright (c) 2018-present, Blue Marble Payroll, LLC
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

require 'caution'
require 'forwardable'

require_relative 'acts_as_hashable/factory'
require_relative 'acts_as_hashable/hash_refinements'
require_relative 'acts_as_hashable/type_factory'
require_relative 'acts_as_hashable/hashable'

module ActsAsHashable
  # This module adds the class-level method that marks a class as hashable.
  module DslHook
    def acts_as_hashable
      extend ::ActsAsHashable::Hashable
    end

    def acts_as_hashable_factory
      extend ActsAsHashable::Factory
    end
  end
end

Object.class_eval do
  extend ::ActsAsHashable::DslHook
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
acts_as_hashable-1.3.2 lib/acts_as_hashable.rb
acts_as_hashable-1.3.1 lib/acts_as_hashable.rb
acts_as_hashable-1.3.0 lib/acts_as_hashable.rb
acts_as_hashable-1.3.0.pre.alpha lib/acts_as_hashable.rb
acts_as_hashable-1.2.0 lib/acts_as_hashable.rb
acts_as_hashable-1.2.0.pre.alpha.1 lib/acts_as_hashable.rb
acts_as_hashable-1.2.0.pre.alpha lib/acts_as_hashable.rb