You have a couple of options to check the selected option.
Using Option#selected?
Options have a built-in method for telling you if they are selected - see Option#selected?.
@browser.option(:text => "Promotional").selected?
#=> true
@browser.option(:text => "Press").selected?
#=> false
Using Select#selected?
Select lists have a built-in method for check if an options is selected - Select#selected?. Note that this only checks the options based on their text.
ddl = @browser.select(:class => 'business_group')
ddl.selected?('Promotional')
#=> true
ddl.selected?('Press')
#=> false
Using Select#selected_options
The Select#selected_options method will return a collection of options that are selected. You iterate over this collection to see if the option you want is included. This allows you to check an option by more than its text.
selected = @browser.select(:class => 'business_group').selected_options
selected.any?{ |o| o.text == 'Promotional' }
#=> true
Using Element#attribute_value
The attribute_value method will return the attribute value as a string if the attribute exists. If the attribute does not exist, nil is returned.
#Compare the attribute value
@browser.option(:text => "Promotional").attribute_value("selected") == 'true'
#=> true
#Compare the attribute value presence
@browser.option(:text => "Promotional").attribute_value("selected").nil? == false
#=> true