BLOOD RUBY
by Thomas B. Cavanagh
November 30 – December 11, 2026 Virtual Book Tour
Synopsis:

Sandy Corrigan is backโsmarter, tougher, and in more danger than ever.
What should have been a routine job for a real estate developer explodes into a nightmare when private investigator Sandy Corrigan stumbles on a murdered corpse. The police quickly target someone she loves, and clearing his name becomes her only option.
But this case is no ordinary investigation. To uncover the truth, Sandy must plunge deep into the hidden world of Central Floridaโs homeless communityโwhere secrets fester, loyalties are fragile, and every step could be her last.
A gripping sequel to the award-winning Diamond Cut, which was hailed as โfast paced and suspensefulโ by #1 NYT bestseller Janet Evanovich.
Praise for Blood Ruby:
“A sympathetic look at the plight of the homeless set against a heart-thumping investigation undertaken by a fearlessโoften foolhardyโP.I. determined to discover who is murdering the denizens of a homeless camp in the swamps of Central Florida. Gritty, atmospheric, and utterly page-turning, Blood Ruby gallops to a scorching conclusion.”
~ Bonnie Kistler, Edgar-nominated author of Shell Games
“Gripping and propulsive, Cavanagh rips at your heartstrings while shedding light on the complexities of humanity.”
~ Courtney Psak, author of The Tutor and The Hostess
Book Details:
Genre: Thriller
Published by: Level Best Books
Publication Date: October 20, 2026
Number of Pages: 300
ISBN: 979-8-89820-378-8 (pbk)
Series: Sandy Corrigan (Gemstone) series, Book 2
Book Links: Amazon | Kindle | Barnes & Noble | BookShop.org | Goodreads | BookBub
Read an excerpt:
Chapter 1
The first thing I noticed was the acrid smell of urine. Sharp and pungent, it cut through the thick, humid air that hangs over Central Florida in early August. I worked my way carefully along a worn trail through overgrown palmetto scrub and tall, shady trees. Spanish moss dripped like eerie bunting from the thick branches of the overhanging live oaks. I stepped over a sodden blue t-shirt crumpled at my feet. A pile of trash laid nearby. Empty Gatorade bottles. Fast food wrappers. Cigarette butts.
I wasn’t alone. Carmen led the way down the path. Although we had corresponded through email and spoken on the phone, we had not actually met in person until a few minutes ago. Like me, she wore jeans and a t-shirt. As she had suggested, I wore thick-soled sneakers. She wore a pair of scuffed hiking boots. No sandals or open-toed shoes.
Carmen was maybe a few years older than me, mid-thirties, with brown hair pulled back into a ponytail under a baseball cap. My hair wasnโt quite long enough for a ponytail. I never liked them anyway. Carmen seemed nice enough. She had been responsive to my inquiries. She was certainly passionate about her work. And despite the understandable resistance she might have to my reason for being here, so far she had been polite and professional.
โWatch your step,โ she said, turning back toward me. โThere could be glass or needles.โ She continued down the path. I did as instructed and kept pace.
โAny idea,โ I asked. โWhat kind of population we can expect?โ
โWhat do you mean?โ
โYou know, how many?โ
โAh. I thought you were asking about demographics. Iโm not exactly sure how many. Itโs been a while since I was out here. That was maybe nine or ten months ago. There were about a dozen back then. Maybe more. Mostly men. I donโt remember any kids.โ
โKids?โ I asked. โHomeless kids?โ
Carmen paused and gave me a look that denoted her utter disbelief at my ignorance. โOh yes. More kids than you would believe.โ She began moving again. โBut I donโt think weโll find any kids or families here. Itโs not what you would call a family friendly location. No services nearby. It isnโt really a safe camp. Not that any are truly safe. But some more than others. And this one, wellโฆWe really try to get the kids and families into shelters.โ
โWhat, uh, what do you mean by not safe?โ
โYouโll see.โ
We stepped out of the thick, shadowed tree line and into a wide, grassy clearing. I have never attended a multi-day outdoor music festival, but I can only imagine that this is what they look like when they are over. Trash was strewn in random piles all across the space. At least ten tents dotted the lawn in no discernible pattern. A half dozen cardboard forts were covered with blue and green nylon tarps. There were several shopping cartsโa couple upright and full of stuffed garbage bags and at least two on their sides. I recognized the lime green of the Publix supermarket chain and the bright red from Target among the carts. One of the overturned carts was missing a wheeled caster.
There wasnโt much movement in the camp, although I did see a shirtless man in baggy jeans standing at the tree line on the opposite side of the clearing. He idly scratched the gray stubble on his neck and chin. A woman of some indeterminate age squatted next to a tent sorting through a black plastic garbage bag. Presumably the languid summer sun was keeping the rest of the residents of the encampment in their tents or under the shade of the trees. Some were likely out on their street corners, panhandling, while others were making their daily circuit of stops to churches, restaurants, and convenience stores. The thick, moist air hung heavy over the clearing, softening any noise. It was quiet except for the chittering of cicadas in the grass.
โLooks like more than last time,โ Carmen said, scanning her gaze across the camp.
โIโll need as accurate a count as we can get,โ I said.
โI know.โ Her voice was tired and tinged with a hint of regret. She didnโt want to be here. Carmen Aguirre was Assistant Director of the Orange County Homeless Coalition. While the Executive Director spent most of his time fundraising and overseeing the main shelter and soup kitchen downtown, Carmen was responsible for primary field operations. This included weekly food distributions at county parks, referring people to emergency services, and helping people into shelters and transitional housing. She was also responsible for keeping as accurate a census of the number of homeless in the county as could be maintained, including the approximate locations of camps.
We were currently on a rural plot of land in east Orange County, not too far from the encroaching suburban sprawl that was creeping east from the Avalon Park neighborhood past the Little Econlockhatchee River, what the locals referred to as the Little Econ. This particular plot of land was owned by my current client, Ben Nolan, CEO of Nolan Brothers Homes, a mid-sized local real estate developer. In preparation for developing the land for a project, Mr. Nolan had hired meโor more precisely, had hired the private investigation firm owned by my brother Billyโto determine the size and impact of the homeless encampment currently occupying his property.
As it had been explained to me, Mr. Nolan would need to arrange the removal of these trespassers. However, having heard rumors of the impending housing development, a local advocacy group called Peopleโs Voice had filed a legal motion to block the development, challenging Mr. Nolanโs authority to remove the encampment. While the motion would most likely eventually be thrown out, the whole process was intended to be an expensive delaying tactic. In that, it was succeeding. Meanwhile, my job was to count the residents.
I had arranged things with Carmen a few days ago and here we now were on a hot, muggy August morning. I pulled out my iPhone and snapped a few pictures.
โYou may not want to do that,โ Carmen said. โSome folks are touchy about having their pictures taken.โ
โThatโs the job.โ I clicked a few more images, including a slow, wide panorama of the entire clearing. โMr. Nolan wants to see the extent of the camp.โ
โHe could just come out here and see for himself.โ There was an element of bitterness in her reply. Carmen knew that these people would all soon be displaced in the name of capitalistic progress, scattered into countless other dark corners of the Central Florida landscape.
โThatโs what I get paid for,โ I said. I increased the cameraโs zoom and took closer shots of several of the tents and tarp-covered forts. For no particular reason, I took a picture of a tilted Publix shopping cart. I clicked a picture of the shirtless man on the opposite side of the clearing, feeling a little voyeuristic and guilty. The brush to my left rustled and I lowered my phone.
A man approached. His hair was long and a filthy brown, tied into a ponytail. His beard was unkempt and streaked with gray. His clothes were practically tatters hanging on his bony frame. He wore a black baseball cap with the name and call sign of a naval vessel around an image of an aircraft carrier. USS Carl Vinson CVN-70. As he approached, the sharp tang of his body odor made me involuntarily recoil slightly.
Carmen put her hand on my wrist, a silent signal to let her take the lead here. She took a half step toward him.
โGood morning,โ she said.
He narrowed his eyes at us. โMorninโ.โ His voice was surprisingly gentle, a deep baritone. When he spoke I noticed several missing teeth in his mouth.
โIโm Carmen, from the Homeless Coalition. Whatโs your name?โ
โCarl.โ
I blinked between his smudged face and the USS Carl Vinson hat on his head. Carl? Coincidence?
โYou look familiar, Carl,โ Carmen said.
โI come to the shelter sometimes. Mostly when it’s cold. Sometimes I sweep floors or whatever for a few bucks.โ
โThat must be it. Nice to see you again.โ
โI could use a few bucks now.โ
Carmen nodded. โI have some things in my car. Some clothes, some food and water, toothpaste. I can share them before I leave.โ
โNo money?โ
โNot today. Just the supplies in my car.โ
โWhat about her?โ He nodded at me.
โNo. Just whatโs in my car. See me before I leave.โ
He shook his head. โIโll be long gone before that.โ He took a step back, watching us. โGood luck,โ he said and disappeared into the trees. The sour stench from his unwashed body lingered, lodged in my sinuses, even after his departure. The whole conversation had only lasted a minute or two. But it seemed so much longer. Good luck? What did that mean? I glanced over at Carmen for some signal whether this encounter was a typical interaction or something to be concerned about. Her expression was unreadable.
โYou should just get what you came for,โ she said.
I nodded. I lifted my phone and again selected the camera app. I took photos of the tents, the tarp forts, and the piles of trash. The overturned shopping carts. The prone, sleeping figures on the ground. As I panned across, I again spotted the woman in the center of the clearing who was still sitting on her haunches and rummaging through the black plastic garbage bag. Except she was now no longer looking in the bag. I zoomed in slightly. Through the screen, she stared directly at me through squinted, accusing eyes. Her weather-worn face was framed by colorless, straw-like hair pulled back and held by a band. She pursed her lips into a sour expression and abruptly stood. I quickly slipped the iPhone into my pocket.
The woman stepped around the garbage bag and walked briskly toward us. Her limping gait was purposeful, maybe even aggressive. Her expression didnโt change.
Carmen again placed a hand on my forearm. โLet me talk.โ
I nodded. As before, I had no problem with that. The woman limped up to us and stopped two feet away, encroaching in our personal space, a foot closer than seemed polite and customary. She cut her eyes back and forth between us.
โYeah, who are you?โ she asked. Her voice was raspy, as weathered as her lined face.
Carmen smiled at her. โHi. Iโm Carmen. Iโm from the Homeless Coalition. Whatโs your name?โ
The woman looked her up and down. โCarmenโฆโ she repeated and turned her gaze on me. โAnd her?โ
โIโm, uh, Sandy,โ I said. I tried a smile but it felt more like a grimace.
โYou a cop?โ
โA cop? Me? No. Not a cop.โ
โSo,โ Carmen said, trying to draw her attention back. โYour name?โ
The woman kept her eyes locked on me for another long awkward moment before she finally pulled away and addressed Carmen. โRuby.โ
Carmen repeated her smile. โNice to meet you, Ruby. I donโt know if you were here about nine months ago, but I came out here back then. We try to come out and visit every so often to check in, offer services or supplies, and try to figure out how many people are living in the camp. Thatโs why weโre here now. Weโre going to spend a few minutes, maybe talk to a few people, and try to figure out how many people live in this camp. Okay?โ
Ruby nodded. โYeah. Okay. Yeah. I kinda remember that. Yeah. I can help.โ
โThat would be great,โ Carmen said.
โYou donโt have ten bucks, do you?โ
โWeโll talk about that before we leave,โ Carmen said. โI have some food and clothes and things in my car.โ
โAny cigarettes?โ
โNot today.โ
โYeah. Not today.โ Ruby gestured behind her at the tent where she had been squatting and said with some level of pride, โSo, yโknow, this is my spot.โ She began walking and we fell into step behind her. โMost everyone is out. There are a few here, though. Paul is over there.โ She nodded at the shirtless man with the gray stubble. The man stared at us expressionless. His bare torso was dotted with red spots that might have been insect bites.
โIโm going to take some notes, okay?โ Carmen said. She pulled a small notepad and pen from a string bag slung over her shoulder.
Ruby nodded. โYeah. Notes. Yeah.โ
From Rubyโs spot in the general center of the clearing, we took a quick inventory of the tents and forts. There were eleven tents and five tarp forts for a total of sixteen camps. Ruby occasionally pointed at a spot and shared some detail about the occupant.
โYeah, thatโs Speeder. Thatโs Grace over there. I donโt know that guy. He never talks. His hair is too long. Everyone knows the guys with short hair get more money. Thatโs Junior. You need to meet Junior. Over in that corner, thatโs Derek. And thatโs R.C. You already met Carl. Heโs pretty new. Of course, you know Paul.โ She waved her hand at the shirtless guy with the bug bites. He made no response.
โIs there anyone who doesnโt have a tent or a spot?โ Carmen asked. โWho just lives here without shelter?โ
โYeah. A couple. Yโknow. They come and go.โ
โHow many? Two? Three? Maybe more?โ
โYeah. Two or Three. Maybe more.โ She tilted her head and pointed at a green and white tent about twenty yards away. โOf course, you canโt count George.โ
โOh?โ Carmen said. โWhy not?โ
โWell, not anymore.โ
โNot anymore? Did George leave?โ
โYeah. Kinda. He died.โ
Carmen and I exchanged a look. โDied?โ Carmen repeated. โIโm so sorry. Were you close?โ
โYou know. Pretty close. Like I said, that far away.โ She nodded at the distance separating her tent from the green and white tent.
โUm, how long has he been gone?โ
โOh, heโs not gone. So, maybe you can count him after all. I dunno. You wanna see?โ
Carmen hesitated. Ruby stared at us with wide eyes. I filled the silence with โUhโฆโ
โSee George?โ Carmen asked slowly, ensuring we understood what Ruby was saying.
โYeah. George.โ
โNow?โ
โYeah.โ
โOkayโฆโ Carmen said. โIs heโฆclose?โ
โYeah, pretty close.โ We followed behind Rubyโs limping path to the green and white tent. It was a Coleman pop-up, filthy and torn. Trash was strewn in front of the entrance. As we approached I picked up an aroma that I knew could only be one thing. A rotten stench, tinged vaguely sweet. Carmenโs face told me that she smelled it, too. My heart pounded in anticipation of what lay inside. Ruby stopped at the entrance.
โYou wanna open it or should I?โ Ruby asked.
Carmen took a fortifying breath. โYou go ahead.โ
โYeah, okay.โ Ruby leaned down and pulled the zipper in a long arc, opening the nylon flap and flinging it aside. A torrent of buzzing flies erupted, filling the inside of the tent in a roiling, black cloud. The full force of the stench of rotten human flesh hit us like a concussive blast. Inside, the bloated body of a man was laying on his back. His open eyes stared up, cracked lips slightly parted. He was laying in a slick pool of drying black blood that filled the basin of the tent floor. His clothes were sliced in multiple places across his torso and legs and dark blood stained everything he wore. Small white maggots wriggled on a gaping incision in the exposed flesh of his belly. I had seenโand smelledโenough. I turned around, put my hands on my knees, and gagged, trying my best not to vomit.
โSo, yeah,โ Ruby said. โThatโs George. Like I said, are you gonna count him or not?โ
***
Excerpt from Diamond Cut by Thomas B. Cavanagh. Copyright 2026 by Thomas B. Cavanagh. Reproduced with permission from Thomas B. Cavanagh. All rights reserved.
Author Bio:

Thomas B. Cavanagh is an Amazon best-selling, award-winning author of Florida crime thrillers. He has won both Gold and Bronze Florida Book Awards and has been a finalist for a Best Novel Shamus Award by the Private Eye Writers of America. He holds a Ph.D. in Texts & Technology from UCF and is a graduate of the University of Miami Creative Writing program. He is a member of the Mystery Writers of America, International Thriller Writers, Private Eye Writers of America, Sisters in Crime, and the Authorโs Guild. Tom lives in Central Florida with his family and two quirky cats.
Catch Up With Thomas B. Cavanagh:
ThomasBCavanagh.com
Amazon Author Profile
Goodreads
BookBub – @tbcavanagh
Instagram – @tbcavanagh
Threads – @tbcavanagh
X – @tbcavanagh
Facebook – @Thomas B. Cavanagh-Author
Tour Participants:
Tour Host Info:
Book Formats: ePub, Print
Hosting Options: Review
Giveaway: There will be a tour-wide PICT Giveaway
More: According to the author Blood Ruby is considered to be R-level content or less. Readers may still encounter potentially sensitive material. If you have specific trigger or content concerns, please contact Partners in Crime Tours directly for more detailed information.



























