jquery-tmpl-rails 1.0.1 → 1.1.0
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/Gemfile +3 -0
- data/README.md +6 -0
- data/jquery-tmpl-rails.gemspec +3 -1
- data/lib/jquery-tmpl-rails/engine.rb +3 -3
- data/lib/jquery-tmpl-rails/jquery_template.rb +2 -1
- data/spec/dummy/app/assets/javascripts/application.js +2 -14
- data/spec/dummy/app/assets/javascripts/templates/test.tmpl +1 -1
- data/spec/dummy/app/controllers/main_controller.rb +4 -0
- data/spec/dummy/app/views/layouts/application.html.erb +2 -4
- data/spec/dummy/app/views/main/index.html.erb +5 -0
- data/spec/dummy/app/views/main/prefix.html.erb +5 -0
- data/spec/dummy/config/routes.rb +2 -56
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/integration_spec.rb +24 -0
- data/spec/jquery-tmpl-rails/jquery_template_spec.rb +1 -1
- data/spec/spec_helper.rb +6 -0
- metadata +38 -6
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -40,6 +40,12 @@ That would change the previous example to this:
|
|
40
40
|
$.tmpl("author", { name: "Jimmy" }).appendTo("#author");
|
41
41
|
```
|
42
42
|
|
43
|
+
The prefix can also be a regular expression. For example, to use only the name of the file for the template name, regardless of directory structure:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
config.jquery_templates.prefix = %r{([^/]*/)*}
|
47
|
+
```
|
48
|
+
|
43
49
|
Happy templating!
|
44
50
|
|
45
51
|
## Acknowledgements
|
data/jquery-tmpl-rails.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "jquery-tmpl-rails"
|
5
|
-
s.version = "1.0
|
5
|
+
s.version = "1.1.0"
|
6
6
|
s.authors = ["Jimmy Cuadra"]
|
7
7
|
s.email = ["jimmy@jimmycuadra.com"]
|
8
8
|
s.homepage = ""
|
@@ -16,4 +16,6 @@ Gem::Specification.new do |s|
|
|
16
16
|
|
17
17
|
s.add_dependency 'rails', '>= 3.1.0'
|
18
18
|
s.add_development_dependency 'rspec'
|
19
|
+
s.add_development_dependency 'capybara'
|
20
|
+
s.add_development_dependency 'poltergeist'
|
19
21
|
end
|
@@ -2,12 +2,12 @@ require "active_support/ordered_options"
|
|
2
2
|
|
3
3
|
module JqueryTmplRails
|
4
4
|
class Railtie < Rails::Engine
|
5
|
+
config.jquery_templates = ActiveSupport::OrderedOptions.new
|
6
|
+
config.jquery_templates.prefix = ""
|
7
|
+
|
5
8
|
initializer "sprockets.jquery_templates", :after => "sprockets.environment", :group => :all do |app|
|
6
9
|
next unless app.assets
|
7
|
-
|
8
10
|
app.assets.register_engine(".tmpl", JqueryTemplate)
|
9
|
-
app.config.jquery_templates = ActiveSupport::OrderedOptions.new
|
10
|
-
app.config.jquery_templates.prefix = ""
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'sprockets'
|
2
|
+
require 'tilt'
|
2
3
|
require 'action_view'
|
3
4
|
require 'action_view/helpers'
|
4
5
|
|
@@ -21,7 +22,7 @@ module JqueryTmplRails
|
|
21
22
|
private
|
22
23
|
|
23
24
|
def normalize_prefix(prefix)
|
24
|
-
if prefix.length > 0
|
25
|
+
if prefix.respond_to?(:length) && prefix.length > 0
|
25
26
|
prefix = prefix[1, prefix.length - 1] if prefix.start_with?("/")
|
26
27
|
prefix += "/" unless prefix.end_with?("/")
|
27
28
|
end
|
@@ -1,15 +1,3 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
-
// listed below.
|
3
|
-
//
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
-
//
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
-
// the compiled file.
|
9
|
-
//
|
10
|
-
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
-
// GO AFTER THE REQUIRES BELOW.
|
12
|
-
//
|
13
1
|
//= require jquery
|
14
|
-
//= require
|
15
|
-
//= require_tree
|
2
|
+
//= require jquery-tmpl
|
3
|
+
//= require_tree ./templates
|
@@ -1 +1 @@
|
|
1
|
-
<div class="test"
|
1
|
+
<div class="test">${test}</div>
|
@@ -2,13 +2,11 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>Dummy</title>
|
5
|
-
<%= stylesheet_link_tag
|
5
|
+
<%= stylesheet_link_tag "application" %>
|
6
6
|
<%= javascript_include_tag "application" %>
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
</head>
|
9
9
|
<body>
|
10
|
-
|
11
|
-
<%= yield %>
|
12
|
-
|
10
|
+
<%= yield %>
|
13
11
|
</body>
|
14
12
|
</html>
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -1,58 +1,4 @@
|
|
1
1
|
Dummy::Application.routes.draw do
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
# Sample of regular route:
|
6
|
-
# match 'products/:id' => 'catalog#view'
|
7
|
-
# Keep in mind you can assign values other than :controller and :action
|
8
|
-
|
9
|
-
# Sample of named route:
|
10
|
-
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
|
11
|
-
# This route can be invoked with purchase_url(:id => product.id)
|
12
|
-
|
13
|
-
# Sample resource route (maps HTTP verbs to controller actions automatically):
|
14
|
-
# resources :products
|
15
|
-
|
16
|
-
# Sample resource route with options:
|
17
|
-
# resources :products do
|
18
|
-
# member do
|
19
|
-
# get 'short'
|
20
|
-
# post 'toggle'
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
# collection do
|
24
|
-
# get 'sold'
|
25
|
-
# end
|
26
|
-
# end
|
27
|
-
|
28
|
-
# Sample resource route with sub-resources:
|
29
|
-
# resources :products do
|
30
|
-
# resources :comments, :sales
|
31
|
-
# resource :seller
|
32
|
-
# end
|
33
|
-
|
34
|
-
# Sample resource route with more complex sub-resources
|
35
|
-
# resources :products do
|
36
|
-
# resources :comments
|
37
|
-
# resources :sales do
|
38
|
-
# get 'recent', :on => :collection
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
|
42
|
-
# Sample resource route within a namespace:
|
43
|
-
# namespace :admin do
|
44
|
-
# # Directs /admin/products/* to Admin::ProductsController
|
45
|
-
# # (app/controllers/admin/products_controller.rb)
|
46
|
-
# resources :products
|
47
|
-
# end
|
48
|
-
|
49
|
-
# You can have the root of your site routed with "root"
|
50
|
-
# just remember to delete public/index.html.
|
51
|
-
# root :to => 'welcome#index'
|
52
|
-
|
53
|
-
# See how all your routes lay out with "rake routes"
|
54
|
-
|
55
|
-
# This is a legacy wild controller route that's not recommended for RESTful applications.
|
56
|
-
# Note: This route will make all actions in every controller accessible via GET requests.
|
57
|
-
# match ':controller(/:action(/:id))(.:format)'
|
2
|
+
match "prefix" => "main#prefix"
|
3
|
+
root to: "main#index"
|
58
4
|
end
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
feature "Using jquery-tmpl-rails", js: true do
|
4
|
+
after do
|
5
|
+
Rails.application.config.jquery_templates.prefix = ''
|
6
|
+
end
|
7
|
+
|
8
|
+
scenario "Loading a page using a jQuery template" do
|
9
|
+
visit "/"
|
10
|
+
page.should have_content("Jimmy")
|
11
|
+
end
|
12
|
+
|
13
|
+
scenario "Using a template prefix", js: true do
|
14
|
+
Rails.application.config.jquery_templates.prefix = 'templates'
|
15
|
+
visit "/prefix"
|
16
|
+
page.should have_content("Jimmy")
|
17
|
+
end
|
18
|
+
|
19
|
+
scenario "Using a regular expression as a template prefix", js: true do
|
20
|
+
Rails.application.config.jquery_templates.prefix = %r{([^/]*/)*}
|
21
|
+
visit "/prefix"
|
22
|
+
page.should have_content("Jimmy")
|
23
|
+
end
|
24
|
+
end
|
@@ -9,7 +9,7 @@ describe JqueryTmplRails::JqueryTemplate do
|
|
9
9
|
|
10
10
|
it "compiles templates with the .tmpl extension" do
|
11
11
|
template = Rails.application.assets["templates/test"]
|
12
|
-
template.to_s.should == %{jQuery.template("templates/test", "<div class=\\\"test\\\"
|
12
|
+
template.to_s.should == %{jQuery.template("templates/test", "<div class=\\\"test\\\">${test}<\\/div>\\n");}
|
13
13
|
end
|
14
14
|
|
15
15
|
context "when config.template_prefix is set" do
|
data/spec/spec_helper.rb
CHANGED
@@ -3,3 +3,9 @@ ENV["RAILS_ENV"] = "test"
|
|
3
3
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
4
4
|
|
5
5
|
Rails.backtrace_cleaner.remove_silencers!
|
6
|
+
|
7
|
+
require "capybara/rails"
|
8
|
+
require "capybara/rspec"
|
9
|
+
require "capybara/poltergeist"
|
10
|
+
|
11
|
+
Capybara.javascript_driver = :poltergeist
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-tmpl-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70313071249060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70313071249060
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70313071248660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,29 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70313071248660
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: capybara
|
38
|
+
requirement: &70313071248200 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70313071248200
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: poltergeist
|
49
|
+
requirement: &70313071247780 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70313071247780
|
36
58
|
description: Adds the jQuery Templates plugin and a corresponding Sprockets engine
|
37
59
|
to the asset pipeline in Rails applications.
|
38
60
|
email:
|
@@ -57,10 +79,13 @@ files:
|
|
57
79
|
- spec/dummy/app/assets/javascripts/templates/test.tmpl
|
58
80
|
- spec/dummy/app/assets/stylesheets/application.css
|
59
81
|
- spec/dummy/app/controllers/application_controller.rb
|
82
|
+
- spec/dummy/app/controllers/main_controller.rb
|
60
83
|
- spec/dummy/app/helpers/application_helper.rb
|
61
84
|
- spec/dummy/app/mailers/.gitkeep
|
62
85
|
- spec/dummy/app/models/.gitkeep
|
63
86
|
- spec/dummy/app/views/layouts/application.html.erb
|
87
|
+
- spec/dummy/app/views/main/index.html.erb
|
88
|
+
- spec/dummy/app/views/main/prefix.html.erb
|
64
89
|
- spec/dummy/config.ru
|
65
90
|
- spec/dummy/config/application.rb
|
66
91
|
- spec/dummy/config/boot.rb
|
@@ -77,6 +102,7 @@ files:
|
|
77
102
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
78
103
|
- spec/dummy/config/locales/en.yml
|
79
104
|
- spec/dummy/config/routes.rb
|
105
|
+
- spec/dummy/db/test.sqlite3
|
80
106
|
- spec/dummy/lib/assets/.gitkeep
|
81
107
|
- spec/dummy/log/.gitkeep
|
82
108
|
- spec/dummy/public/404.html
|
@@ -84,6 +110,7 @@ files:
|
|
84
110
|
- spec/dummy/public/500.html
|
85
111
|
- spec/dummy/public/favicon.ico
|
86
112
|
- spec/dummy/script/rails
|
113
|
+
- spec/integration_spec.rb
|
87
114
|
- spec/jquery-tmpl-rails/jquery_template_spec.rb
|
88
115
|
- spec/spec_helper.rb
|
89
116
|
- vendor/assets/javascripts/jquery-tmpl.js
|
@@ -118,10 +145,13 @@ test_files:
|
|
118
145
|
- spec/dummy/app/assets/javascripts/templates/test.tmpl
|
119
146
|
- spec/dummy/app/assets/stylesheets/application.css
|
120
147
|
- spec/dummy/app/controllers/application_controller.rb
|
148
|
+
- spec/dummy/app/controllers/main_controller.rb
|
121
149
|
- spec/dummy/app/helpers/application_helper.rb
|
122
150
|
- spec/dummy/app/mailers/.gitkeep
|
123
151
|
- spec/dummy/app/models/.gitkeep
|
124
152
|
- spec/dummy/app/views/layouts/application.html.erb
|
153
|
+
- spec/dummy/app/views/main/index.html.erb
|
154
|
+
- spec/dummy/app/views/main/prefix.html.erb
|
125
155
|
- spec/dummy/config.ru
|
126
156
|
- spec/dummy/config/application.rb
|
127
157
|
- spec/dummy/config/boot.rb
|
@@ -138,6 +168,7 @@ test_files:
|
|
138
168
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
139
169
|
- spec/dummy/config/locales/en.yml
|
140
170
|
- spec/dummy/config/routes.rb
|
171
|
+
- spec/dummy/db/test.sqlite3
|
141
172
|
- spec/dummy/lib/assets/.gitkeep
|
142
173
|
- spec/dummy/log/.gitkeep
|
143
174
|
- spec/dummy/public/404.html
|
@@ -145,6 +176,7 @@ test_files:
|
|
145
176
|
- spec/dummy/public/500.html
|
146
177
|
- spec/dummy/public/favicon.ico
|
147
178
|
- spec/dummy/script/rails
|
179
|
+
- spec/integration_spec.rb
|
148
180
|
- spec/jquery-tmpl-rails/jquery_template_spec.rb
|
149
181
|
- spec/spec_helper.rb
|
150
182
|
has_rdoc:
|