Class: Rambling::Trie::Configuration::Properties

Inherits:
Object
  • Object
show all
Defined in:
lib/rambling/trie/configuration/properties.rb,
sig/lib/rambling/trie/configuration/properties.rbs

Overview

Provides configurable properties for Rambling::Trie. :reek:TooManyInstanceVariables { max_instance_variables: 5 }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProperties

Returns a new properties instance.



32
33
34
# File 'lib/rambling/trie/configuration/properties.rb', line 32

def initialize
  reset
end

Instance Attribute Details

#compressorCompressor

The configured Compressor.

Returns:



21
22
23
# File 'lib/rambling/trie/configuration/properties.rb', line 21

def compressor
  @compressor
end

#readersProviderCollection<Readers::Reader>

The configured Readers.

Returns:



13
14
15
# File 'lib/rambling/trie/configuration/properties.rb', line 13

def readers
  @readers
end

#root_builderProc<Nodes::Node>

The configured root_builder, which returns a Node when called.

Returns:



25
26
27
# File 'lib/rambling/trie/configuration/properties.rb', line 25

def root_builder
  @root_builder
end

#serializersProviderCollection<Serializers::Serializer>

The configured Serializers.

Returns:



17
18
19
# File 'lib/rambling/trie/configuration/properties.rb', line 17

def serializers
  @serializers
end

#tmp_pathString

The configured tmp_path, which will be used for throwaway files.

Returns:

  • (String)

    the configured tmp_path.



29
30
31
# File 'lib/rambling/trie/configuration/properties.rb', line 29

def tmp_path
  @tmp_path
end

Instance Method Details

#default_reader_providersHash[Symbol, Readers::Reader]

Returns:



55
56
57
# File 'lib/rambling/trie/configuration/properties.rb', line 55

def default_reader_providers
  { txt: Rambling::Trie::Readers::PlainText.new }
end

#resetvoid

This method returns an undefined value.

Resets back to default properties.



38
39
40
41
42
43
44
45
# File 'lib/rambling/trie/configuration/properties.rb', line 38

def reset
  reset_readers
  reset_serializers

  @compressor = Rambling::Trie::Compressor.new
  @root_builder = -> { Rambling::Trie::Nodes::Raw.new }
  @tmp_path = Dir.tmpdir
end

#reset_readersvoid

This method returns an undefined value.



51
52
53
# File 'lib/rambling/trie/configuration/properties.rb', line 51

def reset_readers
  @readers = Rambling::Trie::Configuration::ProviderCollection.new :reader, default_reader_providers
end

#reset_serializersvoid

This method returns an undefined value.



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/rambling/trie/configuration/properties.rb', line 59

def reset_serializers
  marshal_serializer = Rambling::Trie::Serializers::Marshal.new
  yaml_serializer = Rambling::Trie::Serializers::Yaml.new
  zip_serializer = Rambling::Trie::Serializers::Zip.new self

  @serializers = Rambling::Trie::Configuration::ProviderCollection.new(
    :serializer,
    marshal: marshal_serializer,
    yml: yaml_serializer,
    yaml: yaml_serializer,
    zip: zip_serializer,
  )
end