Sha256: 3ad3e89bac9df61eb249b8eea978a1edd40a05e58f68e6b3b2fd31c3cac67f24

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

module SoaringSimpleCaptcha
  module FormBuilder
    def self.included(base)
      base.send(:include, SoaringSimpleCaptcha::ViewHelper)
      base.send(:include, SoaringSimpleCaptcha::FormBuilder::ClassMethods)
      base.send(:include, ActionView::Helpers)
      if defined? Sprokets
        base.send(:include, Sprockets::Helpers::RailsHelper)
        base.send(:include, Sprockets::Helpers::IsolatedHelper)
      end
      
      base.delegate :render, :session, :to => :template
    end
    
    module ClassMethods
      # Example:
		  # <% form_for :post, :url => posts_path do |form| %>
		  #   ...
		  #   <%= form.simple_captcha :label => "Enter numbers.." %>
		  # <% end %>
		  #
		  def simple_captcha(options = {})
      	options.update :object => @object_name
      	show_simple_captcha(objectify_options(options))
      end
      
      private
        
        def template
          @template
        end
        
        def simple_captcha_field(options={})
          html = {:autocomplete => 'off', :required => 'required', :value => ''}
          html.merge!(options[:input_html] || {})
          html[:placeholder] = options[:placeholder] || I18n.t('simple_captcha.placeholder')
          
          text_field(:captcha, html) +
          hidden_field(:captcha_key, {:value => options[:field_value]})
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soaring_simple_captcha-0.1.6 lib/soaring_simple_captcha/form_builder.rb