Class: Hypostasis::Namespace
- Inherits:
-
Object
- Object
- Hypostasis::Namespace
- Defined in:
- lib/hypostasis/namespace.rb
Instance Attribute Summary collapse
-
#data_model ⇒ Object
readonly
Returns the value of attribute data_model.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #destroy ⇒ Object
-
#initialize(name, data_model = :key_value) ⇒ Namespace
constructor
A new instance of Namespace.
- #open ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name, data_model = :key_value) ⇒ Namespace
Returns a new instance of Namespace.
4 5 6 7 8 |
# File 'lib/hypostasis/namespace.rb', line 4 def initialize(name, data_model = :key_value) @name = name.to_s @data_model = data_model.to_sym load_data_model end |
Instance Attribute Details
#data_model ⇒ Object (readonly)
Returns the value of attribute data_model.
2 3 4 |
# File 'lib/hypostasis/namespace.rb', line 2 def data_model @data_model end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
2 3 4 |
# File 'lib/hypostasis/namespace.rb', line 2 def name @name end |
Class Method Details
.create(name, options = {}) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/hypostasis/namespace.rb', line 26 def self.create(name, = {}) raise Hypostasis::Errors::NamespaceAlreadyCreated unless database[name].nil? = { data_model: :key_value }.merge() database.transact do |tr| tr.set(name.to_s, 'true') tr.set(name.to_s + '\\' + Hypostasis::Tuple.new('config','data_model').to_s, [:data_model].to_s) end Hypostasis::Namespace.new(name, [:data_model]) end |
.open(name) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/hypostasis/namespace.rb', line 38 def self.open(name) raise Hypostasis::Errors::NonExistentNamespace if database[name].nil? data_model = database.get(name + '\\' + Hypostasis::Tuple.new('config','data_model').to_s) raise Hypostasis::Errors::CanNotReadNamespaceConfig if data_model.nil? Hypostasis::Namespace.new(name, data_model) end |
Instance Method Details
#destroy ⇒ Object
17 18 19 20 |
# File 'lib/hypostasis/namespace.rb', line 17 def destroy database.clear_range_start_with(@name) true end |
#open ⇒ Object
10 11 12 13 14 15 |
# File 'lib/hypostasis/namespace.rb', line 10 def open raise Hypostasis::Errors::NonExistentNamespace if database[name].nil? data_model = database.get(name + '\\' + Hypostasis::Tuple.new('config','data_model').to_s) raise Hypostasis::Errors::NamespaceDataModelMismatch if data_model != @data_model.to_s self end |
#to_s ⇒ Object
22 23 24 |
# File 'lib/hypostasis/namespace.rb', line 22 def to_s @name end |