diff options
author | Dickson S. Guedes | 2011-06-16 03:33:51 +0000 |
---|---|---|
committer | Dickson S. Guedes | 2011-06-16 03:33:51 +0000 |
commit | db5be183410e059e4a64014358371b50134ca02b (patch) | |
tree | d9a2230622183e1df0619655b8a7586346f0d4e4 | |
parent | f16d246f294d54da83a685d063930218b9495292 (diff) |
Fixing strange behaviours on method #change
Now #change checks if current_dir is an extension when no
extension_name is supplied.
Refs #9
-rw-r--r-- | lib/pgxn_utils/cli.rb | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/lib/pgxn_utils/cli.rb b/lib/pgxn_utils/cli.rb index 7dea5a9..c8ab5d4 100644 --- a/lib/pgxn_utils/cli.rb +++ b/lib/pgxn_utils/cli.rb @@ -27,7 +27,9 @@ module PgxnUtils self.target = options[:target] || target || "." if is_extension?("#{self.target}/#{extension_name}") - say "'#{extension_name}' already exists. Please, use 'change' instead 'skeleton'." + raise ArgumentError, "'#{extension_name}' already exists. Please, use 'change' instead 'skeleton'." + elsif is_extension?(".") + raise ArgumentError, "You are inside a extension directory, already. Consider use 'change' instead." else self.set_accessors extension_name @@ -53,20 +55,18 @@ module PgxnUtils method_option :release_status, :aliases => "-r", :type => :string, :desc => "Initial extension's release status" def change(extension_name=".") - puts "chamando resolve" - extension_path, discard = resolve_extension_path_and_name(extension_name) - puts extension_path - self.target = options[:target] + extension_path, extension_name = resolve_extension_path_and_name(extension_name) + + self.target = extension_path self.extension_name = extension_name set_accessors(extension_name) - puts "iniciando" - + if is_extension?(extension_path) template "root/META.json.tt", "#{extension_path}/META.json" template "root/%extension_name%.control.tt", "#{extension_path}/%extension_name%.control" else - say "'#{extension_name}' isn't a extension" + raise ArgumentError, "'#{extension_name}' doesn't appears to be an extension. Please, supply the extension's name" end end @@ -74,7 +74,7 @@ module PgxnUtils def bundle(extension_name=".") unless is_extension?(extension_name) - say "'#{extension_name}' isn't a valid extension" + raise ArgumentError, "'#{extension_name}' doesn't appears to be an extension. Please, supply the extension's name" else path = File.expand_path(extension_name) extension_name = File.basename(path) @@ -97,7 +97,6 @@ module PgxnUtils no_tasks do def resolve_extension_path_and_name(extension_name) - raise ArgumentError, "#{extension_name} isn't" target = options[:target] extension_path = "." @@ -106,11 +105,9 @@ module PgxnUtils elsif target == "." extension_path = File.expand_path(extension_name) extension_name = File.basename(extension_path) - else + else extension_path = "#{target}/#{extension_name}" end - puts ">>>> #{extension_path}" - #puts extension_name [ extension_path, extension_name ] end @@ -133,8 +130,7 @@ module PgxnUtils end def config_options - extension_path, extension_name = resolve_extension_path_and_name(self.extension_name) - file = File.join(extension_path, "META.json") + file = File.join(target, "META.json") if File.exist?(file) @@config_options ||= JSON.load(File.read(file)) |