Mange / roadie

Making HTML emails comfortable for the Ruby rockstars
MIT License
1.34k stars 85 forks source link

NoMethodError Exception: undefined method `match' for #<Hash:0x00000000062ecdf8> #165

Open jaswinder97 opened 4 years ago

jaswinder97 commented 4 years ago

Getting this error while generating pdf templates same as web flow at this line:

document.transform

Mange commented 4 years ago

What version of Ruby are you running?

jaswinder97 commented 4 years ago

Its ruby "2.5.3"

Also, seems like it doesn't load html as in normal web flow as compared to sidekiq worker

<Roadie::Document:0x00000000062ec740 @keep_uninlinable_css=true, @merge_media_queries=true, @html={:haml=>"monitor/email_report", :locals=>{:breachedaccounts=>[{"Name"=>"Adobe", "Title"=>"Adobe", "Domain"=>"adobe.com", "BreachDate"=>"2013-10-04", "AddedDate"=>"2013-12-04T00:00:00Z", "ModifiedDate"=>"2013-12-04T00:00:00Z", "PwnCount"=>152445165, "Description"=>"In October 2013, 153 million Adobe accounts were breached with each containing an internal ID, username, email, <em>encrypted</em> password and a password hint in plain text. The password cryptography was poorly done and <a href=\"http://stricture-group.com/files/adobe-top100.txt\" target=\"_blank\" rel=\"noopener\">many were quickly resolved back to plain text</a>. The unencrypted hints also <a href=\"http://www.troyhunt.com/2013/11/adobe-credentials-and-serious.html\" target=\"_blank\" rel=\"noopener\">disclosed much about the passwords</a> adding further to the risk that hundreds of millions of Adobe customers already faced.", "LogoPath"=>"https://haveibeenpwned.com/Content/Images/PwnedLogos/Adobe.png", "DataClasses"=>["Email addresses", "Password hints", "Passwords", "Usernames"], "IsVerified"=>true, "IsFabricated"=>false, "IsSensitive"=>false, "IsRetired"=>false, "IsSpamList"=>false}, {"Name"=>"ModernBusinessSolutions", "Title"=>"Modern Business Solutions", "Domain"=>"modbsolutions.com", "BreachDate"=>"2016-10-08", "AddedDate"=>"2016-10-12T09:09:11Z", "ModifiedDate"=>"2016-10-12T09:09:11Z", "PwnCount"=>58843488, "Description"=>"In October 2016, a large Mongo DB file containing tens of millions of accounts <a href=\"https://twitter.com/0x2Taylor/status/784544208879292417\" target=\"_blank\" rel=\"noopener\">was shared publicly on Twitter</a> (the file has since been removed). The database contained over 58M unique email addresses along with IP addresses, names, home addresses, genders, job titles, dates of birth and phone numbers. The data was subsequently <a href=\"http://news.softpedia.com/news/hacker-steals-58-million-user-records-from-data-storage-provider-509190.shtml\" target=\"_blank\" rel=\"noopener\">attributed to &quot;Modern Business Solutions&quot;</a>, a company that provides data storage and database hosting solutions. They've yet to acknowledge the incident or explain how they came to be in possession of the data.", "LogoPath"=>"https://haveibeenpwned.com/Content/Images/PwnedLogos/ModernBusinessSolutions.png", "DataClasses"=>["Dates of birth", "Email addresses", "Genders", "IP addresses", "Job titles", "Names", "Phone numbers", "Physical addresses"], "IsVerified"=>true, "IsFabricated"=>false, "IsSensitive"=>false, "IsRetired"=>false, "IsSpamList"=>false}, {"Name"=>"Adobe", "Title"=>"Adobe", "Domain"=>"adobe.com", "BreachDate"=>"2013-10-04", "AddedDate"=>"2013-12-04T00:00:00Z", "ModifiedDate"=>"2013-12-04T00:00:00Z", "PwnCount"=>152445165, "Description"=>"In October 2013, 153 million Adobe accounts were breached with each containing an internal ID, username, email, <em>encrypted</em> password and a password hint in plain text. The password cryptography was poorly done and <a href=\"http://stricture-group.com/files/adobe-top100.txt\" target=\"_blank\" rel=\"noopener\">many were quickly resolved back to plain text</a>. The unencrypted hints also <a href=\"http://www.troyhunt.com/2013/11/adobe-credentials-and-serious.html\" target=\"_blank\" rel=\"noopener\">disclosed much about the passwords</a> adding further to the risk that hundreds of millions of Adobe customers already faced.", "LogoPath"=>"https://haveibeenpwned.com/Content/Images/PwnedLogos/Adobe.png", "DataClasses"=>["Email addresses", "Password hints", "Passwords", "Usernames"], "IsVerified"=>true, "IsFabricated"=>false, "IsSensitive"=>false, "IsRetired"=>false, "IsSpamList"=>false}], :unsubscribe_token=>"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6IjEyMzQ1NkB5YWhvby5jb20iLCJleHAiOjE1ODEzNDIwMDV9.DQEJ4tgA8iPZDyJBQEmBxCbcnUODie1Aifxb1KjskXE"}, :layout=>:"monitor/email_layout"}, @asset_providers=#<Roadie::ProviderList:0x0000000005e74370 @providers=[#<Roadie::FilesystemProvider public>]>, @external_asset_providers=#<Roadie::ProviderList:0x00000000062bfbf0 @providers=[#<Roadie::NetHttpProvider whitelist: #<Set: {"xxx.xxx.xxx.xxx", "hacker.monitor.net"}>>]>, @css="", @mode=:html

here is the html one for the same statement:

#<Roadie::Document:0x00007f16f97fd660 @keep_uninlinable_css=true, @merge_media_queries=true, @html="<!DOCTYPE html>\n<html lang='en' xmlns:svg='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/1999/xhtml'>\n<head>\n<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>\n<meta charset='utf-8'>\n<title>Hacker Monitor Subscription</title>\n<meta content='width=device-width, initial-scale=1.0' name='viewport'>\n<meta content='' name='description'>\n<meta content='' name='author'>\n<!-- Le styles -->\n<link href='/stylesheets/hacker-monitor-custom.css' rel='stylesheet'>\n<link href='/stylesheets/bootstrap.css' rel='stylesheet'>\n<link href='/img/favicon.ico' rel='icon' type='image/x-icon'>\n<style>\n body {\n padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */\n }\n</style>\n</head>\n<body>\n<div class='container-fluid'>\n<div id='vue-app'>\n<div class='row'>\n<div class='col-6 offset-1'>\n<div class='row logo float-left'>\n<div class='col-4'>\n<img class='frame' src='http://monitor.hacker.net/img/logo-frame.png'>\n</div>\n<div class='col-8'>\n<a href='https://www.hacker.net/'>\n<img class='imge' src='http://monitor.hacker.net/img/logo-image.png'>\n</a>\n</div>\n</div>\n</div>\n<div class='col-5'>\n<div class='social'>\n<a href='https://www.facebook.com/sharer/sharer.php?u=http://monitor.hacker.net'>\n<img class='facebook' src='http://monitor.hacker.net/img/facebook-1024.png'>\n</a>\n<a href='https://twitter.com/share?url=http://monitor.hacker.net'>\n<img class='twitter' src='http://monitor.hacker.net/img/twitter-1024.png'>\n</a>\n</div>\n</div>\n</div>\n\n<div class='row report'>\n<div class='col-md-12'>\n<div class='row' style='padding-top: 15px'>\n<div class='col-md-10 offset-md-2'>\n<span class='header'>Your information was part of a data breach.</span>\n</div>\n</div>\n<div class='row'>\n<div class='col-md-10 offset-md-2'>\n<span>Accounts associated with your email address</span>\n<span class='associated-email'>\njaswindersinghsn97@gmail.com\n</span>\n<span>\nappeared in the following 3 breaches.\n</span>\n</div>\n</div>\n<div class='row hoff-top cards-sm'>\n<div class='col-md-5 offset-md-1'>\n<div class='tbox row'>\n<div class='col-sm-4'>\n<img class='logo' src='https://haveibeenpwned.com/Content/Images/PwnedLogos/Adobe.png'>\n</div>\n<div class='col-sm-8'>\n<span class='name hoff-bottom'>Adobe</span>\n<br>\n<span class='title'>Breach date:</span>\n<span class='desc'>2013-10-04</span>\n<br>\n<span class='title'>Compromised accounts:</span>\n<span class='desc'>152445165</span>\n<br>\n<span class='title'>Compromised data:</span>\n<span class='desc'>Email addresses, Password hints, Passwords, Usernames rescue NoMethodError</span>\n</div>\n</div>\n</div>\n<div class='col-md-5 offset-md-1'>\n<div class='tbox row'>\n<div class='col-sm-4'>\n<img class='logo' src='https://haveibeenpwned.com/Content/Images/PwnedLogos/ModernBusinessSolutions.png'>\n</div>\n<div class='col-sm-8'>\n<span class='name hoff-bottom'>ModernBusinessSolutions</span>\n<br>\n<span class='title'>Breach date:</span>\n<span class='desc'>2016-10-08</span>\n<br>\n<span class='title'>Compromised accounts:</span>\n<span class='desc'>58843488</span>\n<br>\n<span class='title'>Compromised data:</span>\n<span class='desc'>Dates of birth, Email addresses, Genders, IP addresses, Job titles, Names, Phone numbers, Physical addresses rescue NoMethodError</span>\n</div>\n</div>\n</div>\n<div class='col-md-5 offset-md-1'>\n<div class='tbox row'>\n<div class='col-sm-4'>\n<img class='logo' src='https://haveibeenpwned.com/Content/Images/PwnedLogos/Adobe.png'>\n</div>\n<div class='col-sm-8'>\n<span class='name hoff-bottom'>Adobe</span>\n<br>\n<span class='title'>Breach date:</span>\n<span class='desc'>2013-10-04</span>\n<br>\n<span class='title'>Compromised accounts:</span>\n<span class='desc'>152445165</span>\n<br>\n<span class='title'>Compromised data:</span>\n<span class='desc'>Email addresses, Password hints, Passwords, Usernames rescue NoMethodError</span>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div class='hacker-monitor-report-footer row'>\n<div class='col-md-12'>\n<footer>\n<span>Cyber Security School - The Best Online Cyber Security Courses</span>\n</footer>\n\n<span>To Unsubcribe from alert reports:</span>\n</div>\n</div>\n\n</div>\n</div>\n</body>\n</html>\n", @asset_providers=#<Roadie::ProviderList:0x00007f16f960ecf0 @providers=[#<Roadie::FilesystemProvider public>]>, @external_asset_providers=#<Roadie::ProviderList:0x00007f16f97faed8 @providers=[#<Roadie::NetHttpProvider whitelist: #<Set: {"12.217.291.172", "monitor.net"}>>]>, @css="", @mode=:html>

Mange commented 4 years ago

Do you have a full stack trace? It would be easier if so could tell where the error happens.