Class: Eddy::Data::Persistence::ActiveRecord

Inherits:
Object
  • Object
show all
Defined in:
lib/eddy/data/persistence/active_record.rb

Overview

Persist data to a database using Active Record.

Instance Method Summary collapse

Constructor Details

#initializevoid



8
9
10
11
12
# File 'lib/eddy/data/persistence/active_record.rb', line 8

def initialize()
  unless defined?(Rails) && defined?(Eddy::Rails)
    raise Eddy::Errors::Error, "ActiveRecord persistence method can currently only be used with Ruby on Rails"
  end
end

Instance Method Details

#add_interchange_control_number(new_ctrl_num, sent: false, received: false) ⇒ Array<Integer>

Parameters:

  • new_ctrl_num (Integer)
  • sent (Boolean) (defaults to: false)

    (false)

  • received (Boolean) (defaults to: false)

    (false)

Returns:

  • (Array<Integer>)


29
30
31
32
33
34
35
36
# File 'lib/eddy/data/persistence/active_record.rb', line 29

def add_interchange_control_number(new_ctrl_num, sent: false, received: false)
  Eddy::Rails::InterchangeControlNumber.create!(
    number: new_ctrl_num,
    sent: sent,
    received: received,
  )
  return self.interchange_control_numbers()
end

#add_transaction_set_control_number(transaction_set_id, new_ctrl_num, sent: false, received: false) ⇒ Array<Integer>

Parameters:

  • transaction_set_id (String)
  • new_ctrl_num (Integer)
  • sent (Boolean) (defaults to: false)

    (false)

  • received (Boolean) (defaults to: false)

    (false)

Returns:

  • (Array<Integer>)


43
44
45
46
47
48
49
50
51
# File 'lib/eddy/data/persistence/active_record.rb', line 43

def add_transaction_set_control_number(transaction_set_id, new_ctrl_num, sent: false, received: false)
  Eddy::Rails::TSetControlNumber.create!(
    number:   new_ctrl_num,
    t_set:    transaction_set_id,
    sent:     sent,
    received: received,
  )
  return transaction_set_control_numbers(transaction_set_id)
end

#interchange_control_numbersArray<Integer>

Returns:

  • (Array<Integer>)


15
16
17
# File 'lib/eddy/data/persistence/active_record.rb', line 15

def interchange_control_numbers()
  return Eddy::Rails::InterchangeControlNumber.select(:number).collect(&:number)
end

#transaction_set_control_numbers(transaction_set_id) ⇒ Array<Integer>

Parameters:

  • transaction_set_id (String)

Returns:

  • (Array<Integer>)


21
22
23
# File 'lib/eddy/data/persistence/active_record.rb', line 21

def transaction_set_control_numbers(transaction_set_id)
  Eddy::Rails::TSetControlNumber.where(t_set: transaction_set_id).select(:number).collect(&:number)
end