Skip to content

Instantly share code, notes, and snippets.

@awesome
Created February 21, 2018 21:55
Show Gist options
  • Save awesome/da6f3b02932f7185e1d3b0bbf7a43b8a to your computer and use it in GitHub Desktop.
Save awesome/da6f3b02932f7185e1d3b0bbf7a43b8a to your computer and use it in GitHub Desktop.
rails camelize with :lower or nil in arg
irb(main):003:0> "cool_bro".camelize
=> "CoolBro"
irb(main):004:0> "cool_bro".camelize(:lower)
=> "coolBro"
irb(main):005:0> "cool_bro".camelize()
=> "CoolBro"
irb(main):006:0> "cool_bro".camelize(nil)
=> nil
irb(main):007:0> "cool_bro".camelize(x)
NameError: undefined local variable or method `x' for main:Object
from (irb):7
from /Users/dev/.gem/ruby/2.1.9/gems/railties-3.2.22.5/lib/rails/commands/console.rb:47:in `start'
from /Users/dev/.gem/ruby/2.1.9/gems/railties-3.2.22.5/lib/rails/commands/console.rb:8:in `start'
from /Users/dev/.gem/ruby/2.1.9/gems/railties-3.2.22.5/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
irb(main):008:0> x=nil
=> nil
irb(main):009:0> "cool_bro".camelize(x)
=> nil
irb(main):010:0> "cool_bro".camelize({})
=> nil
irb(main):011:0> "cool_bro".camelize([:lower])
=> nil
irb(main):012:0> "cool_bro".camelize(*[:lower])
=> "coolBro"
irb(main):013:0> "cool_bro".camelize(*[])
=> "CoolBro"
irb(main):014:0> "cool_bro".camelize(*[nil])
=> nil
irb(main):015:0> "cool_bro".camelize(*[nil].compact)
=> "CoolBro"
irb(main):016:0>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment