Module: NERA

Defined in:
lib/nera/nera_cui.rb,
lib/nera.rb,
lib/nera/nera_database.rb,
lib/nera/nera_simulator.rb,
lib/nera/nera_db_folders.rb,
lib/nera/nera_job_script.rb,
lib/nera/nera_job_records.rb,
lib/nera/nera_run_records.rb,
lib/nera_addhost/add_hosts.rb,
lib/nera/nera_remote_connector.rb,
lib/nera_addsim/make_simulator.rb,
lib/nera/nera_parameter_records.rb,
lib/nera/nera_simulator_records.rb,
lib/nera/nera_job_layer_controller.rb,
lib/nera/nera_run_layer_controller.rb,
lib/nera/nera_parameter_layer_controller.rb,
lib/nera/nera_simulator_layer_controller.rb

Overview

  • list of public methods
  • initialize( path_to_filename )

  • self.create_table( path_to_basename ) --- method to create new table --- ex. NERA::Database.create_table( "./db")

  • add( new_rec ) --- add a new record to the table. --- new_rec must be specified by a Hash. --- ex. db.add( { :key1 => 'test', :key2 => DateTime.now, ... } ) --- You don't need to specify the ':id' key. If it is specified, it is omitted. --- During the transaction, files are locked with exclusive locks. --- return true if the addition succeeded. --- raise RuntimeError if the specified hash is not valid.

  • find_by_id( id ) --- returns records in Hash. --- id can be Integer, Array of Integers, or Range of Integers. --- During reading file, the files are locked with shared locks. --- If there are several records, it returns Array of Hash.

  • find_all { |rec| (condition) } --- returns the array of the matched records. --- return nil if no record matched.

  • update( rec ) --- update a record --- ex. db.update( :key1=>'updated', :key2=>DateTime.now ) --- returns nil if the record of the specified 'id' does not exist.

  • destroy( id ) --- destroy records --- id may be an Integer, Array of Integers, Range --- if the specified record is not found in the table, return nil.

  • transaction { ..(transaction).. } --- all the database files are exclusively locked during block is processed. --- database files are unlocked at the end of the block. terminates. --- sample -----------

db.transaction do arr = db.find_all do |record| record > 5 end

arr.each do |rec| rec[:state] = finished end
db.update( arr)

end

--- end of sample ---

Defined Under Namespace

Classes: CUI_Hosts_Editor, CUI_Simulator_Adder, CUI_exec, Database, DbFolders, JobLayerController, JobRecords, JobScript, ParameterLayerController, ParameterRecords, RemoteConnector, RunLayerController, RunRecords, Simulator, SimulatorLayerController, SimulatorRecords

Constant Summary collapse

VERSION =
'0.7.0'