Sha256: 95975980f489b8327d9c0bc397428a4f4d9e4030215bc638f44d303d5a3a23a0

Contents?: true

Size: 808 Bytes

Versions: 21

Compression:

Stored size: 808 Bytes

Contents

module Chargify
  module Behaviors
    module Inspectable
      def self.included(base)
        base.extend(ClassMethods)
      end

      def inspect
        vals = self.class.inspect_instance.call(self)
        vals = vals.map{|a| "#{a[0]}: #{nil_or_value(a[1])}"}.join(", ")
        "#<#{self.class.name} #{vals}>"
      end

      private

      def nil_or_value(value)
        value || 'nil'
      end

      module ClassMethods
        def inspect_instance=(value); @inspect_instance = value; end
        def inspect_instance;         @inspect_instance;         end

        def inspect_class=(value); @inspect_class = value; end
        def inspect_class;         @inspect_class;         end

        def inspect
          "#{self.name}(#{self.inspect_class})"
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
chargify_api_ares-1.4.15 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.14 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.13 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.11 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.10 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.7 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.6 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.5 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.4 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.3 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.2 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.1 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.4.0 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.5 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.4 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.3 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.2 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.1 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.3.0 lib/chargify_api_ares/behaviors/inspectable.rb
chargify_api_ares-1.2.1 lib/chargify_api_ares/behaviors/inspectable.rb