rails_templater 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +20 -12
- data/README.textile +4 -3
- data/lib/rails_templater/template_engine.rb +23 -0
- data/lib/rails_templater/templater.rb +7 -3
- data/lib/rails_templater/version.rb +1 -1
- data/lib/rails_templater.rb +1 -0
- data/lib/template_framework/recipes/haml.rb +6 -6
- data/lib/template_framework/recipes/slim.rb +6 -0
- data/lib/template_framework/recipes/template_engine.rb +20 -0
- data/lib/template_framework/template_runner.rb +2 -2
- data/lib/template_framework/templates/haml/app/views/layouts/application.html.haml +7 -7
- data/lib/template_framework/templates/slim/app/views/layouts/application.html.slim +10 -0
- data/spec/rails_templater/template_engine_spec.rb +46 -0
- metadata +8 -3
data/CHANGELOG
CHANGED
@@ -1,17 +1,25 @@
|
|
1
|
+
0.1.2 (February 1, 2011)
|
2
|
+
|
3
|
+
* Added the Slim template engine (via fredwu)
|
4
|
+
* Fixed the layout template for Haml
|
5
|
+
|
1
6
|
0.1.1 (January 30, 2011)
|
2
|
-
|
3
|
-
|
4
|
-
Add
|
5
|
-
Add
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
Compass
|
11
|
-
|
7
|
+
|
8
|
+
* rails-templater choices are now agnostic
|
9
|
+
* Add ActiveRecord as an ORM option
|
10
|
+
* Add TestUnit as a Testing Framework option
|
11
|
+
* Add Prototype as a JavaScript Framework option
|
12
|
+
* Remarkable RSpec matchers are optional and are dependent on the RSpec recipe
|
13
|
+
* Haml is an optional choice for your View Templates
|
14
|
+
* Sass is an optional choice for composing Stylesheets
|
15
|
+
* Compass is now dependent on the Sass recipe
|
16
|
+
* Compass has three options: core, blueprint semantic, and blueprint basic
|
17
|
+
* Cucumber is an optional choice for Integration Testing
|
12
18
|
|
13
19
|
0.0.2 (January 23, 2011)
|
14
|
-
|
20
|
+
|
21
|
+
* Add a custom generator for FactoryGirl which uses the new 2.0.0 syntax
|
15
22
|
|
16
23
|
0.0.1 (January 13, 2011)
|
17
|
-
|
24
|
+
|
25
|
+
* First version
|
data/README.textile
CHANGED
@@ -44,15 +44,16 @@ h3. Template Engine
|
|
44
44
|
|
45
45
|
* ERB
|
46
46
|
* "Haml":http://haml-lang.com (optional)
|
47
|
+
* "Slim":http://github.com/stonean/slim (optional)
|
47
48
|
|
48
|
-
h3. Stylesheets
|
49
|
+
h3. Stylesheets
|
49
50
|
|
50
51
|
* "Sass":http://sass-lang.com for generating CSS (optional)
|
51
52
|
** "Compass":http://compass-style.org as your stylesheet authoring framework (optional)
|
52
53
|
|
53
|
-
|
54
|
+
|
54
55
|
h2. Note on Patches/Pull Requests
|
55
|
-
|
56
|
+
|
56
57
|
* Fork the project.
|
57
58
|
* Make your feature addition or bug fix in a branch.
|
58
59
|
* Send me a pull request.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module RailsTemplater
|
2
|
+
class TemplateEngine
|
3
|
+
|
4
|
+
DEFAULT = :haml
|
5
|
+
SUPPORTED_TYPES = [:haml, :slim, :erb]
|
6
|
+
|
7
|
+
def type
|
8
|
+
@type || DEFAULT
|
9
|
+
end
|
10
|
+
|
11
|
+
def type=(value)
|
12
|
+
raise NotSupportedError unless SUPPORTED_TYPES.include?(value)
|
13
|
+
@type ||= value
|
14
|
+
end
|
15
|
+
|
16
|
+
SUPPORTED_TYPES.each do |type|
|
17
|
+
define_method "#{type}?" do
|
18
|
+
self.type == type
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -15,11 +15,15 @@ module RailsTemplater
|
|
15
15
|
def orm
|
16
16
|
@orm ||= Orm.new
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
def javascript_framework
|
20
20
|
@javascript_framework ||= JavaScriptFramework.new
|
21
21
|
end
|
22
22
|
|
23
|
+
def template_engine
|
24
|
+
@template_engine ||= TemplateEngine.new
|
25
|
+
end
|
26
|
+
|
23
27
|
def post_bundler(&block)
|
24
28
|
@post_bundler_strategies << block
|
25
29
|
end
|
@@ -40,10 +44,10 @@ module RailsTemplater
|
|
40
44
|
end
|
41
45
|
|
42
46
|
end
|
43
|
-
|
47
|
+
|
44
48
|
def testing_framework
|
45
49
|
@testing_framework ||= TestingFramework.new
|
46
50
|
end
|
47
|
-
|
51
|
+
|
48
52
|
end
|
49
53
|
end
|
data/lib/rails_templater.rb
CHANGED
@@ -10,6 +10,7 @@ module RailsTemplater
|
|
10
10
|
autoload :JavaScriptFramework, 'rails_templater/javascript_framework'
|
11
11
|
autoload :Orm, 'rails_templater/orm'
|
12
12
|
autoload :Templater, 'rails_templater/templater'
|
13
|
+
autoload :TemplateEngine, 'rails_templater/template_engine'
|
13
14
|
autoload :TestingFramework, 'rails_templater/testing_framework'
|
14
15
|
|
15
16
|
def template_runner
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
gem 'haml'
|
3
|
-
gem "haml-rails"
|
1
|
+
say "\nReplacing ERb with Haml as your Template Engine\n", Thor::Shell::Color::YELLOW
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
gem 'haml'
|
4
|
+
gem "haml-rails"
|
5
|
+
|
6
|
+
remove_file 'app/views/layouts/application.html.erb'
|
7
|
+
create_file 'app/views/layouts/application.html.haml', templater.load_template('app/views/layouts/application.html.haml', 'haml')
|
@@ -0,0 +1,6 @@
|
|
1
|
+
say "\nReplacing ERb with Slim as your Template Engine\n", Thor::Shell::Color::YELLOW
|
2
|
+
|
3
|
+
gem 'slim', :require => 'slim/rails'
|
4
|
+
|
5
|
+
remove_file 'app/views/layouts/application.html.erb'
|
6
|
+
create_file 'app/views/layouts/application.html.slim', templater.load_template('app/views/layouts/application.html.slim', 'slim')
|
@@ -0,0 +1,20 @@
|
|
1
|
+
say "\nWhich Template Engine would you like to use?\n", Thor::Shell::Color::BLUE
|
2
|
+
|
3
|
+
template_engine_options = {
|
4
|
+
'Option' => 'Template Engine',
|
5
|
+
'1' => 'Haml',
|
6
|
+
'2' => 'Slim',
|
7
|
+
'3' => 'ERb',
|
8
|
+
}
|
9
|
+
|
10
|
+
print_table template_engine_options.to_a, :ident => 4
|
11
|
+
|
12
|
+
template_engine_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
13
|
+
if template_engine_selection.present?
|
14
|
+
templater.template_engine.type = template_engine_options[template_engine_selection].underscore.to_sym
|
15
|
+
end
|
16
|
+
|
17
|
+
$stdout << "\n\n"
|
18
|
+
|
19
|
+
apply templater.recipe('haml') if templater.template_engine.haml?
|
20
|
+
apply templater.recipe('slim') if templater.template_engine.slim?
|
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(File.expand_path('./../../', __FILE__))
|
|
3
3
|
require 'rails_templater'
|
4
4
|
require File.join(File.dirname(__FILE__), 'core_ext.rb')
|
5
5
|
|
6
|
-
%w(default orm testing_framework javascript_framework
|
6
|
+
%w(default orm testing_framework javascript_framework template_engine sass cucumber).each do |recipe|
|
7
7
|
apply templater.recipe(recipe)
|
8
8
|
end
|
9
9
|
|
@@ -16,4 +16,4 @@ say("\nbundle install complete\n", Thor::Shell::Color::YELLOW)
|
|
16
16
|
execute_post_bundler_strategies
|
17
17
|
|
18
18
|
git :add => "."
|
19
|
-
git :commit => "-m 'Initial commit'"
|
19
|
+
git :commit => "-m 'Initial commit'"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
!!! 5
|
2
2
|
%html
|
3
|
-
%head
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
%body
|
8
|
-
|
9
|
-
|
3
|
+
%head
|
4
|
+
= csrf_meta_tag
|
5
|
+
/[if lt IE 9]
|
6
|
+
= javascript_include_tag 'html5'
|
7
|
+
%body
|
8
|
+
= yield
|
9
|
+
= javascript_include_tag :defaults
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RailsTemplater::TemplateEngine do
|
4
|
+
|
5
|
+
context "Template Engine type has not been set" do
|
6
|
+
its(:type) { should == :haml }
|
7
|
+
end
|
8
|
+
|
9
|
+
context "Template Engine type has been set to Haml" do
|
10
|
+
|
11
|
+
before(:each) do
|
12
|
+
subject.type = :haml
|
13
|
+
end
|
14
|
+
|
15
|
+
it { should be_haml }
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
context "Template Engine type has been set to Slim" do
|
20
|
+
|
21
|
+
before(:each) do
|
22
|
+
subject.type = :slim
|
23
|
+
end
|
24
|
+
|
25
|
+
it { should be_slim }
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
context "Template Engine type has been set to ERb" do
|
30
|
+
|
31
|
+
before(:each) do
|
32
|
+
subject.type = :erb
|
33
|
+
end
|
34
|
+
|
35
|
+
it { should be_erb }
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
it "only sets type to supported Template Engines" do
|
40
|
+
expect{
|
41
|
+
subject.type = :random
|
42
|
+
}.to raise_error(RailsTemplater::NotSupportedError)
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kevin Faustino
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01
|
17
|
+
date: 2011-02-01 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- lib/rails_templater/fixture_replacement.rb
|
101
101
|
- lib/rails_templater/javascript_framework.rb
|
102
102
|
- lib/rails_templater/orm.rb
|
103
|
+
- lib/rails_templater/template_engine.rb
|
103
104
|
- lib/rails_templater/templater.rb
|
104
105
|
- lib/rails_templater/testing_framework.rb
|
105
106
|
- lib/rails_templater/version.rb
|
@@ -120,6 +121,8 @@ files:
|
|
120
121
|
- lib/template_framework/recipes/remarkable.rb
|
121
122
|
- lib/template_framework/recipes/rspec.rb
|
122
123
|
- lib/template_framework/recipes/sass.rb
|
124
|
+
- lib/template_framework/recipes/slim.rb
|
125
|
+
- lib/template_framework/recipes/template_engine.rb
|
123
126
|
- lib/template_framework/recipes/test_unit.rb
|
124
127
|
- lib/template_framework/recipes/testing_framework.rb
|
125
128
|
- lib/template_framework/snippets/cucumber/factory_girl
|
@@ -131,12 +134,14 @@ files:
|
|
131
134
|
- lib/template_framework/templates/haml/app/views/layouts/application.html.haml
|
132
135
|
- lib/template_framework/templates/mongoid/features/step_definitions/mongoid_steps.rb
|
133
136
|
- lib/template_framework/templates/mongoid/features/support/hooks.rb
|
137
|
+
- lib/template_framework/templates/slim/app/views/layouts/application.html.slim
|
134
138
|
- rails_templater.gemspec
|
135
139
|
- spec/fixtures/sample_snippet
|
136
140
|
- spec/fixtures/sample_template.rb
|
137
141
|
- spec/rails_templater/fixture_replacement_spec.rb
|
138
142
|
- spec/rails_templater/javascript_framework_spec.rb
|
139
143
|
- spec/rails_templater/orm_spec.rb
|
144
|
+
- spec/rails_templater/template_engine_spec.rb
|
140
145
|
- spec/rails_templater/templater_spec.rb
|
141
146
|
- spec/rails_templater/testing_framework_spec.rb
|
142
147
|
- spec/rails_templater_spec.rb
|