@@ -85,20 +85,32 @@ namespace :sure do
8585 trans = t [ :transacted_at ]
8686
8787 # convert to Date where possible for window filtering
88- posted_d = case posted
89- when String then Date . parse ( posted ) rescue nil
90- when Numeric then Time . zone . at ( posted ) . to_date rescue nil
91- when Date then posted
92- when Time , DateTime then posted . to_date
93- else nil
94- end
95- trans_d = case trans
96- when String then Date . parse ( trans ) rescue nil
97- when Numeric then Time . zone . at ( trans ) . to_date rescue nil
98- when Date then trans
99- when Time , DateTime then trans . to_date
100- else nil
101- end
88+ posted_d =
89+ case posted
90+ when String
91+ Date . parse ( posted ) rescue nil
92+ when Numeric
93+ Time . zone . at ( posted ) . to_date rescue nil
94+ when Date
95+ posted
96+ when Time , DateTime
97+ posted . to_date
98+ else
99+ nil
100+ end
101+ trans_d =
102+ case trans
103+ when String
104+ Date . parse ( trans ) rescue nil
105+ when Numeric
106+ Time . zone . at ( trans ) . to_date rescue nil
107+ when Date
108+ trans
109+ when Time , DateTime
110+ trans . to_date
111+ else
112+ nil
113+ end
102114
103115 best = posted_d || trans_d
104116 # If neither date is available, skip (cannot window-match safely)
@@ -130,7 +142,7 @@ namespace :sure do
130142 if dry_run
131143 # Simulate: check if we can composite-match; we won't persist
132144 entry = acct . entries . find_by ( external_id : external_id , source : "simplefin" )
133- entry ||= adapter . composite_match ( source : "simplefin" , name : SimplefinEntry ::Processor . new ( t , simplefin_account : sfa ) . send ( :name ) , amount : SimplefinEntry ::Processor . new ( t , simplefin_account : sfa ) . send ( :amount ) , date : ( posted_d || trans_d ) , window_days : ( acct . accountable_type . in? ( [ "CreditCard" , "Loan" ] ) ? 5 : 3 ) )
145+ entry ||= adapter . composite_match ( source : "simplefin" , name : SimplefinEntry ::Processor . new ( t , simplefin_account : sfa ) . send ( :name ) , amount : SimplefinEntry ::Processor . new ( t , simplefin_account : sfa ) . send ( :amount ) , date : ( posted_d || trans_d ) , window_days : ( acct . accountable_type . in? ( [ "CreditCard" , "Loan" ] ) ? 5 : 3 ) )
134146 matched = entry . present?
135147 total_matched += 1 if matched
136148 else
@@ -156,7 +168,7 @@ namespace :sure do
156168 desc "List and optionally delete known demo SimpleFin entries for a given Account. Args (named): account_id, dry_run=true, pattern"
157169 task :cleanup_demo_entries , [ :account_id , :dry_run , :pattern ] => :environment do |_ , args |
158170 kv = { }
159- [ args [ :account_id ] , args [ :dry_run ] , args [ :pattern ] ] . each do |raw |
171+ [ args [ :account_id ] , args [ :dry_run ] , args [ :pattern ] ] . each do |raw |
160172 next unless raw . is_a? ( String ) && raw . include? ( "=" )
161173 k , v = raw . split ( "=" , 2 )
162174 kv [ k . to_s ] = v
0 commit comments