From bd0b76329228986d1d461312989ec76c839d055b Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Mon, 6 Nov 2017 21:13:39 +0100 Subject: [PATCH] Refactor `DependsOn` with `DelegateClass`. --- Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb b/Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb index bdef4239a5..5faac299fa 100644 --- a/Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb +++ b/Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb @@ -2,7 +2,7 @@ require "rubygems" module Hbc class DSL - class DependsOn + class DependsOn < DelegateClass(Hash) VALID_KEYS = Set.new [ :formula, :cask, @@ -19,19 +19,18 @@ module Hbc }.freeze attr_accessor :java - attr_accessor :pairs attr_reader :arch, :cask, :formula, :macos, :x11 def initialize - @pairs ||= {} + super({}) @cask ||= [] @formula ||= [] end - def load(pairs = {}) + def load(**pairs) pairs.each do |key, value| raise "invalid depends_on key: '#{key.inspect}'" unless VALID_KEYS.include?(key) - @pairs[key] = send(:"#{key}=", *value) + self[key] = send(:"#{key}=", *value) end end @@ -90,14 +89,6 @@ module Hbc raise "invalid 'depends_on x11' value: #{arg.inspect}" unless [true, false].include?(arg) @x11 = arg end - - def to_yaml - @pairs.to_yaml - end - - def to_s - @pairs.inspect - end end end end