HI I am hoping you can give me some guidance. I feel I really am
getting Ruby, far more than I got python I am doing more now in a
couple of weeks than I did with python.

However I just need to get my head around the flow of transactions to
ensure I am not breaking the DRY principle and defeating the purpose
of object orientation.

If this is my proposed flow how can I do it better to be more ruby? I
am happy to do more reading but not always sure what I should
belooking up. I have tried to comment it to make as much sense as
possible.

This is my proposed flow. My main concern is around the option
calculations and selections.

def foo
	some function
end

# get user input
user input 1
user input 2

pass user variables through foo, each option has different set
variables

??? Should I be using a foreach case statement here or am I someway
missing the
??? the point of object oriented language?
??? Should it be option1.foo, option2.foo etc
option1
	foo(set of variables, user input 1)
	# set of variables will be different for each option
	# Sets will have same variable types but different values
option 2
	foo(set of variables, user input 1)
 	foo(set of variables, user input 2)
option 3
	foo(set of variables, user input 1)
 	foo(set of variables, user input 2)
option 4
	foo(set of variables, user input 1)
 	foo(set of variables, user input 2)
# If result of both tests in an option proves true then output
options.

To_user valid options are
	option 1
		this is what the results are
	option 3
		this is what the results are

To_user please choose an option or none to start again.

# select case if I list the 5 cases here for a user to select how can
I limit the
# selection to valid input only????

If option 1
	get some details
	send to file dated with date user supplied
	send to database

get user more calcs or end?