Sha256: c3c5c78d192d1b63f7ff00964f7aced3ebf0e2be6ff68ee1f0ac3847ce4f9b90

Contents?: true

Size: 472 Bytes

Versions: 15

Compression:

Stored size: 472 Bytes

Contents

class Configatron

  class Proc

    attr_accessor :execution_count
    attr_accessor :block

    def initialize(&block)
      self.execution_count = 0
      self.block = block
    end

    def call
      unless @val
        val = self.block.call
        self.execution_count += 1
        if finalize?
          @val = val
        end
      end
      return val || @val
    end

    def finalize?
      true
    end

    def inspect
      call.inspect
    end

  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
configatron-4.5.1 lib/configatron/proc.rb
configatron-4.5.0 lib/configatron/proc.rb
configatron-4.4.1 lib/configatron/proc.rb
configatron-4.4.0 lib/configatron/proc.rb
configatron-4.3.0 lib/configatron/proc.rb
configatron-4.2.1 lib/configatron/proc.rb
configatron-4.2.0 lib/configatron/proc.rb
configatron-4.1.1 lib/configatron/proc.rb
configatron-4.1.0 lib/configatron/proc.rb
configatron-4.0.3 lib/configatron/proc.rb
configatron-4.0.2 lib/configatron/proc.rb
configatron-4.0.1 lib/configatron/proc.rb
configatron-4.0.0 lib/configatron/proc.rb
configatron-3.2.0 lib/configatron/proc.rb
configatron-3.1.3 lib/configatron/proc.rb