Class: Factbase::Fact
- Inherits:
-
Object
- Object
- Factbase::Fact
- Defined in:
- lib/factbase/fact.rb
Overview
A single fact in a factbase.
This is an internal class, it is not supposed to be instantiated directly, by the Factbase
class. However, it is possible to use it for testing directly, for example to make a fact with a single key/value pair inside:
require 'factbase/fact'
f = Factbase::Fact.new(Mutex.new, { 'foo' => [42, 256, 'Hello, world!'] })
assert_equal(42, f.foo)
A fact is basically a key/value hash map, where values are non-empty sets of values.
- Author
-
Yegor Bugayenko ([email protected])
- Copyright
-
Copyright © 2024 Yegor Bugayenko
- License
-
MIT
Instance Method Summary collapse
-
#all_properties ⇒ Array<String>
Get a list of all props.
-
#initialize(mutex, map) ⇒ Fact
constructor
Ctor.
-
#to_s ⇒ String
Convert it to a string.
Constructor Details
#initialize(mutex, map) ⇒ Fact
Ctor.
49 50 51 52 |
# File 'lib/factbase/fact.rb', line 49 def initialize(mutex, map) @mutex = mutex @map = map end |
Instance Method Details
#all_properties ⇒ Array<String>
Get a list of all props.
62 63 64 |
# File 'lib/factbase/fact.rb', line 62 def all_properties @map.keys end |
#to_s ⇒ String
Convert it to a string.
56 57 58 |
# File 'lib/factbase/fact.rb', line 56 def to_s "[ #{@map.map { |k, v| "#{k}: #{v}" }.join(', ')} ]" end |