simple_captcha2 0.3.3 → 0.3.4
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.
- checksums.yaml +4 -4
- data/lib/simple_captcha.rb +6 -0
- data/lib/simple_captcha/form_builder.rb +1 -1
- data/lib/simple_captcha/middleware.rb +3 -2
- data/lib/simple_captcha/utils.rb +1 -1
- data/lib/simple_captcha/version.rb +1 -1
- data/lib/simple_captcha/view.rb +18 -6
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f7e289c77c2ba483a5f6a97578cc107ce7b6429d
         | 
| 4 | 
            +
              data.tar.gz: e9bbd53602642e958644e2daeefaca5f260cab40
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5da26157f9f1dbc8df22fed158939865e01b813e94506dda4ee329359fd5bee28f64c5e576b7c13604a582fa09e43884dd7550330f224f761165cf936d4c30c2
         | 
| 7 | 
            +
              data.tar.gz: 2e5330b6f248b00862c1eb36c4c6568ff743ced1e42f2ed8ba020300db067b1a8bad39926808e694b369314f6de16b4ac663e7108e9c6f97311a072c8224e424
         | 
    
        data/lib/simple_captcha.rb
    CHANGED
    
    | @@ -63,6 +63,12 @@ module SimpleCaptcha | |
| 63 63 | 
             
              mattr_accessor :noise
         | 
| 64 64 | 
             
              @@noise = 0
         | 
| 65 65 |  | 
| 66 | 
            +
              mattr_accessor :extra_response_headers
         | 
| 67 | 
            +
              @@extra_response_headers = {}
         | 
| 68 | 
            +
             | 
| 69 | 
            +
              mattr_accessor :partial_path
         | 
| 70 | 
            +
              @@partial_path = 'simple_captcha/simple_captcha'
         | 
| 71 | 
            +
             | 
| 66 72 | 
             
              def self.add_image_style(name, params = [])
         | 
| 67 73 | 
             
                SimpleCaptcha::ImageHelpers.image_styles.update(name.to_s => params)
         | 
| 68 74 | 
             
              end
         | 
| @@ -36,7 +36,7 @@ module SimpleCaptcha | |
| 36 36 | 
             
                      html[:placeholder] = options[:placeholder] || I18n.t('simple_captcha.placeholder')
         | 
| 37 37 |  | 
| 38 38 | 
             
                      text_field(:captcha, html) +
         | 
| 39 | 
            -
                      hidden_field(:captcha_key, {:value => options[:field_value]})
         | 
| 39 | 
            +
                      hidden_field(:captcha_key, {:value => options[:field_value], :id => simple_captch_hidden_field_id(options)})
         | 
| 40 40 | 
             
                    end
         | 
| 41 41 | 
             
                end
         | 
| 42 42 | 
             
              end
         | 
| @@ -79,12 +79,13 @@ module SimpleCaptcha | |
| 79 79 |  | 
| 80 80 | 
             
                    status = 200
         | 
| 81 81 | 
             
                    id = request.params['id']
         | 
| 82 | 
            +
                    captcha_hidden_field_id = simple_captch_hidden_field_id(id)
         | 
| 82 83 |  | 
| 83 84 | 
             
                    body = %Q{
         | 
| 84 85 | 
             
                                $("##{id}").attr('src', '#{url}');
         | 
| 85 | 
            -
                                $(" | 
| 86 | 
            +
                                $("##{ captcha_hidden_field_id }").attr('value', '#{key}');
         | 
| 86 87 | 
             
                              }
         | 
| 87 | 
            -
                    headers = {'Content-Type' => 'text/javascript; charset=utf-8', "Content-Disposition" => "inline; filename='captcha.js'", "Content-Length" => body.length.to_s}
         | 
| 88 | 
            +
                    headers = {'Content-Type' => 'text/javascript; charset=utf-8', "Content-Disposition" => "inline; filename='captcha.js'", "Content-Length" => body.length.to_s}.merge(SimpleCaptcha.extra_response_headers)
         | 
| 88 89 | 
             
                    [status, headers, [body]]
         | 
| 89 90 | 
             
                  end
         | 
| 90 91 | 
             
              end
         | 
    
        data/lib/simple_captcha/utils.rb
    CHANGED
    
    
    
        data/lib/simple_captcha/view.rb
    CHANGED
    
    | @@ -42,7 +42,11 @@ module SimpleCaptcha #:nodoc | |
| 42 42 | 
             
                # Find more detailed examples with sample images here on my blog http://EXPRESSICA.com
         | 
| 43 43 | 
             
                #
         | 
| 44 44 | 
             
                # All Feedbacks/CommentS/Issues/Queries are welcome.
         | 
| 45 | 
            -
                def show_simple_captcha(options={})
         | 
| 45 | 
            +
                def show_simple_captcha(options = {})
         | 
| 46 | 
            +
                  render :partial => SimpleCaptcha.partial_path, :locals => { :simple_captcha_options => simple_captcha_options(options) }
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                def simple_captcha_options(options = {})
         | 
| 46 50 | 
             
                  key = simple_captcha_key(options[:object])
         | 
| 47 51 | 
             
                  if options[:multiple] === false
         | 
| 48 52 | 
             
                    # It's not the first captcha, we only need to return the key
         | 
| @@ -58,8 +62,6 @@ module SimpleCaptcha #:nodoc | |
| 58 62 | 
             
                    :field => simple_captcha_field(options),
         | 
| 59 63 | 
             
                    :refresh_button => simple_captcha_refresh_button(options),
         | 
| 60 64 | 
             
                  }.merge(options)
         | 
