client_side_validations-formtastic 2.0.0.beta.1 → 2.0.0.beta.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/client_side_validations-formtastic.gemspec +1 -2
- data/lib/client_side_validations/formtastic/engine.rb +2 -0
- data/lib/client_side_validations/formtastic/version.rb +1 -1
- data/lib/client_side_validations/formtastic.rb +1 -0
- data/{test/formtastic/cases/helper.rb → lib/client_side_validations-formtastic.rb} +0 -3
- data/vendor/assets/javascripts/rails.validations.formtastic.js +9 -0
- metadata +29 -50
- data/test/action_view/models/post.rb +0 -35
- data/test/action_view/models.rb +0 -2
- data/test/action_view/test_helper.rb +0 -42
- data/test/base_helper.rb +0 -6
- data/test/formtastic/cases/test_form_builder.rb +0 -11
- data/test/formtastic/cases/test_form_helpers.rb +0 -30
- data/test/javascript/config.ru +0 -3
- data/test/javascript/public/test/form_builders/validateFormtastic.js +0 -54
- data/test/javascript/public/test/settings.js +0 -15
- data/test/javascript/public/vendor/jquery.metadata.js +0 -122
- data/test/javascript/public/vendor/qunit.css +0 -196
- data/test/javascript/public/vendor/qunit.js +0 -1374
- data/test/javascript/server.rb +0 -136
- data/test/javascript/views/index.erb +0 -22
- data/test/javascript/views/layout.erb +0 -22
- data/test/test_loader.rb +0 -4
data/test/javascript/server.rb
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
require 'sinatra'
|
2
|
-
require 'json'
|
3
|
-
require 'ruby-debug'
|
4
|
-
|
5
|
-
def rails_validations_path
|
6
|
-
File.expand_path('../', $:.grep(/client_side_validations-\d/).first)
|
7
|
-
end
|
8
|
-
|
9
|
-
class AssetPath
|
10
|
-
def initialize(app, options={})
|
11
|
-
@app = app
|
12
|
-
@urls = options[:urls] || ["/favicon.ico"]
|
13
|
-
@index = options[:index]
|
14
|
-
root = options[:root] || Dir.pwd
|
15
|
-
cache_control = options[:cache_control]
|
16
|
-
@file_server = Rack::File.new(root, cache_control)
|
17
|
-
end
|
18
|
-
|
19
|
-
def overwrite_file_path(path)
|
20
|
-
@urls.kind_of?(Hash) && @urls.key?(path) || @index && path == '/'
|
21
|
-
end
|
22
|
-
|
23
|
-
def route_file(path)
|
24
|
-
@urls.kind_of?(Array) && @urls.any? { |url| path.index(url) == 0 }
|
25
|
-
end
|
26
|
-
|
27
|
-
def can_serve(path)
|
28
|
-
route_file(path) || overwrite_file_path(path)
|
29
|
-
end
|
30
|
-
|
31
|
-
def call(env)
|
32
|
-
path = env["PATH_INFO"]
|
33
|
-
|
34
|
-
if can_serve(path)
|
35
|
-
env["PATH_INFO"] = (path == '/' ? @index : @urls[path]) if overwrite_file_path(path)
|
36
|
-
response = @file_server.call(env)
|
37
|
-
if response.first == 404
|
38
|
-
@app.call(env)
|
39
|
-
else
|
40
|
-
response
|
41
|
-
end
|
42
|
-
else
|
43
|
-
@app.call(env)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
use AssetPath, :urls => ['/vendor/assets/javascripts/'], :root => rails_validations_path
|
49
|
-
use AssetPath, :urls => ['/vendor/assets/javascripts/'], :root => File.expand_path('../..', settings.root)
|
50
|
-
|
51
|
-
JQUERY_VERSIONS = %w[ 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.7 1.7.1 ].freeze
|
52
|
-
|
53
|
-
helpers do
|
54
|
-
def jquery_link version
|
55
|
-
if params[:version] == version
|
56
|
-
"[#{version}]"
|
57
|
-
else
|
58
|
-
"<a href='/?version=#{version}'>#{version}</a>"
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def jquery_src
|
63
|
-
if params[:version] == 'edge'
|
64
|
-
'/vendor/jquery.js'
|
65
|
-
else
|
66
|
-
"http://code.jquery.com/jquery-#{params[:version]}.js"
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_base
|
71
|
-
names = ['/vendor/qunit.js', 'settings']
|
72
|
-
names.map { |name| script_tag name }.join("\n")
|
73
|
-
end
|
74
|
-
|
75
|
-
def test *types
|
76
|
-
types.map do |type|
|
77
|
-
Dir.glob(File.expand_path("public/test/#{type}", settings.root) + '/*.js').map { |file| File.basename(file) }.map do |file|
|
78
|
-
script_tag "/test/#{type}/#{file}"
|
79
|
-
end.join("\n")
|
80
|
-
end.join("\n")
|
81
|
-
end
|
82
|
-
|
83
|
-
def script_tag src
|
84
|
-
src = "/test/#{src}.js" unless src.index('/')
|
85
|
-
%(<script src='#{src}' type='text/javascript'></script>)
|
86
|
-
end
|
87
|
-
|
88
|
-
def jquery_versions
|
89
|
-
JQUERY_VERSIONS
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
get '/' do
|
94
|
-
params[:version] ||= '1.7.1'
|
95
|
-
erb :index
|
96
|
-
end
|
97
|
-
|
98
|
-
get '/validators/uniqueness' do
|
99
|
-
content_type 'application/json'
|
100
|
-
|
101
|
-
if user = params[:user2]
|
102
|
-
status 500
|
103
|
-
'error'
|
104
|
-
elsif user = params['active_record_test_module/user2']
|
105
|
-
status 200
|
106
|
-
'false'
|
107
|
-
elsif scope = params[:scope]
|
108
|
-
if scope[:name] == 'test name' || scope[:name] == 'taken name'
|
109
|
-
status 200
|
110
|
-
'false'
|
111
|
-
else
|
112
|
-
status 404
|
113
|
-
'true'
|
114
|
-
end
|
115
|
-
elsif params[:case_sensitive] == 'false' && (params[:user][:email] || params[:users][:email]) == 'taken@test.com'
|
116
|
-
status 200
|
117
|
-
'false'
|
118
|
-
else
|
119
|
-
status 404
|
120
|
-
'true'
|
121
|
-
end
|
122
|
-
|
123
|
-
end
|
124
|
-
|
125
|
-
post '/users' do
|
126
|
-
data = { :params => params }.update(request.env)
|
127
|
-
payload = data.to_json.gsub('<', '<').gsub('>', '>')
|
128
|
-
<<-HTML
|
129
|
-
<script>
|
130
|
-
if (window.top && window.top !== window)
|
131
|
-
window.top.jQuery.event.trigger('iframe:loaded', #{payload})
|
132
|
-
</script>
|
133
|
-
<p id="response">Form submitted</p>
|
134
|
-
HTML
|
135
|
-
end
|
136
|
-
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<% @title = "client_side_validations-formtastic test" %>
|
2
|
-
|
3
|
-
<%= test_base %>
|
4
|
-
<%= test :form_builders %>
|
5
|
-
|
6
|
-
<h1 id="qunit-header"><%= @title %></h1>
|
7
|
-
|
8
|
-
<div id="jquery-version">
|
9
|
-
jQuery version:
|
10
|
-
|
11
|
-
<% jquery_versions.each do |v| %>
|
12
|
-
<%= ' • ' if v != jquery_versions.first %>
|
13
|
-
<%= jquery_link v %>
|
14
|
-
<% end %>
|
15
|
-
<%= (' • ' + jquery_link('edge')) if File.exist?(settings.root + '/public/vendor/jquery.js') %>
|
16
|
-
</div>
|
17
|
-
<h2 id="qunit-banner"></h2>
|
18
|
-
<div id="qunit-testrunner-toolbar"></div>
|
19
|
-
<h2 id="qunit-userAgent"></h2>
|
20
|
-
<ol id="qunit-tests"></ol>
|
21
|
-
|
22
|
-
<div id="qunit-fixture"></div>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html id="html">
|
3
|
-
<head>
|
4
|
-
<title><%= @title %></title>
|
5
|
-
<link href="/vendor/qunit.css" media="screen" rel="stylesheet" type="text/css" media="screen, projection" />
|
6
|
-
<style>
|
7
|
-
#jquery-version {
|
8
|
-
color: #8699A4; text-align: right; font-family: sans-serif; line-height: 1;
|
9
|
-
margin-top: -1.8em; padding: 0 2em .8em 0;
|
10
|
-
}
|
11
|
-
#jquery-version a { color: white; text-decoration: underline; }
|
12
|
-
</style>
|
13
|
-
|
14
|
-
<%= script_tag jquery_src %>
|
15
|
-
<%= script_tag '/vendor/assets/javascripts/rails.validations.js' %>
|
16
|
-
<%= script_tag '/vendor/assets/javascripts/rails.validations.formtastic.js' %>
|
17
|
-
</head>
|
18
|
-
|
19
|
-
<body id="body">
|
20
|
-
<%= yield %>
|
21
|
-
</body>
|
22
|
-
</html>
|
data/test/test_loader.rb
DELETED