Добрый день.
Не нужно в классе Hash делать такой метод, т.к. любой хэш это валидный json
Пример:
a = {'a'=>'n'}
a.to_json #=> Валидная строка в формате json
Можно, но я не рекомендую добавлять методы в руби классы, создайте лучше свой и работайте с ним, можете свой класс унаследовать от Hash и делать с ним что хотите
class MyHash < Hash
def foo_value?
has_value? 'foo'
end
end
a = MyHash.new
a[:a] = 'foo'
b = MyHash.new
b[:a] = 'baz'
p a.foo_value?
p b.foo_value?
Просто работать с кодом где много изменений в стандартных классах не удобно.