Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Некоторые полезные расширения для базовых классов Ruby.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
.gitignore
Gemfile
MIT-LICENSE
README.md
Rakefile
chrno_core_ext.gemspec

README.md

Описание

chrno_core_ext -- некоторые полезные (и не очень) расширения для базовых классов Ruby.

Hash

#assert_key_presence -- проверяет наличие заданных ключей в хеше и, в случае отсутствия любого, кидает исключение.

hash = { a: 1, b: 2 }
hash.assert_key_presence :a, :c  --> ArgumentError

#build, .build -- удобный интерфейс для создание и редактирования хешей.

hash = Hash.build do |h|
  h.a = 1
  h.b = 2
  h.c.d = 3
  h[ "some_string" ] = 4
end

hash  #=> { a: 1, b: 2, c: { d: 3 }, "some string": 4 }

hash.build do |h|
  h.c = 8
end

hash  #=> { a: 1, b: 2, c: 8, "some string": 4 }

String

#present_participle -- возвращает «ing'овую» форму глагола.

"tag".present_participle   #=> "tagging"
"build".present_participle #=> "building"

#to_b -- преобразует строку в булевое значение.

"true".to_b         #=> true
"some string".to_b  #=> false
"".to_b             #=> false
"1".to_b            #=> true
"yes".to_b          #=> true
"no".to_b           #=> false
Something went wrong with that request. Please try again.