karlomikus / bar-assistant

Bar assistant is a all-in-one solution for managing your home bar

Home Page:https://barassistant.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A child ingredient should count towards cocktails that can be made

augustf opened this issue · comments

commented

When checking the "Ingredient is variety of another ingredient" box, it seems to me that cocktails that can be made with the parent ingredient should show as being able to be made. So for instance, if one were to add a particular variety of white rum, and list it as a variety of white rum, any cocktail calling for white rum should count as being able to be made.

Hello, thanks for the contributing!

I'd have to think about this. I like the current way since it's explicit. I could see this being some kind of toggle when creating the cocktail, to pull in all the "related" ingredients.

Also before doing something like this, the default installation ingredients have to be double checked and modified to have correct relationships.

commented

Yes-it's not clearly a bug - more an opinionated sort of thing. This got confusing for me when I had 5 kinds of white rum (all totally interchangeable), but was told I couldn't make white rum cocktails without adding the generic ingredient. But there may be situations (say, whiskey) where parent and child aren't interchangeable. But I suspect those particular cases are a matter of taste and not all that common. The recipe would still say what exact spirit was called for, but you'd at least be shown a list of cocktails that you can plausibly make.

Another more modest way to resolve this might be to automatically add the parent ingredient to the shelf when a child gets added.

commented

This could also be a user setting, or even an environment variable passed to the application, so users/admins could control the cocktail ingredient selection behavior.

This got confusing for me when I had 5 kinds of white rum (all totally interchangeable), but was told I couldn't make white rum cocktails without adding the generic ingredient.

Is there a reason why you didn't add "White rum" to your shelf?

When it comes to spirits....categories of a spirit can be very difficult to declare and are really a personal choice. ESPECIALLY for rum. There are books which dive deep into this subject and the result is a ton of categories.

For example, someone here mentioned white rum. Here are just a few reasons why I choose not to use that classification.

  1. White (clear) rum doesn't mean it is unaged. Spanish Style (Cuba/PuertoRico/etc) rums charcoal filter their Rum so it is clear/white when in reality it could be aged.
  2. White rum flavor profile can vary wildly. Jamaican vs Spanish style are worlds apart in flavor.

My point is classification can be VERY complex and into the weeds. I think it's best for Bar-Assistant / SaltRim to simply provide a basic default setup/classification but allow the user to modify/edit as desired for more comprehensive bars.

commented

Absolutely - and I suspect this as much about the default cocktails provided as anything else. All of them are generic, and so after inputting a large and comprehensive bar, I'm able to make...3. So it really depends what you think the "cocktails you can make" feature means. If it's "exact cocktails you can make with these exact brands of ingredients," it's going to always be a very, very small number. So my personal sense is that it should be "cocktails you could plausibly make with what you have." But that might not work for a lot of people.

A solution here might be to make better use of the substitutes table, or to make it easier to mark a cocktail's requirement for a spirit to be strict or loose. Certainly, all the IBA cocktails included are meant to be generic, and never call for an overly specific kind of ingredient. So in the default data set at least, the "cocktails you can make feature" isn't doing any work at all.

I utilize the substitutes feature. In addition I try to use generic ingredients for example "Unaged Jamaican Overproof Rum" instead of "Wray & Nephew Overproof Rum" or "RumFire". And currently if the drink really does require me to narrow it down further to something specific, I call that out in instructions/description.

When it comes to base spirits, I try not to over clutter my ingredients list with name brand stuff. Amaro on the other hand really does need to be called out by exact name (Campari for example).

I can see this being useful depending on how specific you want to manage your ingredients. I still think you can add "Parent ingredient XY" to your shelf since you actually have a variety of that spirit.

So in the default data set at least, the "cocktails you can make feature" isn't doing any work at all.

I disagree with this. I think most users won't care about the ingredient specifics (including me), and just want to see what cocktails can they make. Most recipes I add/import are using the generic ingredients.

The good thing is that this change is simple enough that can be implemented with a optional ENV variable, so I plan to add this as a toggle in next version.

commented

Yes-I think it would be useful to offer users the option!

To clarify my earlier comment, when I said the feature wasn't doing much work, what I meant was for users who start with the IBA cocktails, and then enter a bunch of spirits they have on their bar. Unless they also add the parent ingredient, they won't see many cocktails they can make. I'm not sure how many people will use the application like that, but it's what I did when I got started.

It's best to not add all the spirits in your bar into this app. Or rather, you can...but add them by classifications, not the exact bottle.

I'd also consider augmenting the default classifications to better assist you in doing this.

(Un)Aged Jamaican Rum
(Un)Aged Spanish Rum
(Un)Aged Agricole
(Un)Aged Demerara Rum
etc.....

Cocktail specs also frequently use these classification systems too so it's very useful vs adding every single exact bottle like McCoy 5, El Dorado 8, Rum OP, etc....people don't typically call out exact bottles in cocktail specs

You can now test this behavior by setting:

PARENT_INGREDIENT_SUBSTITUTE=true