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 = {}, &block) ⇒ Object
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
60 61 62 |
# File 'lib/ach/file/transmission_header.rb', line 60 def have_transmission_header? self.class.have_transmission_header? end |
#transmission_header(fields = {}, &block) ⇒ Object
Builds TransmissionHeader
record for self. Yields it to block
, if passed. Returns nil if no TransmissionHeader
is defined within scope of class.
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/ach/file/transmission_header.rb', line 66 def transmission_header(fields = {}, &block) 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(&block) if block end end |