module Licensee::HashHelper

Public Instance Methods

to_h() click to toggle source
# File lib/licensee/hash_helper.rb, line 5
def to_h
  hash = {}
  self.class::HASH_METHODS.each do |method|
    key = method.to_s.delete('?').to_sym
    value = public_send(method)
    hash[key] = if value.is_a?(Array)
                  value.map { |v| v.respond_to?(:to_h) ? v.to_h : v }
                elsif value.respond_to?(:to_h) && !value.nil?
                  value.to_h
                else
                  value
    end
  end

  hash
end