| 61 | 
            -
             | 
| 62 | 
            -
                  render :partial => 'simple_captcha/simple_captcha', :locals => { :simple_captcha_options => defaults }
         | 
| 63 65 | 
             
                end
         | 
| 64 66 |  | 
| 65 67 | 
             
                private
         | 
| @@ -76,6 +78,10 @@ module SimpleCaptcha #:nodoc | |
| 76 78 |  | 
| 77 79 | 
             
                    query = defaults.to_query
         | 
| 78 80 | 
             
                    path = "/simple_captcha?code=#{simple_captcha_key}&#{query}"
         | 
| 81 | 
            +
                    build_url(options, path)
         | 
| 82 | 
            +
                  end
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                  def build_url(options, path)
         | 
| 79 85 | 
             
                    if defined?(request) && request
         | 
| 80 86 | 
             
                      "#{request.protocol}#{request.host_with_port}#{ENV['RAILS_RELATIVE_URL_ROOT']}#{path}"
         | 
| 81 87 | 
             
                    else
         | 
| @@ -90,10 +96,10 @@ module SimpleCaptcha #:nodoc | |
| 90 96 |  | 
| 91 97 | 
             
                    if options[:object]
         | 
| 92 98 | 
             
                      text_field(options[:object], :captcha, html.merge(:value => '')) +
         | 
| 93 | 
            -
                      hidden_field(options[:object], :captcha_key, {:value => options[:field_value]})
         | 
| 99 | 
            +
                      hidden_field(options[:object], :captcha_key, {:value => options[:field_value], :id => simple_captch_hidden_field_id(options)})
         | 
| 94 100 | 
             
                    else
         | 
| 95 101 | 
             
                      text_field_tag(:captcha, nil, html) +
         | 
| 96 | 
            -
                      hidden_field_tag(:captcha_key, options[:field_value])
         | 
| 102 | 
            +
                      hidden_field_tag(:captcha_key, options[:field_value], :id => simple_captch_hidden_field_id(options))
         | 
| 97 103 | 
             
                    end
         | 
| 98 104 | 
             
                  end
         | 
| 99 105 |  | 
| @@ -103,13 +109,19 @@ module SimpleCaptcha #:nodoc | |
| 103 109 |  | 
| 104 110 | 
             
                    text = options[:refresh_button_text] || I18n.t('simple_captcha.refresh_button_text', default: 'Refresh')
         | 
| 105 111 |  | 
| 106 | 
            -
                     | 
| 112 | 
            +
                    url = build_url(options, "/simple_captcha?id=#{simple_captcha_image_id(options)}")
         | 
| 113 | 
            +
                    link_to(text, url, html)
         | 
| 107 114 | 
             
                  end
         | 
| 108 115 |  | 
| 109 116 | 
             
                  def simple_captcha_image_id(options={})
         | 
| 110 117 | 
             
                    "simple_captcha-#{options[:field_value][0..10]}"
         | 
| 111 118 | 
             
                  end
         | 
| 112 119 |  | 
| 120 | 
            +
                  def simple_captch_hidden_field_id(image_id)
         | 
| 121 | 
            +
                    image_id = simple_captcha_image_id(image_id) if image_id.is_a?(Hash)
         | 
| 122 | 
            +
                    "simple-captcha-hidden-field-#{ image_id }"
         | 
| 123 | 
            +
                  end
         | 
| 124 | 
            +
             | 
| 113 125 | 
             
                  def set_simple_captcha_data(key, options={})
         | 
| 114 126 | 
             
                    code_type = options[:code_type]
         | 
| 115 127 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: simple_captcha2
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.3. | 
| 4 | 
            +
              version: 0.3.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Pavlo Galeta
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2015- | 
| 13 | 
            +
            date: 2015-02-05 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: rails
         |