# can be called as class method,
# but can't load default name/phone fields as class method
+# (why was this added? ah, it might get called from realtime_tokenize in this
+# fashion "to tokenize old records on upgrade")
sub _bop_content {
my ($self, $options) = @_;
my %content = ();
$content{name} = $payname if $payname;
- $content{address} = $options->{'address1'};
- my $address2 = $options->{'address2'};
- $content{address} .= ", ". $address2 if length($address2);
+ if ( exists($options->{'address1'}) && length($options->{'address1'}) ) {
- $content{city} = $options->{'city'};
- $content{state} = $options->{'state'};
- $content{zip} = $options->{'zip'};
- $content{country} = $options->{'country'};
+ $content{address} = $options->{'address1'};
+ my $address2 = $options->{'address2'};
+ $content{address} .= ", ". $address2 if length($address2);
+
+ $content{$_} = $options->{$_} foreach qw( city state zip country );
+
+ } elsif ( ref($self) ) {
+
+ $content{address} = $self->address1;
+ my $address2 = $self->address2;
+ $content{address} .= ", ". $address2 if length($address2);
+
+ $content{$_} = $self->$_() foreach qw( city state zip country );
+
+ }
# can't set phone if called as class method
$content{phone} = $self->daytime || $self->night