Sha256: 6bb3a2545b55fd8d7f415a2dd5ef620c78aaa98de87ac9b08628de69c7695a4c

Contents?: true

Size: 805 Bytes

Versions: 23

Compression:

Stored size: 805 Bytes

Contents

# frozen_string_literal: true

module Rack
  class MiniProfiler
    module TimerStruct
      # A base class for timing structures
      class Base

        def initialize(attrs = {})
          @attributes = attrs
        end

        def attributes
          @attributes ||= {}
        end

        def [](name)
          attributes[name]
        end

        def []=(name, val)
          attributes[name] = val
          self
        end

        def to_json(*a)
          # this does could take in an option hash, but the only interesting there is max_nesting.
          #   if this becomes an option we could increase
          ::JSON.generate(@attributes, max_nesting: 100)
        end

        def as_json(options = nil)
          @attributes.as_json(options)
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
rack-mini-profiler-3.0.0 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.3.4 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.3.3 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.3.2 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.3.1 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.3.0 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.2.1 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.2.0 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.1.0 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.0.4 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.0.3 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.0.2 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.0.1 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-2.0.0 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.6 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.5 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.4 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.3 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.2 lib/mini_profiler/timer_struct/base.rb
rack-mini-profiler-1.1.1 lib/mini_profiler/timer_struct/base.rb