Sha256: 49caea5d971da89c44d83ba1c43936831b28057d385306cb4c9f75ce162490f4

Contents?: true

Size: 942 Bytes

Versions: 4

Compression:

Stored size: 942 Bytes

Contents

module Yoda
  module Store
    module Registry
      class LocalStore
        # @return [Proc, nil]
        attr_reader :on_change

        # @param on_change [Proc, nil]
        def initialize(on_change: nil)
          @on_change = on_change
        end

        # @return [Registry::Index::ComposerWrapper]
        def registry
          @registry ||= Registry::Index.new.wrap(Registry::Composer.new(id: :local))
        end

        # @param patch [Objects::Patch]
        def add_file_patch(patch)
          registry.add_registry(patch)
          on_change&.call
        end

        # @param patch [Objects::Patch, String, Symbol]
        def remove_file_patch(patch)
          registry.remove_registry(patch)
          on_change&.call
        end

        # @param patch [String, Symbol]
        # @return [Objects::Patch, nil]
        def find_file_patch(id)
          registry.get_registry(id)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/store/registry/local_store.rb
yoda-language-server-0.10.0 lib/yoda/store/registry/local_store.rb
yoda-language-server-0.9.0 lib/yoda/store/registry/local_store.rb
yoda-language-server-0.8.0 lib/yoda/store/registry/local_store.rb