diff --git a/lib/gitlab/ci/config/node/configurable.rb b/lib/gitlab/ci/config/node/configurable.rb index 120457690d86390af5536e8e2b19461c67ed95c9..b72bc0d592a2b4e33036c3af5767d2186295de29 100644 --- a/lib/gitlab/ci/config/node/configurable.rb +++ b/lib/gitlab/ci/config/node/configurable.rb @@ -55,6 +55,12 @@ module Gitlab { class: entry_class, description: metadata[:description] } } + define_method(symbol) do + raise Entry::InvalidError unless valid? + + @nodes[symbol].try(:value) + end + (@allowed_nodes ||= {}).merge!(node) end end diff --git a/lib/gitlab/ci/config/node/entry.rb b/lib/gitlab/ci/config/node/entry.rb index ed1cdd6f15d900b7402be0f4d2bf0f8db2cf8d6b..f7649784c28cbd84d1228ee8f905feef7352e3ff 100644 --- a/lib/gitlab/ci/config/node/entry.rb +++ b/lib/gitlab/ci/config/node/entry.rb @@ -52,13 +52,6 @@ module Gitlab {} end - def method_missing(name, *args) - super unless allowed_nodes.has_key?(name) - raise InvalidError unless valid? - - @nodes[name].try(:value) - end - def add_node(key, entry) raise NotImplementedError end