module TritonOps::Support::Feature::HashFromInitializationContract

Public Instance Methods

to_h() click to toggle source
# File lib/triton-ops/support/feature/hash_from_initialization_contract.rb, line 12
def to_h
  self.class.__contracts_engine
    .decorated_methods_for(:instance_methods, :initialize)
    .flat_map(&:args_contracts)
    .flat_map(&:keys)
    .map    { |k| [k, public_send(k)] }
    .reject { |_, v| v.nil? }
    .map    { |k, v| [k, (v.respond_to?(:iso8601) ? v.iso8601 : v)] }
    .to_h
end