RuntimeError: platformName must be set, but it's in the options hash

appium 1.2.3
ruby 2.1.2
mac os 10.9.5

@opts = {“appPackage” => “com.myapp.demo”, “appActivity” => “main”, “platformName” => “android”, “deviceName” => “Android” }

@appium_driver = Appium::Driver.new @opts

RuntimeError: platformName must be set. Not found in options: {:appPackage=>“com.myapp.demo”, :appActivity=>“main”, :platformName=>“android”, :deviceName=>“Android”}
from /Users/friscodelrosario/.rvm/gems/ruby-2.1.2/gems/appium_lib-4.1.0/lib/appium_lib/driver.rb:290:in initialize' from (irb):37:innew’
from (irb):37
from /Users/friscodelrosario/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `’

Set up the hash differently with

@opts = {appPackage: “com.myapp.demo”, appActivity: “main”, platformName: “Android”, deviceName: “Nexus 7” }
=> {:appPackage=>“com.myapp.demo”, :appActivity=>“main”, :platformName=>“Android”, :deviceName=>“Nexus 7”}

And if I query the hash

@opts[:platformName]
=> “Android”

But @appium_driver = Appium::Driver.new @opts
RuntimeError: platformName must be set. Not found in options: {:appPackage=>“com.myapp.demo”, :appActivity=>“main”, :platformName=>“Android”, :deviceName=>“Nexus 7”}

@opts = { caps: {appPackage: “com.myapp.demo”, appActivity: “main”, platformName: “Android”, deviceName: “Nexus 7” } }