aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cask/lib/hbc/source/path_base.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cask/lib/hbc/source/path_base.rb')
-rw-r--r--Library/Homebrew/cask/lib/hbc/source/path_base.rb108
1 files changed, 56 insertions, 52 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/source/path_base.rb b/Library/Homebrew/cask/lib/hbc/source/path_base.rb
index bd85ab425..5725380ec 100644
--- a/Library/Homebrew/cask/lib/hbc/source/path_base.rb
+++ b/Library/Homebrew/cask/lib/hbc/source/path_base.rb
@@ -1,69 +1,73 @@
require "rubygems"
-class Hbc::Source::PathBase
- # derived classes must define method self.me?
+module Hbc
+ module Source
+ class PathBase
+ # derived classes must define method self.me?
- def self.path_for_query(query)
- query_string = query.to_s
- Pathname.new(query_string.end_with?(".rb") ? query_string : query_string + ".rb")
- end
+ def self.path_for_query(query)
+ query_string = query.to_s
+ Pathname.new(query_string.end_with?(".rb") ? query_string : query_string + ".rb")
+ end
- attr_reader :path
+ attr_reader :path
- def initialize(path)
- @path = Pathname(path).expand_path
- end
+ def initialize(path)
+ @path = Pathname(path).expand_path
+ end
- def load
- raise Hbc::CaskError, "File '#{path}' does not exist" unless path.exist?
- raise Hbc::CaskError, "File '#{path}' is not readable" unless path.readable?
- raise Hbc::CaskError, "File '#{path}' is not a plain file" unless path.file?
- load_cask
- end
+ def load
+ raise CaskError, "File '#{path}' does not exist" unless path.exist?
+ raise CaskError, "File '#{path}' is not readable" unless path.readable?
+ raise CaskError, "File '#{path}' is not a plain file" unless path.file?
+ load_cask
+ end
- def to_s
- # stringify to fully-resolved location
- path.to_s
- end
+ def to_s
+ # stringify to fully-resolved location
+ path.to_s
+ end
- private
+ private
- def load_cask
- instance_eval(cask_contents, __FILE__, __LINE__)
- rescue Hbc::CaskError, StandardError, ScriptError => e
- # bug: e.message.concat doesn't work with Hbc::CaskError exceptions
- raise e, e.message.concat(" while loading '#{path}'")
- end
+ def load_cask
+ instance_eval(cask_contents, __FILE__, __LINE__)
+ rescue CaskError, StandardError, ScriptError => e
+ # bug: e.message.concat doesn't work with CaskError exceptions
+ raise e, e.message.concat(" while loading '#{path}'")
+ end
- def cask_contents
- File.open(path, "rb") do |handle|
- contents = handle.read
- if defined?(Encoding)
- contents.force_encoding("UTF-8")
- else
- contents
+ def cask_contents
+ File.open(path, "rb") do |handle|
+ contents = handle.read
+ if defined?(Encoding)
+ contents.force_encoding("UTF-8")
+ else
+ contents
+ end
+ end
end
- end
- end
- def cask(header_token, &block)
- build_cask(Hbc::Cask, header_token, &block)
- end
+ def cask(header_token, &block)
+ build_cask(Cask, header_token, &block)
+ end
- def test_cask(header_token, &block)
- build_cask(Hbc::TestCask, header_token, &block)
- end
+ def test_cask(header_token, &block)
+ build_cask(TestCask, header_token, &block)
+ end
- def build_cask(cask_class, header_token, &block)
- if header_token.is_a?(Hash)
- # Cask file is using old `cask :v1 => 'token'` syntax
- header_token = header_token.values.first
- end
- raise Hbc::CaskTokenDoesNotMatchError.new(cask_token, header_token) unless cask_token == header_token
- cask_class.new(cask_token, sourcefile_path: path, &block)
- end
+ def build_cask(cask_class, header_token, &block)
+ if header_token.is_a?(Hash)
+ # Cask file is using old `cask :v1 => 'token'` syntax
+ header_token = header_token.values.first
+ end
+ raise CaskTokenDoesNotMatchError.new(cask_token, header_token) unless cask_token == header_token
+ cask_class.new(cask_token, sourcefile_path: path, &block)
+ end
- def cask_token
- path.basename.to_s.sub(%r{\.rb}, "")
+ def cask_token
+ path.basename.to_s.sub(%r{\.rb}, "")
+ end
+ end
end
end