class A < B; def self.create(object = User) object end end
class Zebra; def inspect; "X#{2 + self.object_id}" end end

module ABC::DEF
  include Comparable

  # @param test
  # @return [String] nothing
  def foo(test)
    Thread.new do |blockvar|
      ABC::DEF.reverse(:a_symbol, :'a symbol', :<=>, 'test' + ?\012)
      answer = valid?4 && valid?CONST && ?A && ?A.ord
    end.join
  end

  def [](index) self[index] end
  def ==(other) other == self end
end

class Car < ActiveRecord::Base
  has_many :wheels, :class_name => 'Wheel', :foreign_key => 'car_id'
  has_many :wheels, class_name: 'Wheel', foreign_key: 'car_id'
  scope :available, -> { where(available: true) }
end
omega = -> { 'alpha' }
alpha = ->(arg) { arg*2 }
hash = {1 => 'one', 2 => 'two'}

anIdentifier = an_identifier
Constant = 1
render action: :new

str =~ /^(?:foo)$/
str =~ %r{foo|bar|buz$}
str =~ %r!foo|bar$!
str =~ %r[foo|bar$]
str =~ %r(\(foo|bar\)$)

2.0.0p0 :001 > ['some']
 => ["some"]
2.0.0p0 :002 > if true
2.0.0p0 :003?>   "yop"
2.0.0p0 :004?>   end
 => "yop"

>> obj = OpenStruct.new :integer => 987, :symbol => :so_great
=> #<OpenStruct integer=987, symbol=:so_great>
>> [obj,obj,obj]
=> [#<OpenStruct integer=987, symbol=:so_great>, #<OpenStruct integer=987, symbol=:so_great>, #<OpenStruct integer=987, symbol=:so_great>]
>> {1 => obj, 2 => obj}
=> {1=>#<OpenStruct integer=987, symbol=:so_great>, 2=>#<OpenStruct integer=987, symbol=:so_great>}
>> if 10 > 20
>> "YEAH"
>> else
?> "NO"
>> end
=> "NO"
