merb-haml 1.0.15 → 1.1.0.pre
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/Rakefile +56 -65
- data/lib/generators/templates/resource_controller/datamapper/app/views/%file_name%/edit.html.haml +1 -1
- data/lib/generators/templates/resource_controller/datamapper/app/views/%file_name%/index.html.haml +1 -1
- data/lib/generators/templates/resource_controller/datamapper/app/views/%file_name%/new.html.haml +1 -1
- data/lib/generators/templates/resource_controller/datamapper/app/views/%file_name%/show.html.haml +1 -1
- data/lib/merb-haml.rb +13 -8
- data/lib/merb-haml/merbtasks.rb +0 -1
- data/lib/merb-haml/version.rb +5 -0
- data/spec/controllers/haml.rb +31 -0
- data/spec/controllers/views/capture_haml/index.html.haml +3 -0
- data/spec/controllers/views/concat_haml/index.html.haml +2 -0
- data/spec/controllers/views/haml_config/index.html.haml +2 -0
- data/spec/controllers/views/haml_controller/index.html.haml +2 -0
- data/spec/controllers/views/partial_haml/_partial_haml.html.haml +1 -0
- data/spec/controllers/views/partial_haml/index.html.haml +2 -0
- data/spec/controllers/views/partial_ivars/_partial_haml.html.haml +1 -0
- data/spec/controllers/views/partial_ivars/index.html.haml +3 -0
- data/spec/haml_spec.rb +33 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +23 -0
- metadata +37 -14
data/Rakefile
CHANGED
@@ -1,74 +1,65 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
##############################################################################
|
4
|
-
# Package && release
|
5
|
-
##############################################################################
|
6
|
-
RUBY_FORGE_PROJECT = "merb"
|
7
|
-
PROJECT_URL = "http://merbivore.com"
|
8
|
-
PROJECT_SUMMARY = "Merb plugin that provides HAML support"
|
9
|
-
PROJECT_DESCRIPTION = PROJECT_SUMMARY
|
10
|
-
|
11
|
-
GEM_AUTHOR = "Yehuda Katz"
|
12
|
-
GEM_EMAIL = "ykatz@engineyard.com"
|
13
|
-
|
14
|
-
GEM_NAME = "merb-haml"
|
15
|
-
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
|
16
|
-
GEM_VERSION = Merb::VERSION + PKG_BUILD
|
17
|
-
|
18
|
-
RELEASE_NAME = "REL #{GEM_VERSION}"
|
19
|
-
|
20
|
-
require "extlib/tasks/release"
|
21
|
-
|
22
|
-
spec = Gem::Specification.new do |s|
|
23
|
-
s.rubyforge_project = RUBY_FORGE_PROJECT
|
24
|
-
s.name = GEM_NAME
|
25
|
-
s.version = GEM_VERSION
|
26
|
-
s.platform = Gem::Platform::RUBY
|
27
|
-
s.has_rdoc = true
|
28
|
-
s.extra_rdoc_files = ["README", "LICENSE", 'TODO']
|
29
|
-
s.summary = PROJECT_SUMMARY
|
30
|
-
s.description = PROJECT_DESCRIPTION
|
31
|
-
s.author = GEM_AUTHOR
|
32
|
-
s.email = GEM_EMAIL
|
33
|
-
s.homepage = PROJECT_URL
|
34
|
-
s.add_dependency('merb-core', "~> #{Merb::VERSION}")
|
35
|
-
s.add_dependency('haml', '>= 2.0.3')
|
36
|
-
s.require_path = 'lib'
|
37
|
-
s.files = %w(LICENSE README Rakefile TODO Generators) + Dir.glob("{lib}/**/*")
|
38
|
-
end
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
39
3
|
|
40
|
-
|
41
|
-
|
42
|
-
end
|
4
|
+
# Assume a typical dev checkout to fetch the current merb-core version
|
5
|
+
require File.expand_path('../../merb-core/lib/merb-core/version', __FILE__)
|
43
6
|
|
44
|
-
|
45
|
-
|
46
|
-
Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
|
47
|
-
end
|
7
|
+
# Load this library's version information
|
8
|
+
require File.expand_path('../lib/merb-haml/version', __FILE__)
|
48
9
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
10
|
+
begin
|
11
|
+
|
12
|
+
gem 'jeweler', '~> 1.4'
|
13
|
+
require 'jeweler'
|
14
|
+
|
15
|
+
Jeweler::Tasks.new do |gemspec|
|
16
|
+
|
17
|
+
gemspec.version = Merb::Haml::VERSION
|
18
|
+
|
19
|
+
gemspec.name = "merb-haml"
|
20
|
+
gemspec.description = "Merb plugin for HAML support"
|
21
|
+
gemspec.summary = "Merb plugin that provides support for writing view template with HAML"
|
22
|
+
|
23
|
+
gemspec.authors = [ "Yehuda Katz" ]
|
24
|
+
gemspec.email = "ykatz@engineyard.com"
|
25
|
+
gemspec.homepage = "http://merbivore.com/"
|
26
|
+
|
27
|
+
gemspec.files = %w(Generators LICENSE Rakefile README TODO) + Dir['{lib,spec}/**/*']
|
28
|
+
|
29
|
+
# Runtime dependencies
|
30
|
+
gemspec.add_dependency 'merb-core', "~> #{Merb::VERSION}"
|
31
|
+
gemspec.add_dependency 'haml', '>= 2.0.3'
|
32
|
+
|
33
|
+
# Development dependencies
|
34
|
+
gemspec.add_development_dependency 'rspec', '>= 1.2.9'
|
53
35
|
|
54
|
-
desc "Create a gemspec file"
|
55
|
-
task :gemspec do
|
56
|
-
File.open("#{GEM_NAME}.gemspec", "w") do |file|
|
57
|
-
file.puts spec.to_ruby
|
58
36
|
end
|
37
|
+
|
38
|
+
Jeweler::GemcutterTasks.new
|
39
|
+
|
40
|
+
rescue LoadError
|
41
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
59
42
|
end
|
60
43
|
|
61
|
-
|
62
|
-
Spec::Rake::SpecTask.new(
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
ENV["TASK"].split(',').map { |task| "spec/**/#{task}_spec.rb" }
|
67
|
-
else
|
68
|
-
FileList['spec/**/*_spec.rb']
|
69
|
-
end
|
70
|
-
end
|
44
|
+
require 'spec/rake/spectask'
|
45
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
46
|
+
spec.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
|
47
|
+
spec.libs << 'lib' << 'spec'
|
48
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
71
49
|
end
|
72
50
|
|
73
|
-
|
74
|
-
|
51
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
52
|
+
spec.libs << 'lib' << 'spec'
|
53
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
54
|
+
spec.rcov = true
|
55
|
+
end
|
56
|
+
|
57
|
+
task :default => :spec
|
58
|
+
|
59
|
+
require 'rake/rdoctask'
|
60
|
+
Rake::RDocTask.new do |rdoc|
|
61
|
+
rdoc.rdoc_dir = 'rdoc'
|
62
|
+
rdoc.title = "test_gem #{Merb::Haml::VERSION}"
|
63
|
+
rdoc.rdoc_files.include('README*')
|
64
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
65
|
+
end
|
data/lib/generators/templates/resource_controller/datamapper/app/views/%file_name%/edit.html.haml
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
%p
|
4
4
|
Edit this file in
|
5
5
|
%tt
|
6
|
-
app/views/<%= file_name %>/edit.html.
|
6
|
+
app/views/<%= file_name %>/edit.html.haml
|
7
7
|
= error_messages_for @<%= singular_model %>
|
8
8
|
|
9
9
|
= form_for(@<%= singular_model %>, :action => url(:<%= singular_model %>, @<%= singular_model %>)) do
|
data/lib/merb-haml.rb
CHANGED
@@ -8,7 +8,19 @@ if defined?(Merb)
|
|
8
8
|
|
9
9
|
Merb::BootLoader.after_app_loads do
|
10
10
|
|
11
|
-
|
11
|
+
template_locations = []
|
12
|
+
template_locations << Merb.dir_for(:stylesheet) / "sass"
|
13
|
+
|
14
|
+
# extract template locations list from sass config
|
15
|
+
config_location = Merb::Plugins.config[:sass][:template_location]
|
16
|
+
if config_location.is_a? Hash
|
17
|
+
template_locations += config_location.keys
|
18
|
+
elsif config_location
|
19
|
+
template_locations << config_location.to_s
|
20
|
+
end
|
21
|
+
|
22
|
+
# setup sass if any template paths match
|
23
|
+
if template_locations.any?{|location| File.directory?(location) }
|
12
24
|
require "sass"
|
13
25
|
if Merb::Config[:sass]
|
14
26
|
Merb.logger.info("Please define your sass settings in Merb::Plugins.config[:sass] not Merb::Config")
|
@@ -20,13 +32,6 @@ if defined?(Merb)
|
|
20
32
|
|
21
33
|
end
|
22
34
|
|
23
|
-
# Hack because Haml uses symbolize_keys
|
24
|
-
class Hash
|
25
|
-
def symbolize_keys!
|
26
|
-
self
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
35
|
generators = File.join(File.dirname(__FILE__), 'generators')
|
31
36
|
Merb.add_generators generators / "resource_controller"
|
32
37
|
Merb.add_generators generators / "controller"
|
data/lib/merb-haml/merbtasks.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
class HamlController < Merb::Controller
|
2
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
3
|
+
def index
|
4
|
+
render
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class PartialHaml < HamlController
|
9
|
+
end
|
10
|
+
|
11
|
+
class HamlConfig < HamlController
|
12
|
+
end
|
13
|
+
|
14
|
+
class PartialIvars < HamlController
|
15
|
+
def index
|
16
|
+
@var1 = "Partial"
|
17
|
+
render
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class CaptureHaml < HamlController
|
22
|
+
end
|
23
|
+
|
24
|
+
module Merb::ConcatHamlHelper
|
25
|
+
def concatter(&blk)
|
26
|
+
concat("<p>Concat</p>", blk.binding)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class ConcatHaml < HamlController
|
31
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
%p= text
|
@@ -0,0 +1 @@
|
|
1
|
+
%p== #{@var1} #{@var2}
|
data/spec/haml_spec.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "HAML" do
|
4
|
+
it "should be able to render HAML templates" do
|
5
|
+
c = dispatch_to(HamlController, :index)
|
6
|
+
c.body.should == ::Haml::Engine.new("#foo\n %p Hello").render
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should be able to render HAML templates with locals" do
|
10
|
+
c = dispatch_to(PartialHaml, :index)
|
11
|
+
c.body.should == ::Haml::Engine.new("#foo\n %p Partial").render
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should use the haml configuration in Merb::Plugins.config" do
|
15
|
+
c = dispatch_to(HamlConfig, :index)
|
16
|
+
c.body.should == ::Haml::Engine.new("#foo\n %foo", :autoclose => ["foo"]).render
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should be able to have ivars defined in both the controller and the parent template" do
|
20
|
+
c = dispatch_to(PartialIvars, :index)
|
21
|
+
c.body.should == ::Haml::Engine.new("#foo\n %p Partial HAML").render
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should support capture" do
|
25
|
+
c = dispatch_to(CaptureHaml, :index)
|
26
|
+
c.body.should == "<p>Hello</p>\n"
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should support concat" do
|
30
|
+
c = dispatch_to(ConcatHaml, :index)
|
31
|
+
c.body.should == "<p>Concat</p>"
|
32
|
+
end
|
33
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
|
3
|
+
# Use current merb-core sources if running from a typical dev checkout.
|
4
|
+
lib = File.expand_path('../../../merb-core/lib', __FILE__)
|
5
|
+
$LOAD_PATH.unshift(lib) if File.directory?(lib)
|
6
|
+
require 'merb-core'
|
7
|
+
|
8
|
+
# The lib under test
|
9
|
+
require "merb-haml"
|
10
|
+
|
11
|
+
# Satisfies Autotest and anyone else not using the Rake tasks
|
12
|
+
require 'spec'
|
13
|
+
|
14
|
+
# Shared spec files
|
15
|
+
require "controllers/haml"
|
16
|
+
|
17
|
+
Merb::Plugins.config[:haml] = { "autoclose" => ["foo"] }
|
18
|
+
|
19
|
+
Merb.start :environment => 'test'
|
20
|
+
|
21
|
+
Spec::Runner.configure do |config|
|
22
|
+
config.include Merb::Test::RequestHelper
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: merb-haml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.1.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yehuda Katz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-02-20 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.
|
23
|
+
version: 1.1.0.pre
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: haml
|
@@ -32,22 +32,32 @@ dependencies:
|
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.0.3
|
34
34
|
version:
|
35
|
-
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rspec
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.2.9
|
44
|
+
version:
|
45
|
+
description: Merb plugin for HAML support
|
36
46
|
email: ykatz@engineyard.com
|
37
47
|
executables: []
|
38
48
|
|
39
49
|
extensions: []
|
40
50
|
|
41
51
|
extra_rdoc_files:
|
42
|
-
- README
|
43
52
|
- LICENSE
|
53
|
+
- README
|
44
54
|
- TODO
|
45
55
|
files:
|
56
|
+
- Generators
|
46
57
|
- LICENSE
|
47
58
|
- README
|
48
59
|
- Rakefile
|
49
60
|
- TODO
|
50
|
-
- Generators
|
51
61
|
- lib/generators/controller.rb
|
52
62
|
- lib/generators/layout.rb
|
53
63
|
- lib/generators/resource_controller.rb
|
@@ -69,16 +79,29 @@ files:
|
|
69
79
|
- lib/generators/templates/resource_controller/sequel/app/views/%file_name%/index.html.haml
|
70
80
|
- lib/generators/templates/resource_controller/sequel/app/views/%file_name%/new.html.haml
|
71
81
|
- lib/generators/templates/resource_controller/sequel/app/views/%file_name%/show.html.haml
|
82
|
+
- lib/merb-haml.rb
|
72
83
|
- lib/merb-haml/merbtasks.rb
|
73
84
|
- lib/merb-haml/template.rb
|
74
|
-
- lib/merb-haml.rb
|
85
|
+
- lib/merb-haml/version.rb
|
86
|
+
- spec/controllers/haml.rb
|
87
|
+
- spec/controllers/views/capture_haml/index.html.haml
|
88
|
+
- spec/controllers/views/concat_haml/index.html.haml
|
89
|
+
- spec/controllers/views/haml_config/index.html.haml
|
90
|
+
- spec/controllers/views/haml_controller/index.html.haml
|
91
|
+
- spec/controllers/views/partial_haml/_partial_haml.html.haml
|
92
|
+
- spec/controllers/views/partial_haml/index.html.haml
|
93
|
+
- spec/controllers/views/partial_ivars/_partial_haml.html.haml
|
94
|
+
- spec/controllers/views/partial_ivars/index.html.haml
|
95
|
+
- spec/haml_spec.rb
|
96
|
+
- spec/spec.opts
|
97
|
+
- spec/spec_helper.rb
|
75
98
|
has_rdoc: true
|
76
|
-
homepage: http://merbivore.com
|
99
|
+
homepage: http://merbivore.com/
|
77
100
|
licenses: []
|
78
101
|
|
79
102
|
post_install_message:
|
80
|
-
rdoc_options:
|
81
|
-
|
103
|
+
rdoc_options:
|
104
|
+
- --charset=UTF-8
|
82
105
|
require_paths:
|
83
106
|
- lib
|
84
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -89,16 +112,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
112
|
version:
|
90
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
114
|
requirements:
|
92
|
-
- - "
|
115
|
+
- - ">"
|
93
116
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
117
|
+
version: 1.3.1
|
95
118
|
version:
|
96
119
|
requirements: []
|
97
120
|
|
98
|
-
rubyforge_project:
|
121
|
+
rubyforge_project:
|
99
122
|
rubygems_version: 1.3.5
|
100
123
|
signing_key:
|
101
124
|
specification_version: 3
|
102
|
-
summary: Merb plugin that provides HAML
|
125
|
+
summary: Merb plugin that provides support for writing view template with HAML
|
103
126
|
test_files: []
|
104
127
|
|