Module: JSONdb::Tables

Includes:
Logger
Included in:
Db
Defined in:
lib/jsondb/tables.rb

Instance Method Summary collapse

Methods included from Logger

#allowed_log_level?, #log, #log_enabled?, #log_this?

Instance Method Details

#create_table(name) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/jsondb/tables.rb', line 39

def create_table(name)
  if table_exists?(name)
    log("Already exists '#{name}'.", :error)
    return false
  else
    begin
      JSONdb.tables[name] = JSONdb::Table.new(name, true) 
      log("Created '#{name}'.", :info)
      return true
    rescue
      log("Cannot create '#{name}'", :error)
      return false
    end
  end
end

#drop_table(name) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/jsondb/tables.rb', line 55

def drop_table(name)
  begin
    JSONdb.tables[name].destroy
    JSONdb.tables[name] = nil
    JSONdb.tables.delete(name)
    log("Deleted '#{name}'.", :info)
    return true
  rescue
    log("Could not delete '#{name}'.", :error)
    return false
  end
end

#load_table(name) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/jsondb/tables.rb', line 28

def load_table(name)
  begin
    JSONdb.tables[name] = JSONdb::Table.new(name, false)
    log("Loaded from disk '#{name}',", :info)
    return true
  rescue
    log("Cannot load from disk '#{name}'", :error)
    return false
  end
end

#table(name) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/jsondb/tables.rb', line 7

def table(name)
  begin
    return JSONdb.tables[name]
  rescue
    log("Table does not exists '#{name}'.", :error)
    return nil
  end
end

#table_countObject



20
21
22
# File 'lib/jsondb/tables.rb', line 20

def table_count
  return table_names.count
end

#table_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/jsondb/tables.rb', line 24

def table_exists?(name)
  JSONdb.tables.keys.include?(name)
end

#table_namesObject



16
17
18
# File 'lib/jsondb/tables.rb', line 16

def table_names
  JSONdb.tables.keys
end

#tables_to_hashObject



68
69
70
71
72
73
74
# File 'lib/jsondb/tables.rb', line 68

def tables_to_hash
  to_hash = Hash.new
  JSONdb.tables.each do |key, values|
    to_hash = to_hash.merge(values.to_hash)
  end
  return to_hash
end