The attr_accessor you add to the class uses class-level instance variables, not class variables. This can actually be more helpful in some cases, since class variables can get ridiculous when inheritance enters the picture.
class IOS
@modules_paths = "hello"
class << self
attr_accessor :modules_paths
end
end
puts IOS::modules_paths # outputs "hello"
If you really need it to use class variables, you can define the methods manually, pull in ActiveSupport and use cattr_accessor, or just copy the relevant ActiveSupport methods.