summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDickson S. Guedes2011-10-14 23:51:04 +0000
committerDickson S. Guedes2011-10-14 23:51:04 +0000
commite1d2ae7a3eacfb8c3dfb7a240698fc90d30bdb0a (patch)
treec6fc278c5a0409d56ac3c650fe57d25722ce8d5b
parent91ae5ef24352af905d6c8d530fbfaa28e1e15426 (diff)
added --template to skeleton, #18
-rw-r--r--lib/pgxn_utils/cli.rb3
-rw-r--r--spec/cli_spec.rb8
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/pgxn_utils/cli.rb b/lib/pgxn_utils/cli.rb
index cbec0ee..628b5b7 100644
--- a/lib/pgxn_utils/cli.rb
+++ b/lib/pgxn_utils/cli.rb
@@ -24,6 +24,7 @@ module PgxnUtils
method_option :tags, :aliases => "-t", :type => :array, :desc => "Defines extension's tags"
method_option :release_status, :aliases => "-r", :type => :string, :desc => "Initial extension's release status"
method_option :git, :type => :boolean, :default => false, :desc => "Initialize a git repository after create the extension"
+ method_option :template, :type => :string, :default => "sql", :desc => "The template that will be used to create the extension. Expected values are: sql, c, fdw"
def skeleton(extension_name,target=nil)
self.target = options[:target] || target || "."
@@ -36,7 +37,7 @@ module PgxnUtils
say "Can't create an extension overwriting an existing directory.", :red
else
self.set_accessors extension_name
- directory "root", extension_name
+ directory options[:template], extension_name
init_repository("#{self.target}/#{extension_name}") if options[:git]
end
diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb
index 1201f72..2df7880 100644
--- a/spec/cli_spec.rb
+++ b/spec/cli_spec.rb
@@ -63,12 +63,13 @@ describe PgxnUtils::CLI do
control.should match(/default_version = '#{expected_version}'/)
end
- it "should generates a skeleton" do
+ it "should generates a default skeleton" do
extension = next_extension
skeleton extension
- Dir["#{extension}/**/{*,.gitignore}"].sort.should == [
+ Dir["#{extension}/**/{*,.gitignore,.template}"].sort.should == [
"#{extension}/.gitignore",
+ "#{extension}/.template",
"#{extension}/META.json",
"#{extension}/Makefile",
"#{extension}/README.md",
@@ -84,6 +85,9 @@ describe PgxnUtils::CLI do
"#{extension}/test/sql/base.sql",
"#{extension}/#{extension}.control"
].sort
+
+ template = File.read("#{extension}/.template").chomp
+ template.should == "sql"
end
it "should generates a git repo with --git" do