summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDickson S. Guedes2011-06-16 03:33:51 +0000
committerDickson S. Guedes2011-06-16 03:33:51 +0000
commitdb5be183410e059e4a64014358371b50134ca02b (patch)
treed9a2230622183e1df0619655b8a7586346f0d4e4
parentf16d246f294d54da83a685d063930218b9495292 (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.rb26
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))