Module: ACH::File::TransmissionHeader
- Extended by:
- ActiveSupport::Concern
- Included in:
- ACH::File
- Defined in:
- lib/ach/file/transmission_header.rb
Overview
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
Defined Under Namespace
Modules: ClassMethods Classes: EmptyTransmissionHeaderError, RedefinedTransmissionHeaderError
Instance Method Summary collapse
-
#have_transmission_header? ⇒ Boolean
Helper instance method.
-
#transmission_header(fields = {}) ⇒ ACH::File::TransmissionHeader
Builds
TransmissionHeader
record for self.
Instance Method Details
#have_transmission_header? ⇒ Boolean
Helper instance method. Returns true
if TransmissionHeader
is defined within scope of it’s class.
71 72 73 |
# File 'lib/ach/file/transmission_header.rb', line 71 def have_transmission_header? self.class.have_transmission_header? end |
#transmission_header(fields = {}) ⇒ ACH::File::TransmissionHeader
Builds TransmissionHeader
record for self. Yields it to block
, if passed. Returns nil if no TransmissionHeader
is defined within scope of class.
80 81 82 83 84 85 86 87 88 89 |
# 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 |