From: shyouhei@... Date: 2016-03-22T01:53:33+00:00 Subject: [ruby-core:74484] [Ruby trunk Bug#12177][Assigned] Using `if:` as symbol in hash with new hash syntax in irb console is not working Issue #12177 has been updated by Shyouhei Urabe. Status changed from Open to Assigned Assignee set to Keiju Ishitsuka ---------------------------------------- Bug #12177: Using `if:` as symbol in hash with new hash syntax in irb console is not working https://bugs.ruby-lang.org/issues/12177#change-57606 * Author: Niels Kristian * Status: Assigned * Priority: Normal * Assignee: Keiju Ishitsuka * ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Try running **irb** and past this in: ~~~ # This works class TestClass @_alerts_config = {} class << self attr_accessor :_alerts_config end def self.monitor value_name, *args self._alerts_config[value_name] = args.first end monitor "test_attr", alert: "test@example.com", :if => Proc.new{|instance| instance.nil? }, with_message: "Some error" end ~~~ This will work. However if the `:if =>` is changed to `if: ` then the syntax renders invalid. ~~~ # This does NOT work class TestClass @_alerts_config = {} class << self attr_accessor :_alerts_config end def self.monitor value_name, *args self._alerts_config[value_name] = args.first end monitor "test_attr", alert: "test@example.com", if: Proc.new{|instance| instance.nil? }, with_message: "Some error" end ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: