module Hashie::Extensions::Dash::IndifferentAccess

Public Class Methods

included(base) click to toggle source
# File lib/hashie/extensions/dash/indifferent_access.rb, line 5
def self.included(base)
  base.extend ClassMethods
  base.send :include, Hashie::Extensions::IndifferentAccess
end
maybe_extend(base) click to toggle source
# File lib/hashie/extensions/dash/indifferent_access.rb, line 10
def self.maybe_extend(base)
  return unless requires_class_methods?(base)

  base.extend(ClassMethods)
end

Private Class Methods

requires_class_methods?(klass) click to toggle source
# File lib/hashie/extensions/dash/indifferent_access.rb, line 16
def self.requires_class_methods?(klass)
  klass <= Hashie::Dash &&
    !klass.singleton_class.included_modules.include?(ClassMethods)
end

Public Instance Methods

to_h() click to toggle source
# File lib/hashie/extensions/dash/indifferent_access.rb, line 22
def to_h
  defaults = ::Hash[self.class.properties.map do |prop|
    [Hashie::Extensions::IndifferentAccess.convert_key(prop), self.class.defaults[prop]]
  end]

  defaults.merge(self)
end
Also aliased as: to_hash
to_hash()
Alias for: to_h