module ACH::File::TransmissionHeader
Hosts functionality required to append TransmissionHeader
to a file. TransmissionHeader
is optional and inherited from ACH::Record::Dynamic
class, which means it may have variable number of fields with custom formatting. TransmissionHeader
may be defined only once per file. You may specify default value for custom fields during definition
Example¶ ↑
class MyFile < ACH::File trasmission_header do starting '->1' => '<' receiver_name '->10' ending '->1' => '>' end # other definitions end file = MyFile.new do receiver_name 'MY PROVIDER' end
Public Instance Methods
have_transmission_header?()
click to toggle source
Helper instance method. Returns true
if TransmissionHeader
is defined within scope of it’s class.
@return [Boolean]
# File lib/ach/file/transmission_header.rb, line 71 def have_transmission_header? self.class.have_transmission_header? end
transmission_header(fields = {})
click to toggle source
Builds TransmissionHeader
record for self. Yields it to block
, if passed. Returns nil if no TransmissionHeader
is defined within scope of class.
@param [Hash] fields @return [ACH::File::TransmissionHeader]
# File lib/ach/file/transmission_header.rb, line 80 def transmission_header(fields = {}) return nil unless have_transmission_header? merged_fields = fields_for(self.class::TransmissionHeader).merge(fields) @transmission_header ||= self.class::TransmissionHeader.new(merged_fields) @transmission_header.tap do |head| head.instance_eval(&Proc.new) if block_given? end end