templater 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: templater
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Nicklas
@@ -9,7 +9,7 @@ autorequire: templater
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-07 00:00:00 +02:00
12
+ date: 2008-08-18 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -64,6 +64,8 @@ files:
64
64
  - lib/templater/generator.rb
65
65
  - lib/templater/manifold.rb
66
66
  - lib/templater/proxy.rb
67
+ - lib/templater/spec
68
+ - lib/templater/spec/helpers.rb
67
69
  - lib/templater.rb
68
70
  - spec/core_ext
69
71
  - spec/core_ext/string_spec.rb
@@ -71,27 +73,18 @@ files:
71
73
  - spec/file_spec.rb
72
74
  - spec/generator
73
75
  - spec/generator/actions_spec.rb
74
- - spec/generator/argument_as_array_spec.rb
75
- - spec/generator/argument_as_hash_spec.rb
76
- - spec/generator/argument_spec.rb
76
+ - spec/generator/arguments_spec.rb
77
77
  - spec/generator/desc_spec.rb
78
78
  - spec/generator/destination_root_spec.rb
79
- - spec/generator/empty_directory_spec.rb
80
- - spec/generator/file_getter_spec.rb
81
- - spec/generator/file_list_spec.rb
82
- - spec/generator/file_spec.rb
79
+ - spec/generator/empty_directories_spec.rb
83
80
  - spec/generator/files_spec.rb
84
81
  - spec/generator/generators_spec.rb
85
82
  - spec/generator/glob_spec.rb
86
83
  - spec/generator/invocations_spec.rb
87
84
  - spec/generator/invoke_spec.rb
88
- - spec/generator/option_spec.rb
85
+ - spec/generator/options_spec.rb
89
86
  - spec/generator/render_spec.rb
90
- - spec/generator/source_root_getter_spec.rb
91
87
  - spec/generator/source_root_spec.rb
92
- - spec/generator/template_getter_spec.rb
93
- - spec/generator/template_list_spec.rb
94
- - spec/generator/template_spec.rb
95
88
  - spec/generator/templates_spec.rb
96
89
  - spec/manifold_spec.rb
97
90
  - spec/results
@@ -103,6 +96,7 @@ files:
103
96
  - spec/results/random.rbs
104
97
  - spec/results/simple_erb.rbs
105
98
  - spec/spec_helper.rb
99
+ - spec/spec_helpers_spec.rb
106
100
  - spec/template_spec.rb
107
101
  - spec/templater_spec.rb
108
102
  - spec/templates
