Sha256: ddb33a2c4956cda11d6d433815bb89fe42c3bb41f711a05d3abdd0425a554739

Contents?: true

Size: 400 Bytes

Versions: 5

Compression:

Stored size: 400 Bytes

Contents

module Hashie
  module Extensions
    module Mash
      module SafeAssignment
        def custom_writer(key, *args) #:nodoc:
          if !key?(key) && respond_to?(key, true)
            raise ArgumentError, "The property #{key} clashes with an existing method."
          end
          super
        end

        def []=(*args)
          custom_writer(*args)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/hashie-5.0.0/lib/hashie/extensions/mash/safe_assignment.rb
hashie-5.0.0 lib/hashie/extensions/mash/safe_assignment.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/hashie-4.1.0/lib/hashie/extensions/mash/safe_assignment.rb
hashie-4.1.0 lib/hashie/extensions/mash/safe_assignment.rb
hashie-4.0.0 lib/hashie/extensions/mash/safe_assignment.rb