Sha256: e3ccf1ad970270460d5b8c05e8e240e41a36e9f3b9c51f8f57bddabb1ed0e997

Contents?: true

Size: 499 Bytes

Versions: 1

Compression:

Stored size: 499 Bytes

Contents

# encoding: utf-8

module Chronicles

  # Injects the code to object methods selected by options
  #
  # @private
  class Injector

    attr_reader :object, :code, :list

    def initialize(object, code = nil, **options)
      @object = object
      @code   = code
      @list   = Methods.new(object, options)
    end

    def updaters
      list.map { |name| Updater.new(object, name, code) }
    end

    def run
      updaters.each(&:run)
    end

  end # class Injector

end # module Chronicles

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chronicles-0.0.1 lib/chronicles/injector.rb