@@ -1,40 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.argument as array' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- @generator_class.argument(0, :monkey)
8
- @generator_class.argument(1, :llama, :as => :array)
9
- end
10
-
11
- it "should allow assignment of arrays" do
12
- instance = @generator_class.new('/tmp', {}, 'a monkey', %w(an array))
13
-
14
- instance.monkey.should == 'a monkey'
15
- instance.llama[0].should == 'an'
16
- instance.llama[1].should == 'array'
17
-
18
- instance.llama = %w(another donkey)
19
- instance.llama[0].should == 'another'
20
- instance.llama[1].should == 'donkey'
21
- end
22
-
23
- it "should convert a single argument to an array" do
24
- instance = @generator_class.new('/tmp', {}, 'a monkey', 'test')
25
- instance.llama[0].should == 'test'
26
- end
27
-
28
- it "should consume the remaining arguments and convert them to an array" do
29
- instance = @generator_class.new('/tmp', {}, 'a monkey', 'test', 'silver', 'river')
30
- instance.llama[0].should == 'test'
31
- instance.llama[1].should == 'silver'
32
- instance.llama[2].should == 'river'
33
- end
34
-
35
- it "should raise error if the argument is not an array" do
36
- instance = @generator_class.new('/tmp')
37
- lambda { instance.llama = :not_an_array }.should raise_error(Templater::MalformattedArgumentError)
38
- end
39
-
40
- end
@@ -1,43 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.argument as hash' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- @generator_class.argument(0, :monkey)
8
- @generator_class.argument(1, :llama, :as => :hash)
9
- end
10
-
11
- it "should allow assignment of hashes" do
12
- instance = @generator_class.new('/tmp', {}, 'a monkey', { :hash => 'blah' })
13
-
14
- instance.monkey.should == 'a monkey'
15
- instance.llama[:hash].should == 'blah'
16
-
17
- instance.llama = { :me_s_a => :hash }
18
- instance.llama[:me_s_a].should == :hash
19
- end
20
-
21
- it "should convert a key/value pair to a hash" do
22
- instance = @generator_class.new('/tmp', {}, 'a monkey', 'test:unit')
23
- instance.llama['test'].should == 'unit'
24
- end
25
-
26
- it "should consume the remaining arguments and convert them to a hash if they are key/value pairs" do
27
- instance = @generator_class.new('/tmp', {}, 'a monkey', 'test:unit', 'john:silver', 'river:road')
28
- instance.llama['test'].should == 'unit'
29
- instance.llama['john'].should == 'silver'
30
- instance.llama['river'].should == 'road'
31
- end
32
-
33
- it "should raise an error if one of the remaining arguments is not a key/value pair" do
34
- lambda { @generator_class.new('/tmp', {}, 'a monkey', 'a:llama', 'duck:llama', 'not_a_pair', 'pair:blah') }.should raise_error(Templater::MalformattedArgumentError)
35
- end
36
-
37
- it "should raise error if the argument is neither a hash nor a key/value pair" do
38
- lambda { @generator_class.new('/tmp', {}, 'a monkey', 23) }.should raise_error(Templater::MalformattedArgumentError)
39
- instance = @generator_class.new('/tmp')
40
- lambda { instance.llama = :not_a_hash }.should raise_error(Templater::MalformattedArgumentError)
41
- end
42
-
43
- end
@@ -1,20 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, ".empty_directory" do
4
- before do
5
- @generator_class = Class.new(Templater::Generator)
6
- end
7
-
8
- it "adds directory path to list of directories that should be created" do
9
- lambda do
10
- @generator_class.empty_directory :bin, "bin"
11
- end.should change(@generator_class.empty_directories, :size)
12
- end
13
-
14
- it "calculates directory path relatively to destination root" do
15
- @generator_class.empty_directory :bin, "bin/swf"
16
-
17
- @instance = @generator_class.new("/tmp/destination")
18
- @instance.empty_directory(:bin).destination.should == "/tmp/destination/bin/swf"
19
- end
20
- end
@@ -1,48 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '#file' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- @generator_class.class_eval do
8
- def source_root
9
- '/tmp/source'
10
- end
11
- end
12
- end
13
-
14
- it "should find a file by name" do
15
- @generator_class.file(:blah1, 'blah.rb')
16
- @generator_class.file(:blah2, 'blah2.rb')
17
-
18
- instance = @generator_class.new('/tmp')
19
-
20
- instance.file(:blah1).name.should == :blah1
21
- instance.file(:blah1).source.should == '/tmp/source/blah.rb'
22
- instance.file(:blah1).destination.should == '/tmp/blah.rb'
23
- end
24
-
25
- it "should not return a file with an option that does not match." do
26
- @generator_class.option :framework, :default => :rails
27
-
28
- @generator_class.file(:merb, 'blah.rb', :framework => :merb)
29
- @generator_class.file(:rails, 'blah2.rb', :framework => :rails)
30
- @generator_class.file(:none, 'blah2.rb')
31
-
32
- instance = @generator_class.new('/tmp')
33
-
34
- instance.file(:rails).name.should == :rails
35
- instance.file(:merb).should be_nil
36
- instance.file(:none).name.should == :none
37
-
38
- instance.framework = :merb
39
- instance.file(:rails).should be_nil
40
- instance.file(:merb).name.should == :merb
41
- instance.file(:none).name.should == :none
42
-
43
- instance.framework = nil
44
- instance.file(:rails).should be_nil
45
- instance.file(:merb).should be_nil
46
- instance.file(:none).name.should == :none
47
- end
48
- end
@@ -1,32 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.file_list' do
4
-
5
- it "should add a series of files given a list as heredoc" do
6
- @generator_class = Class.new(Templater::Generator)
7
-
8
- @generator_class.should_receive(:file).with(:app_model_rb, 'app/model.rb')
9
- @generator_class.should_receive(:file).with(:spec_model_rb, 'spec/model.rb')
10
- @generator_class.should_receive(:file).with(:donkey_poo_css, 'donkey/poo.css')
11
- @generator_class.should_receive(:file).with(:john_smith_file_rb, 'john/smith/file.rb')
12
-
13
- @generator_class.file_list <<-LIST
14
- app/model.rb
15
- spec/model.rb
16
- donkey/poo.css
17
- john/smith/file.rb
18
- LIST
19
- end
20
-
21
- it "should add a series of files given a list as array" do
22
- @generator_class = Class.new(Templater::Generator)
23
-
24
- @generator_class.should_receive(:file).with(:app_model_rb, 'app/model.rb')
25
- @generator_class.should_receive(:file).with(:spec_model_rb, 'spec/model.rb')
26
- @generator_class.should_receive(:file).with(:donkey_poo_css, 'donkey/poo.css')
27
- @generator_class.should_receive(:file).with(:john_smith_file_rb, 'john/smith/file.rb')
28
-
29
- @generator_class.file_list(%w(app/model.rb spec/model.rb donkey/poo.css john/smith/file.rb))
30
- end
31
-
32
- end
@@ -1,53 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.file' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- end
8
-
9
- it "should add a file with source and destination" do
10
- @generator_class.file(:my_template, 'path/to/source.rbt', 'path/to/destination.rb')
11
- @instance = @generator_class.new('/tmp/destination')
12
-
13
- @instance.stub!(:source_root).and_return('/tmp/source')
14
-
15
- @instance.file(:my_template).source.should == '/tmp/source/path/to/source.rbt'
16
- @instance.file(:my_template).destination.should == '/tmp/destination/path/to/destination.rb'
17
- @instance.file(:my_template).should be_an_instance_of(Templater::Actions::File)
18
- end
19
-
20
- it "should add a file with source and infer destination " do
21
- @generator_class.file(:my_template, 'path/to/file.rb')
22
- @instance = @generator_class.new('/tmp/destination')
23
-
24
- @instance.stub!(:source_root).and_return('/tmp/source')
25
-
26
- @instance.file(:my_template).source.should == '/tmp/source/path/to/file.rb'
27
- @instance.file(:my_template).destination.should == '/tmp/destination/path/to/file.rb'
28
- @instance.file(:my_template).should be_an_instance_of(Templater::Actions::File)
29
- end
30
-
31
- it "should add a file and convert an instruction encoded in the destination, but not one encoded in the source" do
32
- @generator_class.file(:my_template, 'template/%some_method%.rbt', 'template/%another_method%.rb')
33
- @instance = @generator_class.new('/tmp/destination')
34
-
35
- @instance.stub!(:source_root).and_return('/tmp/source')
36
- @instance.should_not_receive(:some_method)
37
- @instance.should_receive(:another_method).at_least(:once).and_return('beast')
38
-
39
- @instance.file(:my_template).source.should == '/tmp/source/template/%some_method%.rbt'
40
- @instance.file(:my_template).destination.should == "/tmp/destination/template/beast.rb"
41
- @instance.file(:my_template).should be_an_instance_of(Templater::Actions::File)
42
- end
43
-
44
- it "should add a file and leave an encoded instruction be if it doesn't exist as a method" do
45
- @generator_class.file(:my_template, 'template/blah.rbt', 'template/%some_method%.rb')
46
- @instance = @generator_class.new('/tmp/destination')
47
-
48
- @instance.stub!(:source_root).and_return('/tmp/source')
49
-
50
- @instance.file(:my_template).destination.should == "/tmp/destination/template/%some_method%.rb"
51
- @instance.file(:my_template).should be_an_instance_of(Templater::Actions::File)
52
- end
53
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '#source_root' do
4
- it "try to retrieve the source root from the class" do
5
- @generator_class = Class.new(Templater::Generator)
6
- @generator_class.should_receive(:source_root).and_return('/tmp/source')
7
-
8
- instance = @generator_class.new('/tmp')
9
- instance.source_root.should == '/tmp/source'
10
- end
11
- end
@@ -1,48 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '#template' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- @generator_class.class_eval do
8
- def source_root
9
- '/tmp/source'
10
- end
11
- end
12
- end
13
-
14
- it "should find a template by name" do
15
- @generator_class.template(:blah1, 'blah.rb')
16
- @generator_class.template(:blah2, 'blah2.rb')
17
-
18
- instance = @generator_class.new('/tmp')
19
-
20
- instance.template(:blah1).name.should == :blah1
21
- instance.template(:blah1).source.should == '/tmp/source/blah.rbt'
22
- instance.template(:blah1).destination.should == '/tmp/blah.rb'
23
- end
24
-
25
- it "should not return a template with an option that does not match." do
26
- @generator_class.option :framework, :default => :rails
27
-
28
- @generator_class.template(:merb, 'blah.rb', :framework => :merb)
29
- @generator_class.template(:rails, 'blah2.rb', :framework => :rails)
30
- @generator_class.template(:none, 'blah2.rb')
31
-
32
- instance = @generator_class.new('/tmp')
33
-
34
- instance.template(:rails).name.should == :rails
35
- instance.template(:merb).should be_nil
36
- instance.template(:none).name.should == :none
37
-
38
- instance.framework = :merb
39
- instance.template(:rails).should be_nil
40
- instance.template(:merb).name.should == :merb
41
- instance.template(:none).name.should == :none
42
-
43
- instance.framework = nil
44
- instance.template(:rails).should be_nil
45
- instance.template(:merb).should be_nil
46
- instance.template(:none).name.should == :none
47
- end
48
- end
@@ -1,32 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.template_list' do
4
-
5
- it "should add a series of templates given a list as heredoc" do
6
- @generator_class = Class.new(Templater::Generator)
7
-
8
- @generator_class.should_receive(:template).with(:app_model_rb, 'app/model.rb')
9
- @generator_class.should_receive(:template).with(:spec_model_rb, 'spec/model.rb')
10
- @generator_class.should_receive(:template).with(:donkey_poo_css, 'donkey/poo.css')
11
- @generator_class.should_receive(:template).with(:john_smith_file_rb, 'john/smith/file.rb')
12
-
13
- @generator_class.template_list <<-LIST
14
- app/model.rb
15
- spec/model.rb
16
- donkey/poo.css
17
- john/smith/file.rb
18
- LIST
19
- end
20
-
21
- it "should add a series of templates given a list as array" do
22
- @generator_class = Class.new(Templater::Generator)
23
-
24
- @generator_class.should_receive(:template).with(:app_model_rb, 'app/model.rb')
25
- @generator_class.should_receive(:template).with(:spec_model_rb, 'spec/model.rb')
26
- @generator_class.should_receive(:template).with(:donkey_poo_css, 'donkey/poo.css')
27
- @generator_class.should_receive(:template).with(:john_smith_file_rb, 'john/smith/file.rb')
28
-
29
- @generator_class.template_list(%w(app/model.rb spec/model.rb donkey/poo.css john/smith/file.rb))
30
- end
31
-
32
- end
@@ -1,79 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Templater::Generator, '.template' do
4
-
5
- before do
6
- @generator_class = Class.new(Templater::Generator)
7
- end
8
-
9
- it "should add a template with source and destination" do
10
- @generator_class.template(:my_template, 'path/to/source.rbt', 'path/to/destination.rb')
11
- @instance = @generator_class.new('/tmp/destination')
12
-
13
- @instance.stub!(:source_root).and_return('/tmp/source')
14
-
15
- @instance.template(:my_template).source.should == '/tmp/source/path/to/source.rbt'
16
- @instance.template(:my_template).destination.should == '/tmp/destination/path/to/destination.rb'
17
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
18
- end
19
-
20
- it "should add a template with absolute source and destination" do
21
- @generator_class.template(:my_template, '/path/to/source.rbt', '/path/to/destination.rb')
22
- @instance = @generator_class.new('/tmp/destination')
23
-
24
- @instance.stub!(:source_root).and_return('/tmp/source')
25
-
26
- @instance.template(:my_template).source.should == '/path/to/source.rbt'
27
- @instance.template(:my_template).destination.should == '/path/to/destination.rb'
28
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
29
- end
30
-
31
- it "should add a template with destination and infer the source" do
32
- @generator_class.template(:my_template, 'path/to/destination.rb')
33
- @instance = @generator_class.new('/tmp/destination')
34
-
35
- @instance.stub!(:source_root).and_return('/tmp/source')
36
-
37
- @instance.template(:my_template).source.should == '/tmp/source/path/to/destination.rbt'
38
- @instance.template(:my_template).destination.should == '/tmp/destination/path/to/destination.rb'
39
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
40
- end
41
-
42
- it "should add a template with a block" do
43
- @generator_class.template(:my_template) do
44
- source 'blah.rbt'
45
- destination "gurr#{Process.pid.to_s}.rb"
46
- end
47
- @instance = @generator_class.new('/tmp/destination')
48
-
49
- @instance.stub!(:source_root).and_return('/tmp/source')
50
-
51
- @instance.template(:my_template).source.should == '/tmp/source/blah.rbt'
52
- @instance.template(:my_template).destination.should == "/tmp/destination/gurr#{Process.pid.to_s}.rb"
53
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
54
- end
55
-
56
- it "should add a template and convert an with an instruction encoded in the destination, but not one encoded in the source" do
57
- @generator_class.template(:my_template, 'template/%some_method%.rbt', 'template/%another_method%.rb')
58
- @instance = @generator_class.new('/tmp/destination')
59
-
60
- @instance.stub!(:source_root).and_return('/tmp/source')
61
- @instance.should_not_receive(:some_method)
62
- @instance.should_receive(:another_method).at_least(:once).and_return('beast')
63
-
64
- @instance.template(:my_template).source.should == '/tmp/source/template/%some_method%.rbt'
65
- @instance.template(:my_template).destination.should == "/tmp/destination/template/beast.rb"
66
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
67
- end
68
-
69
- it "should add a template and leave an encoded instruction be if it doesn't exist as a method" do
70
- @generator_class.template(:my_template, 'template/blah.rbt', 'template/%some_method%.rb')
71
- @instance = @generator_class.new('/tmp/destination')
72
-
73
- @instance.stub!(:source_root).and_return('/tmp/source')
74
-
75
- @instance.template(:my_template).destination.should == "/tmp/destination/template/%some_method%.rb"
76
- @instance.template(:my_template).should be_an_instance_of(Templater::Actions::Template)
77
- end
78
-
79
- end