diff options
| author | Markus Reiter | 2016-09-24 13:52:43 +0200 |
|---|---|---|
| committer | Markus Reiter | 2016-09-24 16:00:58 +0200 |
| commit | b86c8efb79b3ed835d552c4d7416640ef10caf21 (patch) | |
| tree | 7e1edc8a8f339e4d2781f43576d40c9c79aebcdc /Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb | |
| parent | 687f0fcf721c8e36f32570ed72d0988a6eaf986f (diff) | |
| download | brew-b86c8efb79b3ed835d552c4d7416640ef10caf21.tar.bz2 | |
Cask: Use nested classes and modules.
Diffstat (limited to 'Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb | 88 |
1 files changed, 46 insertions, 42 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb b/Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb index 218178faa..b1a850c5a 100644 --- a/Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb +++ b/Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb @@ -1,45 +1,49 @@ -class Hbc::DSL::StanzaProxy - attr_reader :type - - def self.once(type) - resolved = nil - new(type) { resolved ||= yield } - end - - def initialize(type, &resolver) - @type = type - @resolver = resolver - end - - def proxy? - true - end - - def to_s - @resolver.call.to_s - end - - # Serialization for dumpcask - def encode_with(coder) - coder["type"] = type - coder["resolved"] = @resolver.call - end - - def method_missing(method, *args) - if method != :to_ary - @resolver.call.send(method, *args) - else - super +module Hbc + class DSL + class StanzaProxy + attr_reader :type + + def self.once(type) + resolved = nil + new(type) { resolved ||= yield } + end + + def initialize(type, &resolver) + @type = type + @resolver = resolver + end + + def proxy? + true + end + + def to_s + @resolver.call.to_s + end + + # Serialization for dumpcask + def encode_with(coder) + coder["type"] = type + coder["resolved"] = @resolver.call + end + + def method_missing(method, *args) + if method != :to_ary + @resolver.call.send(method, *args) + else + super + end + end + + def respond_to?(method, include_private = false) + return true if %i{encode_with proxy? to_s type}.include?(method) + return false if method == :to_ary + @resolver.call.respond_to?(method, include_private) + end + + def respond_to_missing?(*) + true + end end end - - def respond_to?(method, include_private = false) - return true if %i{encode_with proxy? to_s type}.include?(method) - return false if method == :to_ary - @resolver.call.respond_to?(method, include_private) - end - - def respond_to_missing?(*) - true - end end |
