fix OpenStruct for 1.9.3

This commit is contained in:
Andrew Cantino 2014-06-09 23:08:32 -07:00
parent a43d6eae97
commit 7ecd099507

View file

@ -237,5 +237,20 @@ class ScenarioImport
yield 'propagate_immediately', propagate_immediately, boolean if self['propagate_immediately'].present? && propagate_immediately.requires_merge?
yield 'disabled', disabled, boolean if disabled.requires_merge?
end
# Unfortunately Ruby 1.9's OpenStruct doesn't expose [] and []=.
unless instance_methods.include?(:[]=)
def [](key)
self.send(sanitize key)
end
def []=(key, val)
self.send("#{sanitize key}=", val)
end
def sanitize(key)
key.gsub(/[^a-zA-Z0-9_-]/, '')
end
end
end
end