class BanksApi::InspectableBuilder

Public Class Methods

new(accessors) click to toggle source
# File lib/banks_api/inspectable_builder.rb, line 3
def initialize(accessors)
  define_inspect(accessors)
  freeze
end

Private Instance Methods

define_inspect(accessors) click to toggle source
# File lib/banks_api/inspectable_builder.rb, line 10
def define_inspect(accessors)
  define_method(:inspect) do
    attributes_string = accessors.map do |accessor|
      "  #{accessor}: #{send(accessor).inspect}"
    end.join(",\n")

    "#<#{self.class.name}\n#{attributes_string}\n>"
  end
end