Method: Sruby::Database#update

Defined in:
lib/sruby/index.rb

#update(table_name, *values) ⇒ Array

Updates values in a table db = Sruby::Database.new db.create_table(“users”) db.insert(“users”, “person” => “John”, “age” => “24”) db.update(“users”, “person” => “John”, “age” => “25”) db.update(“users”, Hash[“person” => “John”, “age” => “25”])

Parameters:

  • table_name (String)

    The name of the table

  • values (String, Hash)

    The values to update

Returns:

  • (Array)

    The database object



91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/sruby/index.rb', line 91

def update(table_name, *values)
  case values[0]
  when Hash
    values[0].stringify_keys!
    values_as_paths = values[0].paths
    values_as_paths.each do |path, value|
      @db.execute("REPLACE INTO #{table_name} (name, value) VALUES (?, ?)", path.join("."), value)
    end
  else
    @db.execute("REPLACE INTO #{table_name} (name, value) VALUES (?, ?)", values[0].to_s, values[1])
  end
end