Skip to content
This repository has been archived by the owner on Sep 13, 2022. It is now read-only.

Commit

Permalink
Adding some basic options. It's now possible to set what the livevali…
Browse files Browse the repository at this point in the history
…dation.com adapter should display when a field is validated with the :default_valid_message option, so that you can get rid of that silly default "Thankyou!".
  • Loading branch information
augustl committed Mar 9, 2009
1 parent 1457b57 commit d11ba28
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 5 deletions.
12 changes: 9 additions & 3 deletions lib/live_validations.rb
Expand Up @@ -5,7 +5,9 @@ class AdapterNotFound < StandardError; end
# Set which adapter to use. Pass the adapter class directly. Example:
#
# LiveValidation.use(LiveValidations::Adapters::JQueryValidations)
def use(adapter_klass)
def use(adapter_klass, options = {})
@options = options.symbolize_keys

case adapter_klass
when String, Symbol
adapter_name = "LiveValidations::Adapters::" + adapter_klass.to_s.camelize
Expand All @@ -18,14 +20,18 @@ def use(adapter_klass)
raise AdapterNotFound, "The adapter `#{adapter_klass}' (#{adapter_name}) was not found."
end

def options
@options
end

def current_adapter
adapter = @_current_adapter
adapter = @current_adapter

return adapter || raise(AdapterNotSpecified, "Please specify an adapter with `LiveValidations.use :adapter_name'.")
end

def current_adapter=(adapter)
@_current_adapter = adapter
@current_adapter = adapter
end

extend self
Expand Down
7 changes: 6 additions & 1 deletion lib/live_validations/adapters/livevalidation_dot_com.rb
Expand Up @@ -72,10 +72,15 @@ class LivevalidationDotCom < LiveValidations::Adapter
end

renders_inline do |a|
local_options = {}
local_options["validMessage"] = LiveValidations.options[:default_valid_message]

local_options.delete_if {|k, v| v.nil? }

a[:validators].map do |attribute, options|
validators = options.map {|v, attrs| %{validator.add(Validate.#{v}, #{attrs.to_json});} }.join("\n")
%{
var validator = new LiveValidation('#{a.prefix}_#{attribute}');
var validator = new LiveValidation('#{a.prefix}_#{attribute}', #{local_options.to_json});
#{validators}
}
end.join
Expand Down
2 changes: 1 addition & 1 deletion test/live_validation_dot_com_controller_output_test.rb
Expand Up @@ -22,7 +22,7 @@ def test_json_output
assert_response :success

assert_select 'script[type=text/javascript]'
assert @response.body.include?(%{new LiveValidation('post_title');})
assert @response.body.include?(%{new LiveValidation('post_title', {});})
assert @response.body.include?(%{Validate.Presence, {"failureMessage": "ohai"}})
end
end

0 comments on commit d11ba28

Please sign in to comment.