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[:id] > 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'