wiselinks 0.5.6 → 0.6.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/.gitignore +51 -0
 - data/Gemfile +2 -19
 - data/Gemfile.lock +30 -10
 - data/README.md +22 -5
 - data/Rakefile +4 -39
 - data/lib/assets/javascripts/_form.js.coffee +50 -0
 - data/lib/assets/javascripts/_link.js.coffee +20 -0
 - data/lib/assets/javascripts/_page.js.coffee +88 -0
 - data/lib/assets/javascripts/_request_manager.js.coffee +85 -0
 - data/lib/assets/javascripts/{_history.adapter.jquery.js → lib/_history.adapter.jquery.js} +0 -0
 - data/lib/assets/javascripts/{_history.html4.js → lib/_history.html4.js} +0 -0
 - data/lib/assets/javascripts/{_history.js → lib/_history.js} +0 -0
 - data/lib/assets/javascripts/{_json2.js → lib/_json2.js} +0 -0
 - data/lib/assets/javascripts/wiselinks.js.coffee +17 -179
 - data/lib/wiselinks/version.rb +12 -0
 - data/spec/dummy/log/test.log +15 -0
 - data/spec/factories/requests.rb +3 -3
 - data/wiselinks.gemspec +33 -129
 - metadata +260 -13
 
    
        data/.gitignore
    ADDED
    
    | 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # rcov generated
         
     | 
| 
      
 2 
     | 
    
         
            +
            coverage
         
     | 
| 
      
 3 
     | 
    
         
            +
            coverage.data
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # rdoc generated
         
     | 
| 
      
 6 
     | 
    
         
            +
            rdoc
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            # yard generated
         
     | 
| 
      
 9 
     | 
    
         
            +
            doc
         
     | 
| 
      
 10 
     | 
    
         
            +
            .yardoc
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            # bundler
         
     | 
| 
      
 13 
     | 
    
         
            +
            .bundle
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            # jeweler generated
         
     | 
| 
      
 16 
     | 
    
         
            +
            pkg
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            spec/dummy/log/test.log
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore: 
         
     | 
| 
      
 21 
     | 
    
         
            +
            #
         
     | 
| 
      
 22 
     | 
    
         
            +
            # * Create a file at ~/.gitignore
         
     | 
| 
      
 23 
     | 
    
         
            +
            # * Include files you want ignored
         
     | 
| 
      
 24 
     | 
    
         
            +
            # * Run: git config --global core.excludesfile ~/.gitignore
         
     | 
| 
      
 25 
     | 
    
         
            +
            #
         
     | 
| 
      
 26 
     | 
    
         
            +
            # After doing this, these files will be ignored in all your git projects,
         
     | 
| 
      
 27 
     | 
    
         
            +
            # saving you from having to 'pollute' every project you touch with them
         
     | 
| 
      
 28 
     | 
    
         
            +
            #
         
     | 
| 
      
 29 
     | 
    
         
            +
            # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
         
     | 
| 
      
 30 
     | 
    
         
            +
            #
         
     | 
| 
      
 31 
     | 
    
         
            +
            # For MacOS:
         
     | 
| 
      
 32 
     | 
    
         
            +
            #
         
     | 
| 
      
 33 
     | 
    
         
            +
            #.DS_Store
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            # For TextMate
         
     | 
| 
      
 36 
     | 
    
         
            +
            #*.tmproj
         
     | 
| 
      
 37 
     | 
    
         
            +
            #tmtags
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            # For emacs:
         
     | 
| 
      
 40 
     | 
    
         
            +
            #*~
         
     | 
| 
      
 41 
     | 
    
         
            +
            #\#*
         
     | 
| 
      
 42 
     | 
    
         
            +
            #.\#*
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            # For vim:
         
     | 
| 
      
 45 
     | 
    
         
            +
            #*.swp
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            # For redcar:
         
     | 
| 
      
 48 
     | 
    
         
            +
            #.redcar
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            # For rubinius:
         
     | 
| 
      
 51 
     | 
    
         
            +
            #*.rbc
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,20 +1,3 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            source  
     | 
| 
      
 1 
     | 
    
         
            +
            source 'https://rubygems.org'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
              gem "shoulda"
         
     | 
| 
       5 
     | 
    
         
            -
              gem "rdoc"
         
     | 
| 
       6 
     | 
    
         
            -
              gem "bundler"
         
     | 
| 
       7 
     | 
    
         
            -
              gem "jeweler"
         
     | 
| 
       8 
     | 
    
         
            -
            end
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            group :test do
         
     | 
| 
       11 
     | 
    
         
            -
              gem 'sqlite3'
         
     | 
| 
       12 
     | 
    
         
            -
              gem 'rspec'
         
     | 
| 
       13 
     | 
    
         
            -
              gem 'rspec-rails'
         
     | 
| 
       14 
     | 
    
         
            -
              gem 'factory_girl'
         
     | 
| 
       15 
     | 
    
         
            -
              gem 'faker'
         
     | 
| 
       16 
     | 
    
         
            -
              gem 'capybara'
         
     | 
| 
       17 
     | 
    
         
            -
              gem 'coffee-rails'
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
              gem 'rails', '>= 3.2.0'
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
| 
      
 3 
     | 
    
         
            +
            gemspec
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,5 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            PATH
         
     | 
| 
      
 2 
     | 
    
         
            +
              remote: .
         
     | 
| 
      
 3 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 4 
     | 
    
         
            +
                wiselinks (0.6.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            GEM
         
     | 
| 
       2 
     | 
    
         
            -
              remote:  
     | 
| 
      
 7 
     | 
    
         
            +
              remote: https://rubygems.org/
         
     | 
| 
       3 
8 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
9 
     | 
    
         
             
                actionmailer (3.2.12)
         
     | 
| 
       5 
10 
     | 
    
         
             
                  actionpack (= 3.2.12)
         
     | 
| 
         @@ -28,6 +33,7 @@ GEM 
     | 
|
| 
       28 
33 
     | 
    
         
             
                activesupport (3.2.12)
         
     | 
| 
       29 
34 
     | 
    
         
             
                  i18n (~> 0.6)
         
     | 
| 
       30 
35 
     | 
    
         
             
                  multi_json (~> 1.0)
         
     | 
| 
      
 36 
     | 
    
         
            +
                addressable (2.3.4)
         
     | 
| 
       31 
37 
     | 
    
         
             
                arel (3.0.2)
         
     | 
| 
       32 
38 
     | 
    
         
             
                bourne (1.1.2)
         
     | 
| 
       33 
39 
     | 
    
         
             
                  mocha (= 0.10.5)
         
     | 
| 
         @@ -48,6 +54,14 @@ GEM 
     | 
|
| 
       48 
54 
     | 
    
         
             
                  coffee-script-source
         
     | 
| 
       49 
55 
     | 
    
         
             
                  execjs
         
     | 
| 
       50 
56 
     | 
    
         
             
                coffee-script-source (1.5.0)
         
     | 
| 
      
 57 
     | 
    
         
            +
                colorize (0.5.8)
         
     | 
| 
      
 58 
     | 
    
         
            +
                coveralls (0.6.7)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  colorize
         
     | 
| 
      
 60 
     | 
    
         
            +
                  multi_json (~> 1.3)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  rest-client
         
     | 
| 
      
 62 
     | 
    
         
            +
                  simplecov (>= 0.7)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  thor
         
     | 
| 
      
 64 
     | 
    
         
            +
                crack (0.3.2)
         
     | 
| 
       51 
65 
     | 
    
         
             
                diff-lcs (1.2.1)
         
     | 
| 
       52 
66 
     | 
    
         
             
                erubis (2.7.0)
         
     | 
| 
       53 
67 
     | 
    
         
             
                execjs (1.4.0)
         
     | 
| 
         @@ -57,14 +71,8 @@ GEM 
     | 
|
| 
       57 
71 
     | 
    
         
             
                faker (1.1.2)
         
     | 
| 
       58 
72 
     | 
    
         
             
                  i18n (~> 0.5)
         
     | 
| 
       59 
73 
     | 
    
         
             
                ffi (1.4.0)
         
     | 
| 
       60 
     | 
    
         
            -
                git (1.2.5)
         
     | 
| 
       61 
74 
     | 
    
         
             
                hike (1.2.1)
         
     | 
| 
       62 
75 
     | 
    
         
             
                i18n (0.6.4)
         
     | 
| 
       63 
     | 
    
         
            -
                jeweler (1.8.4)
         
     | 
| 
       64 
     | 
    
         
            -
                  bundler (~> 1.0)
         
     | 
| 
       65 
     | 
    
         
            -
                  git (>= 1.2.5)
         
     | 
| 
       66 
     | 
    
         
            -
                  rake
         
     | 
| 
       67 
     | 
    
         
            -
                  rdoc
         
     | 
| 
       68 
76 
     | 
    
         
             
                journey (1.0.4)
         
     | 
| 
       69 
77 
     | 
    
         
             
                json (1.7.7)
         
     | 
| 
       70 
78 
     | 
    
         
             
                mail (2.4.4)
         
     | 
| 
         @@ -103,6 +111,8 @@ GEM 
     | 
|
| 
       103 
111 
     | 
    
         
             
                rake (10.0.3)
         
     | 
| 
       104 
112 
     | 
    
         
             
                rdoc (3.12.2)
         
     | 
| 
       105 
113 
     | 
    
         
             
                  json (~> 1.4)
         
     | 
| 
      
 114 
     | 
    
         
            +
                rest-client (1.6.7)
         
     | 
| 
      
 115 
     | 
    
         
            +
                  mime-types (>= 1.16)
         
     | 
| 
       106 
116 
     | 
    
         
             
                rspec (2.13.0)
         
     | 
| 
       107 
117 
     | 
    
         
             
                  rspec-core (~> 2.13.0)
         
     | 
| 
       108 
118 
     | 
    
         
             
                  rspec-expectations (~> 2.13.0)
         
     | 
| 
         @@ -131,6 +141,10 @@ GEM 
     | 
|
| 
       131 
141 
     | 
    
         
             
                shoulda-matchers (1.4.2)
         
     | 
| 
       132 
142 
     | 
    
         
             
                  activesupport (>= 3.0.0)
         
     | 
| 
       133 
143 
     | 
    
         
             
                  bourne (~> 1.1.2)
         
     | 
| 
      
 144 
     | 
    
         
            +
                simplecov (0.7.1)
         
     | 
| 
      
 145 
     | 
    
         
            +
                  multi_json (~> 1.0)
         
     | 
| 
      
 146 
     | 
    
         
            +
                  simplecov-html (~> 0.7.1)
         
     | 
| 
      
 147 
     | 
    
         
            +
                simplecov-html (0.7.1)
         
     | 
| 
       134 
148 
     | 
    
         
             
                sprockets (2.2.2)
         
     | 
| 
       135 
149 
     | 
    
         
             
                  hike (~> 1.2)
         
     | 
| 
       136 
150 
     | 
    
         
             
                  multi_json (~> 1.0)
         
     | 
| 
         @@ -142,7 +156,10 @@ GEM 
     | 
|
| 
       142 
156 
     | 
    
         
             
                treetop (1.4.12)
         
     | 
| 
       143 
157 
     | 
    
         
             
                  polyglot
         
     | 
| 
       144 
158 
     | 
    
         
             
                  polyglot (>= 0.3.1)
         
     | 
| 
       145 
     | 
    
         
            -
                tzinfo (0.3. 
     | 
| 
      
 159 
     | 
    
         
            +
                tzinfo (0.3.37)
         
     | 
| 
      
 160 
     | 
    
         
            +
                webmock (1.9.3)
         
     | 
| 
      
 161 
     | 
    
         
            +
                  addressable (>= 2.2.7)
         
     | 
| 
      
 162 
     | 
    
         
            +
                  crack (>= 0.3.2)
         
     | 
| 
       146 
163 
     | 
    
         
             
                websocket (1.0.7)
         
     | 
| 
       147 
164 
     | 
    
         
             
                xpath (1.0.0)
         
     | 
| 
       148 
165 
     | 
    
         
             
                  nokogiri (~> 1.3)
         
     | 
| 
         @@ -154,12 +171,15 @@ DEPENDENCIES 
     | 
|
| 
       154 
171 
     | 
    
         
             
              bundler
         
     | 
| 
       155 
172 
     | 
    
         
             
              capybara
         
     | 
| 
       156 
173 
     | 
    
         
             
              coffee-rails
         
     | 
| 
      
 174 
     | 
    
         
            +
              coveralls
         
     | 
| 
       157 
175 
     | 
    
         
             
              factory_girl
         
     | 
| 
       158 
176 
     | 
    
         
             
              faker
         
     | 
| 
       159 
     | 
    
         
            -
              jeweler
         
     | 
| 
       160 
177 
     | 
    
         
             
              rails (>= 3.2.0)
         
     | 
| 
       161 
     | 
    
         
            -
               
     | 
| 
      
 178 
     | 
    
         
            +
              rake
         
     | 
| 
       162 
179 
     | 
    
         
             
              rspec
         
     | 
| 
       163 
180 
     | 
    
         
             
              rspec-rails
         
     | 
| 
       164 
181 
     | 
    
         
             
              shoulda
         
     | 
| 
      
 182 
     | 
    
         
            +
              simplecov
         
     | 
| 
       165 
183 
     | 
    
         
             
              sqlite3
         
     | 
| 
      
 184 
     | 
    
         
            +
              webmock (~> 1.9.0)
         
     | 
| 
      
 185 
     | 
    
         
            +
              wiselinks!
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,9 +1,8 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            [](https://travis-ci.org/igor-alexandrov/wiselinks)
         
     | 
| 
      
 2 
     | 
    
         
            +
            [](https://codeclimate.com/github/igor-alexandrov/wiselinks)
         
     | 
| 
      
 3 
     | 
    
         
            +
            [](https://coveralls.io/r/igor-alexandrov/wiselinks)
         
     | 
| 
       3 
4 
     | 
    
         
             
            [](https://gemnasium.com/igor-alexandrov/wiselinks)
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            [](https://codeclimate.com/github/igor-alexandrov/wiselinks)
         
     | 
| 
      
 5 
     | 
    
         
            +
            [](http://badge.fury.io/rb/wiselinks)
         
     | 
| 
       7 
6 
     | 
    
         | 
| 
       8 
7 
     | 
    
         | 
| 
       9 
8 
     | 
    
         
             
            #Wiselinks
         
     | 
| 
         @@ -358,6 +357,24 @@ Of course you can use `wiselinks_title` helper in your own helpers too. 
     | 
|
| 
       358 
357 
     | 
    
         | 
| 
       359 
358 
     | 
    
         
             
            Wiselinks follows 30x HTTP redirects. Location is updated in browser with `X-Wiselinks-Url` header that is setting up automatically (in Rails) on every wiselinks request.
         
     | 
| 
       360 
359 
     | 
    
         | 
| 
      
 360 
     | 
    
         
            +
            ### Target missing handling
         
     | 
| 
      
 361 
     | 
    
         
            +
             
     | 
| 
      
 362 
     | 
    
         
            +
            By default, if Wiselinks cannot find target that you specified during initialization, it will fail silently. But you can override this behaviour:
         
     | 
| 
      
 363 
     | 
    
         
            +
             
     | 
| 
      
 364 
     | 
    
         
            +
            ```coffeescript	
         
     | 
| 
      
 365 
     | 
    
         
            +
            #= require jquery
         
     | 
| 
      
 366 
     | 
    
         
            +
            #= require wiselinks
         
     | 
| 
      
 367 
     | 
    
         
            +
             
     | 
| 
      
 368 
     | 
    
         
            +
            $(document).ready ->
         
     | 
| 
      
 369 
     | 
    
         
            +
                window.wiselinks = new Wiselinks(
         
     | 
| 
      
 370 
     | 
    
         
            +
                  $('something that does not exist'),
         
     | 
| 
      
 371 
     | 
    
         
            +
                  target_missing: 'exception'
         
     | 
| 
      
 372 
     | 
    
         
            +
                )
         
     | 
| 
      
 373 
     | 
    
         
            +
            ```	
         
     | 
| 
      
 374 
     | 
    
         
            +
             
     | 
| 
      
 375 
     | 
    
         
            +
            `[Wiselinks] Target missing` exception will be thrown. This also works for `data-target` attributes.
         
     | 
| 
      
 376 
     | 
    
         
            +
             
     | 
| 
      
 377 
     | 
    
         
            +
             
     | 
| 
       361 
378 
     | 
    
         
             
            ### Google Analytics and Yandex Metrika
         
     | 
| 
       362 
379 
     | 
    
         | 
| 
       363 
380 
     | 
    
         
             
            If you want to handle these analytics tools, then you should add handler to `page:done` event.
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,43 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: utf-8
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            require ' 
     | 
| 
       4 
     | 
    
         
            -
            require ' 
     | 
| 
       5 
     | 
    
         
            -
            begin
         
     | 
| 
       6 
     | 
    
         
            -
              Bundler.setup(:default, :development)
         
     | 
| 
       7 
     | 
    
         
            -
            rescue Bundler::BundlerError => e
         
     | 
| 
       8 
     | 
    
         
            -
              $stderr.puts e.message
         
     | 
| 
       9 
     | 
    
         
            -
              $stderr.puts "Run `bundle install` to install missing gems"
         
     | 
| 
       10 
     | 
    
         
            -
              exit e.status_code
         
     | 
| 
       11 
     | 
    
         
            -
            end
         
     | 
| 
       12 
     | 
    
         
            -
            require 'rake'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'bundler/gem_tasks'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'rspec/core/rake_task'
         
     | 
| 
       13 
5 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            Jeweler::Tasks.new do |gem|
         
     | 
| 
       16 
     | 
    
         
            -
              # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
         
     | 
| 
       17 
     | 
    
         
            -
              gem.name = "wiselinks"
         
     | 
| 
       18 
     | 
    
         
            -
              gem.homepage = "http://github.com/igor-alexandrov/wiselinks"
         
     | 
| 
       19 
     | 
    
         
            -
              gem.license = "MIT"
         
     | 
| 
       20 
     | 
    
         
            -
              gem.summary = %Q{Wiselinks makes following links and submitting some forms in your web application smarter and faster}  
         
     | 
| 
       21 
     | 
    
         
            -
              gem.email = "igor.alexandrov@gmail.com"
         
     | 
| 
       22 
     | 
    
         
            -
              gem.authors = ['Igor Alexandrov', 'Alexey Solilin', 'Julia Egorova']  
         
     | 
| 
       23 
     | 
    
         
            -
            end
         
     | 
| 
       24 
     | 
    
         
            -
            Jeweler::RubygemsDotOrgTasks.new
         
     | 
| 
      
 6 
     | 
    
         
            +
            RSpec::Core::RakeTask.new('spec')
         
     | 
| 
       25 
7 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            Rake::TestTask.new(:test) do |test|
         
     | 
| 
       28 
     | 
    
         
            -
              test.libs << 'lib' << 'test'
         
     | 
| 
       29 
     | 
    
         
            -
              test.pattern = 'test/**/*_test.rb'  
         
     | 
| 
       30 
     | 
    
         
            -
              test.verbose = true
         
     | 
| 
       31 
     | 
    
         
            -
            end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            task :default => :test
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            require 'rdoc/task'
         
     | 
| 
       36 
     | 
    
         
            -
            Rake::RDocTask.new do |rdoc|
         
     | 
| 
       37 
     | 
    
         
            -
              version = File.exist?('VERSION') ? File.read('VERSION') : ""
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
              rdoc.rdoc_dir = 'rdoc'
         
     | 
| 
       40 
     | 
    
         
            -
              rdoc.title = "wiselinks #{version}"
         
     | 
| 
       41 
     | 
    
         
            -
              rdoc.rdoc_files.include('README*')
         
     | 
| 
       42 
     | 
    
         
            -
              rdoc.rdoc_files.include('lib/**/*.rb')
         
     | 
| 
       43 
     | 
    
         
            -
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            task :default => :spec
         
     | 
| 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class Form
         
     | 
| 
      
 2 
     | 
    
         
            +
              constructor: (@page, @$form) -> 
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              process: ->
         
     | 
| 
      
 5 
     | 
    
         
            +
                $disable = @$form.find('select:not(:disabled),input:not(:disabled)').filter(-> !$(this).val())
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                $disable.attr('disabled', true)
         
     | 
| 
      
 8 
     | 
    
         
            +
                url = this._url()    
         
     | 
| 
      
 9 
     | 
    
         
            +
                $disable.attr('disabled', false)
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                @page.load(url, @$form.attr("data-target"), this._type())
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              _params: ->
         
     | 
| 
      
 14 
     | 
    
         
            +
                hash = {}
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                for item in @$form.serializeArray()
         
     | 
| 
      
 17 
     | 
    
         
            +
                  if item.name != 'utf8'
         
     | 
| 
      
 18 
     | 
    
         
            +
                    # if name ends with [], then we try to optimize it
         
     | 
| 
      
 19 
     | 
    
         
            +
                    name = if item.name.indexOf('[]', item.name.length - '[]'.length) != -1
         
     | 
| 
      
 20 
     | 
    
         
            +
                      item.name.substr(0, item.name.length - 2)
         
     | 
| 
      
 21 
     | 
    
         
            +
                    else
         
     | 
| 
      
 22 
     | 
    
         
            +
                      item.name
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                    if hash[name]?
         
     | 
| 
      
 25 
     | 
    
         
            +
                      hash[name] = hash[name] + ",#{item.value}"
         
     | 
| 
      
 26 
     | 
    
         
            +
                    else
         
     | 
| 
      
 27 
     | 
    
         
            +
                      hash[name] = item.value  
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                hash     
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              _type: ->  
         
     | 
| 
      
 32 
     | 
    
         
            +
                if (@$form.attr("data-push") == 'partial') then 'partial' else 'template' 
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              _url: ->
         
     | 
| 
      
 35 
     | 
    
         
            +
                serialized = []
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                # To find out why encodeURIComponent should be used, follow the link:
         
     | 
| 
      
 38 
     | 
    
         
            +
                # http://stackoverflow.com/questions/75980/best-practice-escape-or-encodeuri-encodeuricomponent
         
     | 
| 
      
 39 
     | 
    
         
            +
                #
         
     | 
| 
      
 40 
     | 
    
         
            +
                for key, value of this._params()
         
     | 
| 
      
 41 
     | 
    
         
            +
                  serialized.push("#{key}=#{encodeURIComponent(value)}")
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                serialized = serialized.join('&')
         
     | 
| 
      
 44 
     | 
    
         
            +
                
         
     | 
| 
      
 45 
     | 
    
         
            +
                url = @$form.attr("action")
         
     | 
| 
      
 46 
     | 
    
         
            +
                url += "?#{serialized}" if serialized.length > 0 
         
     | 
| 
      
 47 
     | 
    
         
            +
                url
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            window._Wiselinks = {} if window._Wiselinks == undefined
         
     | 
| 
      
 50 
     | 
    
         
            +
            window._Wiselinks.Form = Form        
         
     | 
| 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class Link
         
     | 
| 
      
 2 
     | 
    
         
            +
              constructor: (@page, @$link) -> 
         
     | 
| 
      
 3 
     | 
    
         
            +
              
         
     | 
| 
      
 4 
     | 
    
         
            +
              allows_process: (event) ->
         
     | 
| 
      
 5 
     | 
    
         
            +
                !(this._cross_origin_link(event.currentTarget) || this._non_standard_click(event))
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              process: -> 
         
     | 
| 
      
 8 
     | 
    
         
            +
                type = if (@$link.attr("data-push") == 'partial') then 'partial' else 'template'
         
     | 
| 
      
 9 
     | 
    
         
            +
                @page.load(@$link.attr("href"), @$link.attr("data-target"), type)
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              # We split host because IE returns host with port and other browsers not
         
     | 
| 
      
 12 
     | 
    
         
            +
              # 
         
     | 
| 
      
 13 
     | 
    
         
            +
              _cross_origin_link: (link) ->  
         
     | 
| 
      
 14 
     | 
    
         
            +
                (location.protocol != link.protocol) || (location.host.split(':')[0] != link.host.split(':')[0])    
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              _non_standard_click: (event) ->
         
     | 
| 
      
 17 
     | 
    
         
            +
                event.metaKey || event.ctrlKey || event.shiftKey || event.altKey
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            window._Wiselinks = {} if window._Wiselinks == undefined
         
     | 
| 
      
 20 
     | 
    
         
            +
            window._Wiselinks.Link = Link    
         
     | 
| 
         @@ -0,0 +1,88 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #= require _request_manager
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class Page
         
     | 
| 
      
 4 
     | 
    
         
            +
              constructor: (@$target, @options) ->
         
     | 
| 
      
 5 
     | 
    
         
            +
                self = this
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                @template_id = new Date().getTime()
         
     | 
| 
      
 8 
     | 
    
         
            +
                @request_manager = new _Wiselinks.RequestManager(@options)
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                self._try_target(@$target)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                if History.emulated.pushState && @options.html4 == true
         
     | 
| 
      
 13 
     | 
    
         
            +
                  if window.location.href.indexOf('#!') == -1 && @options.html4_root_path != null && window.location.pathname != @options.html4_root_path
         
     | 
| 
      
 14 
     | 
    
         
            +
                    window.location.href = "#{window.location.protocol}//#{window.location.host}#{@options.html4_root_path}#!#{window.location.pathname}"
         
     | 
| 
      
 15 
     | 
    
         
            +
                  
         
     | 
| 
      
 16 
     | 
    
         
            +
                  if window.location.hash.indexOf('#!') != -1                 
         
     | 
| 
      
 17 
     | 
    
         
            +
                    self._call(self._make_state(window.location.hash.substring(2)))   
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                History.Adapter.bind(
         
     | 
| 
      
 20 
     | 
    
         
            +
                  window,
         
     | 
| 
      
 21 
     | 
    
         
            +
                  "statechange"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  (event, data) ->        
         
     | 
| 
      
 23 
     | 
    
         
            +
                    state = History.getState()
         
     | 
| 
      
 24 
     | 
    
         
            +
                    
         
     | 
| 
      
 25 
     | 
    
         
            +
                    if self._template_id_changed(state)          
         
     | 
| 
      
 26 
     | 
    
         
            +
                      self._call(self._reset_state(state))
         
     | 
| 
      
 27 
     | 
    
         
            +
                    else          
         
     | 
| 
      
 28 
     | 
    
         
            +
                      self._call(state)
         
     | 
| 
      
 29 
     | 
    
         
            +
                )
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                $(document).on(
         
     | 
| 
      
 32 
     | 
    
         
            +
                  'click', 'a[data-push], a[data-replace]'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  (event) ->
         
     | 
| 
      
 34 
     | 
    
         
            +
                    if (link = new _Wiselinks.Link(self, $(this))).allows_process(event)
         
     | 
| 
      
 35 
     | 
    
         
            +
                      event.preventDefault()
         
     | 
| 
      
 36 
     | 
    
         
            +
                      link.process()
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                      return false
         
     | 
| 
      
 39 
     | 
    
         
            +
                )
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                $(document).on(
         
     | 
| 
      
 42 
     | 
    
         
            +
                  'submit', 'form[data-push], form[data-replace]'
         
     | 
| 
      
 43 
     | 
    
         
            +
                  (event) ->
         
     | 
| 
      
 44 
     | 
    
         
            +
                    if (form = new _Wiselinks.Form(self, $(this)))
         
     | 
| 
      
 45 
     | 
    
         
            +
                      event.preventDefault()
         
     | 
| 
      
 46 
     | 
    
         
            +
                      form.process()
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                      return false
         
     | 
| 
      
 49 
     | 
    
         
            +
                )
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              load: (url, target, render = 'template') ->
         
     | 
| 
      
 52 
     | 
    
         
            +
                @template_id = new Date().getTime() if render != 'partial'
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                if target?
         
     | 
| 
      
 55 
     | 
    
         
            +
                  this._try_target($(target))
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                History.pushState({ timestamp: (new Date().getTime()), template_id: @template_id, render: render, target: target, referer: window.location.href }, document.title, url )
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
              reload: () ->    
         
     | 
| 
      
 60 
     | 
    
         
            +
                History.replaceState({ timestamp: (new Date().getTime()), template_id: @template_id, render: 'template', referer: window.location.href }, document.title, History.getState().url )
         
     | 
| 
      
 61 
     | 
    
         
            +
              
         
     | 
| 
      
 62 
     | 
    
         
            +
              _call: (state) ->
         
     | 
| 
      
 63 
     | 
    
         
            +
                $target = if state.data.target? then $(state.data.target) else @$target
         
     | 
| 
      
 64 
     | 
    
         
            +
                this.request_manager.call($target, state)
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              _template_id_changed: (state) ->    
         
     | 
| 
      
 67 
     | 
    
         
            +
                !state.data.template_id? || state.data.template_id != @template_id
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
              _make_state: (url, target, render = 'template', referer) ->
         
     | 
| 
      
 70 
     | 
    
         
            +
                { 
         
     | 
| 
      
 71 
     | 
    
         
            +
                  url: url
         
     | 
| 
      
 72 
     | 
    
         
            +
                  data:
         
     | 
| 
      
 73 
     | 
    
         
            +
                    target: target
         
     | 
| 
      
 74 
     | 
    
         
            +
                    render: render
         
     | 
| 
      
 75 
     | 
    
         
            +
                    referer: referer
         
     | 
| 
      
 76 
     | 
    
         
            +
                }
         
     | 
| 
      
 77 
     | 
    
         
            +
              
         
     | 
| 
      
 78 
     | 
    
         
            +
              _reset_state: (state) ->
         
     | 
| 
      
 79 
     | 
    
         
            +
                state.data = {} unless state.data?
         
     | 
| 
      
 80 
     | 
    
         
            +
                state.data.target = null
         
     | 
| 
      
 81 
     | 
    
         
            +
                state.data.render = 'template'
         
     | 
| 
      
 82 
     | 
    
         
            +
                state
         
     | 
| 
      
 83 
     | 
    
         
            +
              
         
     | 
| 
      
 84 
     | 
    
         
            +
              _try_target: ($target) ->
         
     | 
| 
      
 85 
     | 
    
         
            +
                throw "[Wiselinks] Target missing: `#{$target.selector}`" if $target.length == 0  && @options.target_missing == 'exception'
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
            window._Wiselinks = {} if window._Wiselinks == undefined
         
     | 
| 
      
 88 
     | 
    
         
            +
            window._Wiselinks.Page = Page
         
     | 
| 
         @@ -0,0 +1,85 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class RequestManager
         
     | 
| 
      
 2 
     | 
    
         
            +
              constructor: (@options = {}) ->
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              call: ($target, state) ->
         
     | 
| 
      
 5 
     | 
    
         
            +
                self = this
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                # If been redirected, just trigger event and exit
         
     | 
| 
      
 8 
     | 
    
         
            +
                # 
         
     | 
| 
      
 9 
     | 
    
         
            +
                if @redirected
         
     | 
| 
      
 10 
     | 
    
         
            +
                  self._handle_redirect($target, state)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  return
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                # Trigger loading event
         
     | 
| 
      
 14 
     | 
    
         
            +
                # 
         
     | 
| 
      
 15 
     | 
    
         
            +
                self._loading($target, state)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                # Perform XHtmlHttpRequest
         
     | 
| 
      
 18 
     | 
    
         
            +
                # 
         
     | 
| 
      
 19 
     | 
    
         
            +
                $.ajax(
         
     | 
| 
      
 20 
     | 
    
         
            +
                  url: state.url
         
     | 
| 
      
 21 
     | 
    
         
            +
                  headers:
         
     | 
| 
      
 22 
     | 
    
         
            +
                    'X-Wiselinks': state.data.render
         
     | 
| 
      
 23 
     | 
    
         
            +
                    'X-Wiselinks-Referer': state.data.referer
         
     | 
| 
      
 24 
     | 
    
         
            +
                
         
     | 
| 
      
 25 
     | 
    
         
            +
                  dataType: "html"
         
     | 
| 
      
 26 
     | 
    
         
            +
                ).done(
         
     | 
| 
      
 27 
     | 
    
         
            +
                  (data, status, xhr) ->
         
     | 
| 
      
 28 
     | 
    
         
            +
                    url = xhr.getResponseHeader('X-Wiselinks-Url')
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                    if self._assets_changed(xhr.getResponseHeader('X-Wiselinks-Assets-Digest'))
         
     | 
| 
      
 31 
     | 
    
         
            +
                      window.location.reload(true)        
         
     | 
| 
      
 32 
     | 
    
         
            +
                    else
         
     | 
| 
      
 33 
     | 
    
         
            +
                      if url? && url != window.location.href
         
     | 
| 
      
 34 
     | 
    
         
            +
                        self._redirect_to(url, xhr)
         
     | 
| 
      
 35 
     | 
    
         
            +
                              
         
     | 
| 
      
 36 
     | 
    
         
            +
                      $target.html(data)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                      self._title(xhr.getResponseHeader('X-Wiselinks-Title'))
         
     | 
| 
      
 39 
     | 
    
         
            +
                      self._done($target, status, state.url, data)
         
     | 
| 
      
 40 
     | 
    
         
            +
                ).fail(
         
     | 
| 
      
 41 
     | 
    
         
            +
                  (xhr, status, error) ->
         
     | 
| 
      
 42 
     | 
    
         
            +
                    self._fail($target, status, state.url, error)
         
     | 
| 
      
 43 
     | 
    
         
            +
                ).always(
         
     | 
| 
      
 44 
     | 
    
         
            +
                  (data_or_xhr, status, xhr_or_error)->
         
     | 
| 
      
 45 
     | 
    
         
            +
                    self._always($target, status, state.url)
         
     | 
| 
      
 46 
     | 
    
         
            +
                ) 
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              _assets_changed: (digest) ->
         
     | 
| 
      
 49 
     | 
    
         
            +
                @options.assets_digest? && @options.assets_digest != digest
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              _handle_redirect: ($target, state) ->
         
     | 
| 
      
 52 
     | 
    
         
            +
                $(document).trigger('page:redirected', [$target, state.data.render, state.url])
         
     | 
| 
      
 53 
     | 
    
         
            +
                @redirected = null
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
              _redirect_to: (url, xhr) ->
         
     | 
| 
      
 56 
     | 
    
         
            +
                if ( xhr && xhr.readyState < 4)
         
     | 
| 
      
 57 
     | 
    
         
            +
                  xhr.onreadystatechange = $.noop
         
     | 
| 
      
 58 
     | 
    
         
            +
                  xhr.abort()
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                @redirected = true
         
     | 
| 
      
 61 
     | 
    
         
            +
                
         
     | 
| 
      
 62 
     | 
    
         
            +
                this._title('Redirecting…')
         
     | 
| 
      
 63 
     | 
    
         
            +
                History.replaceState(History.getState().data, document.title, url )
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              _loading: ($target, state) ->
         
     | 
| 
      
 67 
     | 
    
         
            +
                $(document).trigger('page:loading', [$target, state.data.render, state.url])
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
              _done: ($target, status, state, data) ->
         
     | 
| 
      
 70 
     | 
    
         
            +
                $(document).trigger('page:done', [$target, status, state.url, data])
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              _fail: ($target, status, state, error) ->
         
     | 
| 
      
 73 
     | 
    
         
            +
                $(document).trigger('page:fail', [$target, status, state.url, error])
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              _always: ($target, status, state) ->
         
     | 
| 
      
 76 
     | 
    
         
            +
                $(document).trigger('page:always', [$target, status, state.url])
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
              _title: (value) ->
         
     | 
| 
      
 79 
     | 
    
         
            +
                if value?  
         
     | 
| 
      
 80 
     | 
    
         
            +
                  $(document).trigger('page:title', decodeURI(value))
         
     | 
| 
      
 81 
     | 
    
         
            +
                  document.title = decodeURI(value) if value?
         
     | 
| 
      
 82 
     | 
    
         
            +
              
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            window._Wiselinks = {} if window._Wiselinks == undefined
         
     | 
| 
      
 85 
     | 
    
         
            +
            window._Wiselinks.RequestManager = RequestManager
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -1,195 +1,33 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #=  
     | 
| 
       2 
     | 
    
         
            -
            #= require _history
         
     | 
| 
       3 
     | 
    
         
            -
            #= require _history.html4
         
     | 
| 
       4 
     | 
    
         
            -
            #= require _history.adapter.jquery.js
         
     | 
| 
      
 1 
     | 
    
         
            +
            #= require_tree ./lib
         
     | 
| 
       5 
2 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            #= require _page
         
     | 
| 
      
 4 
     | 
    
         
            +
            #= require _link
         
     | 
| 
      
 5 
     | 
    
         
            +
            #= require _form
         
     | 
| 
       8 
6 
     | 
    
         | 
| 
       9 
7 
     | 
    
         
             
            class Wiselinks
         
     | 
| 
       10 
     | 
    
         
            -
              constructor: ( 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                throw "Load jQuery to use Wiselinks" unless window.jQuery?
         
     | 
| 
      
 8 
     | 
    
         
            +
              constructor: ($target = $('body'), options = {}) ->
         
     | 
| 
      
 9 
     | 
    
         
            +
                this._try_jquery()
         
     | 
| 
       13 
10 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
      
 11 
     | 
    
         
            +
                if this.enabled()
         
     | 
| 
      
 12 
     | 
    
         
            +
                  options = $.extend(this._defaults(), options)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  @page = new _Wiselinks.Page($target, options)
         
     | 
| 
       15 
14 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
                @options = jQuery.extend(self._defaults(), @options);
         
     | 
| 
       17 
     | 
    
         
            -
                @template_id = new Date().getTime()
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                if self.enabled()
         
     | 
| 
       20 
     | 
    
         
            -
                  @assets_digest = $("meta[name='assets-digest']").attr("content")
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                  if History.emulated.pushState && @options.html4 == true
         
     | 
| 
       23 
     | 
    
         
            -
                    if window.location.href.indexOf('#!') == -1 && @options.html4_root_path != null && window.location.pathname != @options.html4_root_path
         
     | 
| 
       24 
     | 
    
         
            -
                      window.location.href = "#{window.location.protocol}//#{window.location.host}#{@options.html4_root_path}#!#{window.location.pathname}"
         
     | 
| 
       25 
     | 
    
         
            -
                    
         
     | 
| 
       26 
     | 
    
         
            -
                    if window.location.hash.indexOf('#!') != -1                 
         
     | 
| 
       27 
     | 
    
         
            -
                      self._call(self._make_state(window.location.hash.substring(2)))    
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                  History.Adapter.bind(
         
     | 
| 
       30 
     | 
    
         
            -
                    window,
         
     | 
| 
       31 
     | 
    
         
            -
                    "statechange"
         
     | 
| 
       32 
     | 
    
         
            -
                    (event, data) ->
         
     | 
| 
       33 
     | 
    
         
            -
                      state = History.getState()
         
     | 
| 
       34 
     | 
    
         
            -
                      
         
     | 
| 
       35 
     | 
    
         
            -
                      if self._template_id_changed(state)
         
     | 
| 
       36 
     | 
    
         
            -
                        self._call(self._reset_state(state))
         
     | 
| 
       37 
     | 
    
         
            -
                      else            
         
     | 
| 
       38 
     | 
    
         
            -
                        self._call(state)
         
     | 
| 
       39 
     | 
    
         
            -
                  )
         
     | 
| 
       40 
     | 
    
         
            -
                  
         
     | 
| 
       41 
     | 
    
         
            -
                  $(document).on(
         
     | 
| 
       42 
     | 
    
         
            -
                    "submit", "form[data-push], form[data-replace]"
         
     | 
| 
       43 
     | 
    
         
            -
                    (event) ->        
         
     | 
| 
       44 
     | 
    
         
            -
                      self._process_form($(this))
         
     | 
| 
       45 
     | 
    
         
            -
                      
         
     | 
| 
       46 
     | 
    
         
            -
                      event.preventDefault()
         
     | 
| 
       47 
     | 
    
         
            -
                      return false
         
     | 
| 
       48 
     | 
    
         
            -
                  )
         
     | 
| 
       49 
     | 
    
         
            -
                
         
     | 
| 
       50 
     | 
    
         
            -
                  $(document).on(
         
     | 
| 
       51 
     | 
    
         
            -
                    "click", "a[data-push], a[data-replace]"
         
     | 
| 
       52 
     | 
    
         
            -
                    (event) ->        
         
     | 
| 
       53 
     | 
    
         
            -
                      if self._cross_origin_link(event.currentTarget) || self._non_standard_click(event)
         
     | 
| 
       54 
     | 
    
         
            -
                        return true;        
         
     | 
| 
       55 
     | 
    
         
            -
                      self._process_link($(this))
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
                      event.preventDefault()
         
     | 
| 
       58 
     | 
    
         
            -
                      return false
         
     | 
| 
       59 
     | 
    
         
            -
                  )           
         
     | 
| 
       60 
     | 
    
         
            -
              
         
     | 
| 
       61 
15 
     | 
    
         
             
              enabled: ->
         
     | 
| 
       62 
16 
     | 
    
         
             
                !History.emulated.pushState || @options.html4 == true 
         
     | 
| 
       63 
17 
     | 
    
         | 
| 
       64 
     | 
    
         
            -
              load: (url, target, render = 'template') -> 
     | 
| 
       65 
     | 
    
         
            -
                @ 
     | 
| 
       66 
     | 
    
         
            -
                History.pushState({ timestamp: (new Date().getTime()), template_id: @template_id, render: render, target: target, referer: window.location.href }, document.title, url )
         
     | 
| 
      
 18 
     | 
    
         
            +
              load: (url, target, render = 'template') ->
         
     | 
| 
      
 19 
     | 
    
         
            +
                @page.load(url, target, render)
         
     | 
| 
       67 
20 
     | 
    
         | 
| 
       68 
21 
     | 
    
         
             
              reload: () ->
         
     | 
| 
       69 
     | 
    
         
            -
                 
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
                @page.reload()
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
       71 
24 
     | 
    
         
             
              _defaults: ->
         
     | 
| 
       72 
25 
     | 
    
         
             
                html4: true
         
     | 
| 
       73 
26 
     | 
    
         
             
                html4_root_path: '/'
         
     | 
| 
      
 27 
     | 
    
         
            +
                target_missing: null
         
     | 
| 
      
 28 
     | 
    
         
            +
                assets_digest: $("meta[name='assets-digest']").attr("content")      
         
     | 
| 
       74 
29 
     | 
    
         | 
| 
       75 
     | 
    
         
            -
               
     | 
| 
       76 
     | 
    
         
            -
                 
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
                $target = if state.data.target? then $(state.data.target) else self.$target
         
     | 
| 
       79 
     | 
    
         
            -
                $document = $(document)
         
     | 
| 
       80 
     | 
    
         
            -
                
         
     | 
| 
       81 
     | 
    
         
            -
                if @redirected
         
     | 
| 
       82 
     | 
    
         
            -
                  $document.trigger('page:redirected', [$target, state.data.render, state.url])
         
     | 
| 
       83 
     | 
    
         
            -
                  @redirected = null
         
     | 
| 
       84 
     | 
    
         
            -
                  return
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
                $document.trigger('page:loading', [$target, state.data.render, state.url])
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
                $.ajax(
         
     | 
| 
       89 
     | 
    
         
            -
                  url: state.url
         
     | 
| 
       90 
     | 
    
         
            -
                  headers:
         
     | 
| 
       91 
     | 
    
         
            -
                    'X-Wiselinks': state.data.render
         
     | 
| 
       92 
     | 
    
         
            -
                    'X-Wiselinks-Referer': state.data.referer
         
     | 
| 
       93 
     | 
    
         
            -
                
         
     | 
| 
       94 
     | 
    
         
            -
                  dataType: "html"
         
     | 
| 
       95 
     | 
    
         
            -
                ).done(
         
     | 
| 
       96 
     | 
    
         
            -
                  (data, status, xhr) ->
         
     | 
| 
       97 
     | 
    
         
            -
                    url = xhr.getResponseHeader('X-Wiselinks-Url')
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                    if self._assets_changed(xhr.getResponseHeader('X-Wiselinks-Assets-Digest'))
         
     | 
| 
       100 
     | 
    
         
            -
                      window.location.reload(true)        
         
     | 
| 
       101 
     | 
    
         
            -
                    else
         
     | 
| 
       102 
     | 
    
         
            -
                      self._set_title(xhr)
         
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
       104 
     | 
    
         
            -
                      if url? && url != window.location.href            
         
     | 
| 
       105 
     | 
    
         
            -
                        if ( xhr && xhr.readyState < 4)            
         
     | 
| 
       106 
     | 
    
         
            -
                          xhr.onreadystatechange = $.noop
         
     | 
| 
       107 
     | 
    
         
            -
                          xhr.abort()
         
     | 
| 
       108 
     | 
    
         
            -
                        self.redirected = true
         
     | 
| 
       109 
     | 
    
         
            -
                        History.replaceState(History.getState().data, document.title, url )
         
     | 
| 
       110 
     | 
    
         
            -
                              
         
     | 
| 
       111 
     | 
    
         
            -
                      $target.html(data)
         
     | 
| 
       112 
     | 
    
         
            -
                      $document.trigger('page:done', [$target, status, state.ur, data])
         
     | 
| 
       113 
     | 
    
         
            -
                ).fail(
         
     | 
| 
       114 
     | 
    
         
            -
                  (xhr, status, error) ->
         
     | 
| 
       115 
     | 
    
         
            -
                    $document.trigger('page:fail', [$target, status, state.ur, error])
         
     | 
| 
       116 
     | 
    
         
            -
                ).always(
         
     | 
| 
       117 
     | 
    
         
            -
                  (data_or_xhr, status, xhr_or_error)->
         
     | 
| 
       118 
     | 
    
         
            -
                    $document.trigger('page:always', [$target, status, state.ur])
         
     | 
| 
       119 
     | 
    
         
            -
                )
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
              _process_form: ($form) ->
         
     | 
| 
       122 
     | 
    
         
            -
                self = this
         
     | 
| 
       123 
     | 
    
         
            -
                
         
     | 
| 
       124 
     | 
    
         
            -
                $disable = $form.find(':input[value=""]:not(:disabled)')
         
     | 
| 
       125 
     | 
    
         
            -
                $disable.attr('disabled', true);      
         
     | 
| 
       126 
     | 
    
         
            -
                
         
     | 
| 
       127 
     | 
    
         
            -
                params = {}
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
                for item in $form.serializeArray()
         
     | 
| 
       130 
     | 
    
         
            -
                  if item.name != 'utf8'
         
     | 
| 
       131 
     | 
    
         
            -
                    name = if item.name.ends_with('[]')
         
     | 
| 
       132 
     | 
    
         
            -
                      item.name.substr(0, item.name.length - 2)
         
     | 
| 
       133 
     | 
    
         
            -
                    else
         
     | 
| 
       134 
     | 
    
         
            -
                      item.name
         
     | 
| 
      
 30 
     | 
    
         
            +
              _try_jquery: ->
         
     | 
| 
      
 31 
     | 
    
         
            +
                throw "[Wiselinks] jQuery is not loaded" unless window.jQuery?  
         
     | 
| 
       135 
32 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                    if params[name]?
         
     | 
| 
       137 
     | 
    
         
            -
                      params[name] = params[name] + ",#{item.value}"
         
     | 
| 
       138 
     | 
    
         
            -
                    else
         
     | 
| 
       139 
     | 
    
         
            -
                      params[name] = item.value  
         
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
                serialized = []
         
     | 
| 
       142 
     | 
    
         
            -
                for key of params
         
     | 
| 
       143 
     | 
    
         
            -
                  serialized.push("#{key}=#{params[key]}")
         
     | 
| 
       144 
     | 
    
         
            -
             
     | 
| 
       145 
     | 
    
         
            -
                serialized = serialized.join('&').replace(/%|!/g, '')
         
     | 
| 
       146 
     | 
    
         
            -
                
         
     | 
| 
       147 
     | 
    
         
            -
                url = $form.attr("action")
         
     | 
| 
       148 
     | 
    
         
            -
                url += "?#{serialized}" if serialized.length > 0
         
     | 
| 
       149 
     | 
    
         
            -
                    
         
     | 
| 
       150 
     | 
    
         
            -
                $disable.attr('disabled', false);    
         
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
       152 
     | 
    
         
            -
                type = if ($form.attr("data-push") == 'partial') then 'partial' else 'template'  
         
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
       154 
     | 
    
         
            -
                self.load(url, $form.attr("data-target"), type)
         
     | 
| 
       155 
     | 
    
         
            -
              
         
     | 
| 
       156 
     | 
    
         
            -
              _process_link: ($link) ->    
         
     | 
| 
       157 
     | 
    
         
            -
                self = this  
         
     | 
| 
       158 
     | 
    
         
            -
                
         
     | 
| 
       159 
     | 
    
         
            -
                type = if ($link.attr("data-push") == 'partial') then 'partial' else 'template'
         
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
       161 
     | 
    
         
            -
                self.load($link.attr("href"), $link.attr("data-target"), type)
         
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
       163 
     | 
    
         
            -
              _cross_origin_link: (link) ->
         
     | 
| 
       164 
     | 
    
         
            -
                # we split host because IE returns host with port and other browsers not
         
     | 
| 
       165 
     | 
    
         
            -
                (location.protocol != link.protocol) || (location.host.split(':')[0] != link.host.split(':')[0])    
         
     | 
| 
       166 
     | 
    
         
            -
             
     | 
| 
       167 
     | 
    
         
            -
              _non_standard_click: (event) ->
         
     | 
| 
       168 
     | 
    
         
            -
                event.metaKey || event.ctrlKey || event.shiftKey || event.altKey  
         
     | 
| 
       169 
     | 
    
         
            -
             
     | 
| 
       170 
     | 
    
         
            -
              _assets_changed: (digest) ->
         
     | 
| 
       171 
     | 
    
         
            -
                @assets_digest? && @assets_digest != digest
         
     | 
| 
       172 
     | 
    
         
            -
             
     | 
| 
       173 
     | 
    
         
            -
              _template_id_changed: (state) ->    
         
     | 
| 
       174 
     | 
    
         
            -
                !state.data.template_id? || state.data.template_id != @template_id
         
     | 
| 
       175 
     | 
    
         
            -
             
     | 
| 
       176 
     | 
    
         
            -
              _set_title: (xhr) ->
         
     | 
| 
       177 
     | 
    
         
            -
                value = xhr.getResponseHeader('X-Wiselinks-Title')
         
     | 
| 
       178 
     | 
    
         
            -
                document.title = decodeURI(value) if value?
         
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
     | 
    
         
            -
              _make_state: (url, target, render = 'template', referer) ->
         
     | 
| 
       181 
     | 
    
         
            -
                { 
         
     | 
| 
       182 
     | 
    
         
            -
                  url: url
         
     | 
| 
       183 
     | 
    
         
            -
                  data:
         
     | 
| 
       184 
     | 
    
         
            -
                    target: target
         
     | 
| 
       185 
     | 
    
         
            -
                    render: render
         
     | 
| 
       186 
     | 
    
         
            -
                    referer: referer
         
     | 
| 
       187 
     | 
    
         
            -
                }
         
     | 
| 
       188 
     | 
    
         
            -
              
         
     | 
| 
       189 
     | 
    
         
            -
              _reset_state: (state) ->
         
     | 
| 
       190 
     | 
    
         
            -
                state.data = {} unless state.data?    
         
     | 
| 
       191 
     | 
    
         
            -
                state.data.target = null
         
     | 
| 
       192 
     | 
    
         
            -
                state.data.render = 'template'
         
     | 
| 
       193 
     | 
    
         
            -
                state
         
     | 
| 
       194 
     | 
    
         
            -
                
         
     | 
| 
       195 
33 
     | 
    
         
             
            window.Wiselinks = Wiselinks
         
     | 
    
        data/spec/dummy/log/test.log
    CHANGED
    
    | 
         @@ -52399,3 +52399,18 @@ Connecting to database specified by database.yml 
     | 
|
| 
       52399 
52399 
     | 
    
         
             
            Processing by ApplicationController#index as HTML
         
     | 
| 
       52400 
52400 
     | 
    
         
             
              Rendered application/index.html.erb within layouts/application (3.9ms)
         
     | 
| 
       52401 
52401 
     | 
    
         
             
            Completed 200 OK in 24ms (Views: 23.1ms | ActiveRecord: 0.0ms)
         
     | 
| 
      
 52402 
     | 
    
         
            +
            Started GET "/" for 127.0.0.1 at 2013-05-27 13:05:21 +0400
         
     | 
| 
      
 52403 
     | 
    
         
            +
            Connecting to database specified by database.yml
         
     | 
| 
      
 52404 
     | 
    
         
            +
            Processing by ApplicationController#index as HTML
         
     | 
| 
      
 52405 
     | 
    
         
            +
              Rendered application/index.html.erb within layouts/application (5.1ms)
         
     | 
| 
      
 52406 
     | 
    
         
            +
            Completed 200 OK in 64ms (Views: 28.3ms | ActiveRecord: 0.0ms)
         
     | 
| 
      
 52407 
     | 
    
         
            +
            Started GET "/" for 127.0.0.1 at 2013-05-27 13:11:42 +0400
         
     | 
| 
      
 52408 
     | 
    
         
            +
            Connecting to database specified by database.yml
         
     | 
| 
      
 52409 
     | 
    
         
            +
            Processing by ApplicationController#index as HTML
         
     | 
| 
      
 52410 
     | 
    
         
            +
              Rendered application/index.html.erb within layouts/application (4.6ms)
         
     | 
| 
      
 52411 
     | 
    
         
            +
            Completed 200 OK in 25ms (Views: 24.6ms | ActiveRecord: 0.0ms)
         
     | 
| 
      
 52412 
     | 
    
         
            +
            Started GET "/" for 127.0.0.1 at 2013-06-01 11:22:33 +0400
         
     | 
| 
      
 52413 
     | 
    
         
            +
            Connecting to database specified by database.yml
         
     | 
| 
      
 52414 
     | 
    
         
            +
            Processing by ApplicationController#index as HTML
         
     | 
| 
      
 52415 
     | 
    
         
            +
              Rendered application/index.html.erb within layouts/application (4.4ms)
         
     | 
| 
      
 52416 
     | 
    
         
            +
            Completed 200 OK in 26ms (Views: 25.7ms | ActiveRecord: 0.0ms)
         
     | 
    
        data/spec/factories/requests.rb
    CHANGED
    
    | 
         @@ -4,19 +4,19 @@ FactoryGirl.define do 
     | 
|
| 
       4 
4 
     | 
    
         
             
              factory :request, :class => ActionDispatch::Request do |r|    
         
     | 
| 
       5 
5 
     | 
    
         
             
                trait :wiselinks do
         
     | 
| 
       6 
6 
     | 
    
         
             
                  after(:build) do |obj|
         
     | 
| 
       7 
     | 
    
         
            -
                    obj.env['X- 
     | 
| 
      
 7 
     | 
    
         
            +
                    obj.env['X-Wiselinks'] = Faker::Lorem.characters(10)
         
     | 
| 
       8 
8 
     | 
    
         
             
                  end
         
     | 
| 
       9 
9 
     | 
    
         
             
                end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
                trait :wiselinks_template do
         
     | 
| 
       12 
12 
     | 
    
         
             
                  after(:build) do |obj|
         
     | 
| 
       13 
     | 
    
         
            -
                    obj.env['X- 
     | 
| 
      
 13 
     | 
    
         
            +
                    obj.env['X-Wiselinks'] = 'template'
         
     | 
| 
       14 
14 
     | 
    
         
             
                  end
         
     | 
| 
       15 
15 
     | 
    
         
             
                end
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                trait :wiselinks_partial do
         
     | 
| 
       18 
18 
     | 
    
         
             
                  after(:build) do |obj|
         
     | 
| 
       19 
     | 
    
         
            -
                    obj.env['X- 
     | 
| 
      
 19 
     | 
    
         
            +
                    obj.env['X-Wiselinks'] = 'partial'
         
     | 
| 
       20 
20 
     | 
    
         
             
                  end
         
     | 
| 
       21 
21 
     | 
    
         
             
                end
         
     | 
| 
       22 
22 
     | 
    
         | 
    
        data/wiselinks.gemspec
    CHANGED
    
    | 
         @@ -1,134 +1,38 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #  
     | 
| 
       2 
     | 
    
         
            -
            # DO NOT EDIT THIS FILE DIRECTLY
         
     | 
| 
       3 
     | 
    
         
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         
     | 
| 
       4 
     | 
    
         
            -
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 1 
     | 
    
         
            +
            # encoding: utf-8
         
     | 
| 
       5 
2 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
      
 4 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'wiselinks/version'
         
     | 
| 
       9 
6 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
               
     | 
| 
       12 
     | 
    
         
            -
               
     | 
| 
       13 
     | 
    
         
            -
               
     | 
| 
       14 
     | 
    
         
            -
               
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              ]
         
     | 
| 
       18 
     | 
    
         
            -
              s.files = [
         
     | 
| 
       19 
     | 
    
         
            -
                ".document",
         
     | 
| 
       20 
     | 
    
         
            -
                ".rspec",
         
     | 
| 
       21 
     | 
    
         
            -
                "Gemfile",
         
     | 
| 
       22 
     | 
    
         
            -
                "Gemfile.lock",
         
     | 
| 
       23 
     | 
    
         
            -
                "LICENSE",
         
     | 
| 
       24 
     | 
    
         
            -
                "README.md",
         
     | 
| 
       25 
     | 
    
         
            -
                "Rakefile",
         
     | 
| 
       26 
     | 
    
         
            -
                "VERSION",
         
     | 
| 
       27 
     | 
    
         
            -
                "app/views/layouts/wiselinks.html.erb",
         
     | 
| 
       28 
     | 
    
         
            -
                "lib/assets/javascripts/_history.adapter.jquery.js",
         
     | 
| 
       29 
     | 
    
         
            -
                "lib/assets/javascripts/_history.html4.js",
         
     | 
| 
       30 
     | 
    
         
            -
                "lib/assets/javascripts/_history.js",
         
     | 
| 
       31 
     | 
    
         
            -
                "lib/assets/javascripts/_json2.js",
         
     | 
| 
       32 
     | 
    
         
            -
                "lib/assets/javascripts/wiselinks.js.coffee",
         
     | 
| 
       33 
     | 
    
         
            -
                "lib/wiselinks.rb",
         
     | 
| 
       34 
     | 
    
         
            -
                "lib/wiselinks/controller_methods.rb",
         
     | 
| 
       35 
     | 
    
         
            -
                "lib/wiselinks/helpers.rb",
         
     | 
| 
       36 
     | 
    
         
            -
                "lib/wiselinks/logger.rb",
         
     | 
| 
       37 
     | 
    
         
            -
                "lib/wiselinks/rails.rb",
         
     | 
| 
       38 
     | 
    
         
            -
                "lib/wiselinks/rendering.rb",
         
     | 
| 
       39 
     | 
    
         
            -
                "lib/wiselinks/request.rb",
         
     | 
| 
       40 
     | 
    
         
            -
                "spec/cases/helpers_spec.rb",
         
     | 
| 
       41 
     | 
    
         
            -
                "spec/cases/request_spec.rb",
         
     | 
| 
       42 
     | 
    
         
            -
                "spec/dummy/README.rdoc",
         
     | 
| 
       43 
     | 
    
         
            -
                "spec/dummy/Rakefile",
         
     | 
| 
       44 
     | 
    
         
            -
                "spec/dummy/app/assets/javascripts/application.js.coffee",
         
     | 
| 
       45 
     | 
    
         
            -
                "spec/dummy/app/assets/stylesheets/application.css",
         
     | 
| 
       46 
     | 
    
         
            -
                "spec/dummy/app/controllers/application_controller.rb",
         
     | 
| 
       47 
     | 
    
         
            -
                "spec/dummy/app/helpers/application_helper.rb",
         
     | 
| 
       48 
     | 
    
         
            -
                "spec/dummy/app/mailers/.gitkeep",
         
     | 
| 
       49 
     | 
    
         
            -
                "spec/dummy/app/models/.gitkeep",
         
     | 
| 
       50 
     | 
    
         
            -
                "spec/dummy/app/views/application/index.html.erb",
         
     | 
| 
       51 
     | 
    
         
            -
                "spec/dummy/app/views/layouts/application.html.erb",
         
     | 
| 
       52 
     | 
    
         
            -
                "spec/dummy/config.ru",
         
     | 
| 
       53 
     | 
    
         
            -
                "spec/dummy/config/application.rb",
         
     | 
| 
       54 
     | 
    
         
            -
                "spec/dummy/config/boot.rb",
         
     | 
| 
       55 
     | 
    
         
            -
                "spec/dummy/config/database.yml",
         
     | 
| 
       56 
     | 
    
         
            -
                "spec/dummy/config/environment.rb",
         
     | 
| 
       57 
     | 
    
         
            -
                "spec/dummy/config/environments/development.rb",
         
     | 
| 
       58 
     | 
    
         
            -
                "spec/dummy/config/environments/production.rb",
         
     | 
| 
       59 
     | 
    
         
            -
                "spec/dummy/config/environments/test.rb",
         
     | 
| 
       60 
     | 
    
         
            -
                "spec/dummy/config/initializers/backtrace_silencers.rb",
         
     | 
| 
       61 
     | 
    
         
            -
                "spec/dummy/config/initializers/inflections.rb",
         
     | 
| 
       62 
     | 
    
         
            -
                "spec/dummy/config/initializers/mime_types.rb",
         
     | 
| 
       63 
     | 
    
         
            -
                "spec/dummy/config/initializers/secret_token.rb",
         
     | 
| 
       64 
     | 
    
         
            -
                "spec/dummy/config/initializers/session_store.rb",
         
     | 
| 
       65 
     | 
    
         
            -
                "spec/dummy/config/initializers/wrap_parameters.rb",
         
     | 
| 
       66 
     | 
    
         
            -
                "spec/dummy/config/locales/en.yml",
         
     | 
| 
       67 
     | 
    
         
            -
                "spec/dummy/config/routes.rb",
         
     | 
| 
       68 
     | 
    
         
            -
                "spec/dummy/lib/assets/.gitkeep",
         
     | 
| 
       69 
     | 
    
         
            -
                "spec/dummy/log/.gitkeep",
         
     | 
| 
       70 
     | 
    
         
            -
                "spec/dummy/log/development.log",
         
     | 
| 
       71 
     | 
    
         
            -
                "spec/dummy/log/test.log",
         
     | 
| 
       72 
     | 
    
         
            -
                "spec/dummy/public/404.html",
         
     | 
| 
       73 
     | 
    
         
            -
                "spec/dummy/public/422.html",
         
     | 
| 
       74 
     | 
    
         
            -
                "spec/dummy/public/500.html",
         
     | 
| 
       75 
     | 
    
         
            -
                "spec/dummy/public/assets/application-a98e47eb93026a340a766faf55214702.js",
         
     | 
| 
       76 
     | 
    
         
            -
                "spec/dummy/public/assets/application-a98e47eb93026a340a766faf55214702.js.gz",
         
     | 
| 
       77 
     | 
    
         
            -
                "spec/dummy/public/assets/application-ecf5beebe0b79251c8be40f0443074f2.css",
         
     | 
| 
       78 
     | 
    
         
            -
                "spec/dummy/public/assets/application-ecf5beebe0b79251c8be40f0443074f2.css.gz",
         
     | 
| 
       79 
     | 
    
         
            -
                "spec/dummy/public/assets/application.css",
         
     | 
| 
       80 
     | 
    
         
            -
                "spec/dummy/public/assets/application.css.gz",
         
     | 
| 
       81 
     | 
    
         
            -
                "spec/dummy/public/assets/application.js",
         
     | 
| 
       82 
     | 
    
         
            -
                "spec/dummy/public/assets/application.js.gz",
         
     | 
| 
       83 
     | 
    
         
            -
                "spec/dummy/public/assets/manifest.yml",
         
     | 
| 
       84 
     | 
    
         
            -
                "spec/dummy/public/favicon.ico",
         
     | 
| 
       85 
     | 
    
         
            -
                "spec/dummy/public/javascripts/wisepdf.js",
         
     | 
| 
       86 
     | 
    
         
            -
                "spec/dummy/public/stylesheets/wisepdf.css",
         
     | 
| 
       87 
     | 
    
         
            -
                "spec/dummy/script/rails",
         
     | 
| 
       88 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/C26/0A0/sprockets%2F52456508a38f02f4559064b24980c87a",
         
     | 
| 
       89 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/C5E/890/sprockets%2Ffb6525457b6873e6905e2d522548091f",
         
     | 
| 
       90 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/C80/150/sprockets%2F0d3881005b0646df783d5c24683d34f5",
         
     | 
| 
       91 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953",
         
     | 
| 
       92 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/CF3/250/sprockets%2F7edb1809ce839a3d290508f935c89f42",
         
     | 
| 
       93 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D09/C40/sprockets%2Fcf317b95ed0500b7277e950a9c0c82e0",
         
     | 
| 
       94 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705",
         
     | 
| 
       95 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D45/760/sprockets%2Fbc659a6e09b5025e8be539b0b68f71f2",
         
     | 
| 
       96 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D4E/D00/sprockets%2F1a6846f0a837ae2524e2f9ec89e6ef43",
         
     | 
| 
       97 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D55/090/sprockets%2F4a21bc343a4696b7603ea4cc25c3c3ba",
         
     | 
| 
       98 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6",
         
     | 
| 
       99 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/DC2/EB0/sprockets%2F75b4716f479a2acfac51b258fba0c2bd",
         
     | 
| 
       100 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/DF1/B80/sprockets%2Fcd0ee4f742908cb7223a1e7be4a4ccbc",
         
     | 
| 
       101 
     | 
    
         
            -
                "spec/dummy/tmp/cache/assets/E11/4E0/sprockets%2F86e145a39f85cceeaffdff91ebb61449",
         
     | 
| 
       102 
     | 
    
         
            -
                "spec/factories/requests.rb",
         
     | 
| 
       103 
     | 
    
         
            -
                "spec/helper.rb",
         
     | 
| 
       104 
     | 
    
         
            -
                "travis.yml",
         
     | 
| 
       105 
     | 
    
         
            -
                "wiselinks.gemspec"
         
     | 
| 
       106 
     | 
    
         
            -
              ]
         
     | 
| 
       107 
     | 
    
         
            -
              s.homepage = "http://github.com/igor-alexandrov/wiselinks"
         
     | 
| 
       108 
     | 
    
         
            -
              s.licenses = ["MIT"]
         
     | 
| 
       109 
     | 
    
         
            -
              s.require_paths = ["lib"]
         
     | 
| 
       110 
     | 
    
         
            -
              s.rubygems_version = "1.8.24"
         
     | 
| 
       111 
     | 
    
         
            -
              s.summary = "Wiselinks makes following links and submitting some forms in your web application smarter and faster"
         
     | 
| 
      
 7 
     | 
    
         
            +
            Gem::Specification.new do |gem|
         
     | 
| 
      
 8 
     | 
    
         
            +
              gem.name          = 'wiselinks'
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem.version       = Wiselinks::Version::STRING
         
     | 
| 
      
 10 
     | 
    
         
            +
              gem.authors       = ['Igor Alexandrov', 'Alexey Solilin', 'Julia Egorova']  
         
     | 
| 
      
 11 
     | 
    
         
            +
              gem.email         = 'igor.alexandrov@gmail.com'  
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem.summary       = 'Wiselinks makes following links and submitting some forms in your web application smarter and faster'
         
     | 
| 
      
 13 
     | 
    
         
            +
              gem.homepage      = 'http://github.com/igor-alexandrov/wiselinks'
         
     | 
| 
      
 14 
     | 
    
         
            +
              gem.licenses      = ['MIT']
         
     | 
| 
       112 
15 
     | 
    
         | 
| 
       113 
     | 
    
         
            -
               
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
      
 16 
     | 
    
         
            +
              gem.files         = `git ls-files`.split($/)
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         
     | 
| 
      
 18 
     | 
    
         
            +
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.require_paths = ["lib"]
         
     | 
| 
       115 
20 
     | 
    
         | 
| 
       116 
     | 
    
         
            -
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         
     | 
| 
       117 
     | 
    
         
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         
     | 
| 
       118 
     | 
    
         
            -
                  s.add_development_dependency(%q<rdoc>, [">= 0"])
         
     | 
| 
       119 
     | 
    
         
            -
                  s.add_development_dependency(%q<bundler>, [">= 0"])
         
     | 
| 
       120 
     | 
    
         
            -
                  s.add_development_dependency(%q<jeweler>, [">= 0"])
         
     | 
| 
       121 
     | 
    
         
            -
                else
         
     | 
| 
       122 
     | 
    
         
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         
     | 
| 
       123 
     | 
    
         
            -
                  s.add_dependency(%q<rdoc>, [">= 0"])
         
     | 
| 
       124 
     | 
    
         
            -
                  s.add_dependency(%q<bundler>, [">= 0"])
         
     | 
| 
       125 
     | 
    
         
            -
                  s.add_dependency(%q<jeweler>, [">= 0"])
         
     | 
| 
       126 
     | 
    
         
            -
                end
         
     | 
| 
       127 
     | 
    
         
            -
              else
         
     | 
| 
       128 
     | 
    
         
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         
     | 
| 
       129 
     | 
    
         
            -
                s.add_dependency(%q<rdoc>, [">= 0"])
         
     | 
| 
       130 
     | 
    
         
            -
                s.add_dependency(%q<bundler>, [">= 0"])
         
     | 
| 
       131 
     | 
    
         
            -
                s.add_dependency(%q<jeweler>, [">= 0"])
         
     | 
| 
       132 
     | 
    
         
            -
              end
         
     | 
| 
       133 
     | 
    
         
            -
            end
         
     | 
| 
       134 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
              gem.add_development_dependency 'rspec'
         
     | 
| 
      
 23 
     | 
    
         
            +
              gem.add_development_dependency 'webmock', '~> 1.9.0'
         
     | 
| 
      
 24 
     | 
    
         
            +
              gem.add_development_dependency 'shoulda'
         
     | 
| 
      
 25 
     | 
    
         
            +
              gem.add_development_dependency 'simplecov'
         
     | 
| 
      
 26 
     | 
    
         
            +
              gem.add_development_dependency 'coveralls'
         
     | 
| 
      
 27 
     | 
    
         
            +
              gem.add_development_dependency 'rake'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem.add_development_dependency 'bundler'
         
     | 
| 
      
 29 
     | 
    
         
            +
              gem.add_development_dependency 'sqlite3'
         
     | 
| 
      
 30 
     | 
    
         
            +
              gem.add_development_dependency 'rspec'
         
     | 
| 
      
 31 
     | 
    
         
            +
              gem.add_development_dependency 'rspec-rails'
         
     | 
| 
      
 32 
     | 
    
         
            +
              gem.add_development_dependency 'factory_girl'
         
     | 
| 
      
 33 
     | 
    
         
            +
              gem.add_development_dependency 'faker'
         
     | 
| 
      
 34 
     | 
    
         
            +
              gem.add_development_dependency 'capybara'
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
              gem.add_development_dependency 'rails', '>= 3.2.0'
         
     | 
| 
      
 37 
     | 
    
         
            +
              gem.add_development_dependency 'coffee-rails'
         
     | 
| 
      
 38 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: wiselinks
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.0
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -11,8 +11,40 @@ authors: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       13 
13 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       14 
     | 
    
         
            -
            date: 2013- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2013-06-01 00:00:00.000000000 Z
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies:
         
     | 
| 
      
 16 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 17 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 18 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 19 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 20 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 21 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 22 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 23 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 24 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 25 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 26 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 27 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 28 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 29 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 31 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 32 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 33 
     | 
    
         
            +
              name: webmock
         
     | 
| 
      
 34 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 35 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 36 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 37 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 38 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 39 
     | 
    
         
            +
                    version: 1.9.0
         
     | 
| 
      
 40 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 41 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 42 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 43 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 44 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 45 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 46 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 47 
     | 
    
         
            +
                    version: 1.9.0
         
     | 
| 
       16 
48 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
49 
     | 
    
         
             
              name: shoulda
         
     | 
| 
       18 
50 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -30,7 +62,39 @@ dependencies: 
     | 
|
| 
       30 
62 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       31 
63 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       32 
64 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       33 
     | 
    
         
            -
              name:  
     | 
| 
      
 65 
     | 
    
         
            +
              name: simplecov
         
     | 
| 
      
 66 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 67 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 68 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 69 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 70 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 71 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 72 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 73 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 74 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 75 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 76 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 77 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 79 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 80 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 81 
     | 
    
         
            +
              name: coveralls
         
     | 
| 
      
 82 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 83 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 84 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 85 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 86 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 87 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 88 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 89 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 90 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 91 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 92 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 93 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 94 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 95 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 96 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 97 
     | 
    
         
            +
              name: rake
         
     | 
| 
       34 
98 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       35 
99 
     | 
    
         
             
                none: false
         
     | 
| 
       36 
100 
     | 
    
         
             
                requirements:
         
     | 
| 
         @@ -62,7 +126,119 @@ dependencies: 
     | 
|
| 
       62 
126 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       63 
127 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       64 
128 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       65 
     | 
    
         
            -
              name:  
     | 
| 
      
 129 
     | 
    
         
            +
              name: sqlite3
         
     | 
| 
      
 130 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 131 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 132 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 133 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 134 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 135 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 136 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 137 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 138 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 139 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 140 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 141 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 142 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 143 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 144 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 145 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 146 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 147 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 148 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 149 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 150 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 151 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 152 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 153 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 154 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 155 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 156 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 157 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 158 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 159 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 160 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 161 
     | 
    
         
            +
              name: rspec-rails
         
     | 
| 
      
 162 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 163 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 164 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 165 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 166 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 167 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 168 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 169 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 170 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 171 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 172 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 173 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 174 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 175 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 176 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 177 
     | 
    
         
            +
              name: factory_girl
         
     | 
| 
      
 178 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 179 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 180 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 181 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 182 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 183 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 184 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 185 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 186 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 187 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 188 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 189 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 190 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 191 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 192 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 193 
     | 
    
         
            +
              name: faker
         
     | 
| 
      
 194 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 195 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 196 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 197 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 198 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 199 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 200 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 201 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 202 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 203 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 204 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 205 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 206 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 207 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 208 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 209 
     | 
    
         
            +
              name: capybara
         
     | 
| 
      
 210 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 211 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 212 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 213 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 214 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 215 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 216 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 217 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 218 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 219 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 220 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 221 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 222 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 223 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 224 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 225 
     | 
    
         
            +
              name: rails
         
     | 
| 
      
 226 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 227 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 228 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 229 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 230 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 231 
     | 
    
         
            +
                    version: 3.2.0
         
     | 
| 
      
 232 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 233 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 234 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 235 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 236 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 237 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 238 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 239 
     | 
    
         
            +
                    version: 3.2.0
         
     | 
| 
      
 240 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 241 
     | 
    
         
            +
              name: coffee-rails
         
     | 
| 
       66 
242 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       67 
243 
     | 
    
         
             
                none: false
         
     | 
| 
       68 
244 
     | 
    
         
             
                requirements:
         
     | 
| 
         @@ -81,11 +257,10 @@ description: 
     | 
|
| 
       81 
257 
     | 
    
         
             
            email: igor.alexandrov@gmail.com
         
     | 
| 
       82 
258 
     | 
    
         
             
            executables: []
         
     | 
| 
       83 
259 
     | 
    
         
             
            extensions: []
         
     | 
| 
       84 
     | 
    
         
            -
            extra_rdoc_files:
         
     | 
| 
       85 
     | 
    
         
            -
            - LICENSE
         
     | 
| 
       86 
     | 
    
         
            -
            - README.md
         
     | 
| 
      
 260 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
       87 
261 
     | 
    
         
             
            files:
         
     | 
| 
       88 
262 
     | 
    
         
             
            - .document
         
     | 
| 
      
 263 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
       89 
264 
     | 
    
         
             
            - .rspec
         
     | 
| 
       90 
265 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       91 
266 
     | 
    
         
             
            - Gemfile.lock
         
     | 
| 
         @@ -94,10 +269,14 @@ files: 
     | 
|
| 
       94 
269 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       95 
270 
     | 
    
         
             
            - VERSION
         
     | 
| 
       96 
271 
     | 
    
         
             
            - app/views/layouts/wiselinks.html.erb
         
     | 
| 
       97 
     | 
    
         
            -
            - lib/assets/javascripts/ 
     | 
| 
       98 
     | 
    
         
            -
            - lib/assets/javascripts/ 
     | 
| 
       99 
     | 
    
         
            -
            - lib/assets/javascripts/ 
     | 
| 
       100 
     | 
    
         
            -
            - lib/assets/javascripts/ 
     | 
| 
      
 272 
     | 
    
         
            +
            - lib/assets/javascripts/_form.js.coffee
         
     | 
| 
      
 273 
     | 
    
         
            +
            - lib/assets/javascripts/_link.js.coffee
         
     | 
| 
      
 274 
     | 
    
         
            +
            - lib/assets/javascripts/_page.js.coffee
         
     | 
| 
      
 275 
     | 
    
         
            +
            - lib/assets/javascripts/_request_manager.js.coffee
         
     | 
| 
      
 276 
     | 
    
         
            +
            - lib/assets/javascripts/lib/_history.adapter.jquery.js
         
     | 
| 
      
 277 
     | 
    
         
            +
            - lib/assets/javascripts/lib/_history.html4.js
         
     | 
| 
      
 278 
     | 
    
         
            +
            - lib/assets/javascripts/lib/_history.js
         
     | 
| 
      
 279 
     | 
    
         
            +
            - lib/assets/javascripts/lib/_json2.js
         
     | 
| 
       101 
280 
     | 
    
         
             
            - lib/assets/javascripts/wiselinks.js.coffee
         
     | 
| 
       102 
281 
     | 
    
         
             
            - lib/wiselinks.rb
         
     | 
| 
       103 
282 
     | 
    
         
             
            - lib/wiselinks/controller_methods.rb
         
     | 
| 
         @@ -106,6 +285,7 @@ files: 
     | 
|
| 
       106 
285 
     | 
    
         
             
            - lib/wiselinks/rails.rb
         
     | 
| 
       107 
286 
     | 
    
         
             
            - lib/wiselinks/rendering.rb
         
     | 
| 
       108 
287 
     | 
    
         
             
            - lib/wiselinks/request.rb
         
     | 
| 
      
 288 
     | 
    
         
            +
            - lib/wiselinks/version.rb
         
     | 
| 
       109 
289 
     | 
    
         
             
            - spec/cases/helpers_spec.rb
         
     | 
| 
       110 
290 
     | 
    
         
             
            - spec/cases/request_spec.rb
         
     | 
| 
       111 
291 
     | 
    
         
             
            - spec/dummy/README.rdoc
         
     | 
| 
         @@ -187,13 +367,16 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       187 
367 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       188 
368 
     | 
    
         
             
                  segments:
         
     | 
| 
       189 
369 
     | 
    
         
             
                  - 0
         
     | 
| 
       190 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 370 
     | 
    
         
            +
                  hash: -4102542331087791928
         
     | 
| 
       191 
371 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       192 
372 
     | 
    
         
             
              none: false
         
     | 
| 
       193 
373 
     | 
    
         
             
              requirements:
         
     | 
| 
       194 
374 
     | 
    
         
             
              - - ! '>='
         
     | 
| 
       195 
375 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       196 
376 
     | 
    
         
             
                  version: '0'
         
     | 
| 
      
 377 
     | 
    
         
            +
                  segments:
         
     | 
| 
      
 378 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 379 
     | 
    
         
            +
                  hash: -4102542331087791928
         
     | 
| 
       197 
380 
     | 
    
         
             
            requirements: []
         
     | 
| 
       198 
381 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       199 
382 
     | 
    
         
             
            rubygems_version: 1.8.24
         
     | 
| 
         @@ -201,4 +384,68 @@ signing_key: 
     | 
|
| 
       201 
384 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       202 
385 
     | 
    
         
             
            summary: Wiselinks makes following links and submitting some forms in your web application
         
     | 
| 
       203 
386 
     | 
    
         
             
              smarter and faster
         
     | 
| 
       204 
     | 
    
         
            -
            test_files: 
     | 
| 
      
 387 
     | 
    
         
            +
            test_files:
         
     | 
| 
      
 388 
     | 
    
         
            +
            - spec/cases/helpers_spec.rb
         
     | 
| 
      
 389 
     | 
    
         
            +
            - spec/cases/request_spec.rb
         
     | 
| 
      
 390 
     | 
    
         
            +
            - spec/dummy/README.rdoc
         
     | 
| 
      
 391 
     | 
    
         
            +
            - spec/dummy/Rakefile
         
     | 
| 
      
 392 
     | 
    
         
            +
            - spec/dummy/app/assets/javascripts/application.js.coffee
         
     | 
| 
      
 393 
     | 
    
         
            +
            - spec/dummy/app/assets/stylesheets/application.css
         
     | 
| 
      
 394 
     | 
    
         
            +
            - spec/dummy/app/controllers/application_controller.rb
         
     | 
| 
      
 395 
     | 
    
         
            +
            - spec/dummy/app/helpers/application_helper.rb
         
     | 
| 
      
 396 
     | 
    
         
            +
            - spec/dummy/app/mailers/.gitkeep
         
     | 
| 
      
 397 
     | 
    
         
            +
            - spec/dummy/app/models/.gitkeep
         
     | 
| 
      
 398 
     | 
    
         
            +
            - spec/dummy/app/views/application/index.html.erb
         
     | 
| 
      
 399 
     | 
    
         
            +
            - spec/dummy/app/views/layouts/application.html.erb
         
     | 
| 
      
 400 
     | 
    
         
            +
            - spec/dummy/config.ru
         
     | 
| 
      
 401 
     | 
    
         
            +
            - spec/dummy/config/application.rb
         
     | 
| 
      
 402 
     | 
    
         
            +
            - spec/dummy/config/boot.rb
         
     | 
| 
      
 403 
     | 
    
         
            +
            - spec/dummy/config/database.yml
         
     | 
| 
      
 404 
     | 
    
         
            +
            - spec/dummy/config/environment.rb
         
     | 
| 
      
 405 
     | 
    
         
            +
            - spec/dummy/config/environments/development.rb
         
     | 
| 
      
 406 
     | 
    
         
            +
            - spec/dummy/config/environments/production.rb
         
     | 
| 
      
 407 
     | 
    
         
            +
            - spec/dummy/config/environments/test.rb
         
     | 
| 
      
 408 
     | 
    
         
            +
            - spec/dummy/config/initializers/backtrace_silencers.rb
         
     | 
| 
      
 409 
     | 
    
         
            +
            - spec/dummy/config/initializers/inflections.rb
         
     | 
| 
      
 410 
     | 
    
         
            +
            - spec/dummy/config/initializers/mime_types.rb
         
     | 
| 
      
 411 
     | 
    
         
            +
            - spec/dummy/config/initializers/secret_token.rb
         
     | 
| 
      
 412 
     | 
    
         
            +
            - spec/dummy/config/initializers/session_store.rb
         
     | 
| 
      
 413 
     | 
    
         
            +
            - spec/dummy/config/initializers/wrap_parameters.rb
         
     | 
| 
      
 414 
     | 
    
         
            +
            - spec/dummy/config/locales/en.yml
         
     | 
| 
      
 415 
     | 
    
         
            +
            - spec/dummy/config/routes.rb
         
     | 
| 
      
 416 
     | 
    
         
            +
            - spec/dummy/lib/assets/.gitkeep
         
     | 
| 
      
 417 
     | 
    
         
            +
            - spec/dummy/log/.gitkeep
         
     | 
| 
      
 418 
     | 
    
         
            +
            - spec/dummy/log/development.log
         
     | 
| 
      
 419 
     | 
    
         
            +
            - spec/dummy/log/test.log
         
     | 
| 
      
 420 
     | 
    
         
            +
            - spec/dummy/public/404.html
         
     | 
| 
      
 421 
     | 
    
         
            +
            - spec/dummy/public/422.html
         
     | 
| 
      
 422 
     | 
    
         
            +
            - spec/dummy/public/500.html
         
     | 
| 
      
 423 
     | 
    
         
            +
            - spec/dummy/public/assets/application-a98e47eb93026a340a766faf55214702.js
         
     | 
| 
      
 424 
     | 
    
         
            +
            - spec/dummy/public/assets/application-a98e47eb93026a340a766faf55214702.js.gz
         
     | 
| 
      
 425 
     | 
    
         
            +
            - spec/dummy/public/assets/application-ecf5beebe0b79251c8be40f0443074f2.css
         
     | 
| 
      
 426 
     | 
    
         
            +
            - spec/dummy/public/assets/application-ecf5beebe0b79251c8be40f0443074f2.css.gz
         
     | 
| 
      
 427 
     | 
    
         
            +
            - spec/dummy/public/assets/application.css
         
     | 
| 
      
 428 
     | 
    
         
            +
            - spec/dummy/public/assets/application.css.gz
         
     | 
| 
      
 429 
     | 
    
         
            +
            - spec/dummy/public/assets/application.js
         
     | 
| 
      
 430 
     | 
    
         
            +
            - spec/dummy/public/assets/application.js.gz
         
     | 
| 
      
 431 
     | 
    
         
            +
            - spec/dummy/public/assets/manifest.yml
         
     | 
| 
      
 432 
     | 
    
         
            +
            - spec/dummy/public/favicon.ico
         
     | 
| 
      
 433 
     | 
    
         
            +
            - spec/dummy/public/javascripts/wisepdf.js
         
     | 
| 
      
 434 
     | 
    
         
            +
            - spec/dummy/public/stylesheets/wisepdf.css
         
     | 
| 
      
 435 
     | 
    
         
            +
            - spec/dummy/script/rails
         
     | 
| 
      
 436 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/C26/0A0/sprockets%2F52456508a38f02f4559064b24980c87a
         
     | 
| 
      
 437 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/C5E/890/sprockets%2Ffb6525457b6873e6905e2d522548091f
         
     | 
| 
      
 438 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/C80/150/sprockets%2F0d3881005b0646df783d5c24683d34f5
         
     | 
| 
      
 439 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
         
     | 
| 
      
 440 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/CF3/250/sprockets%2F7edb1809ce839a3d290508f935c89f42
         
     | 
| 
      
 441 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D09/C40/sprockets%2Fcf317b95ed0500b7277e950a9c0c82e0
         
     | 
| 
      
 442 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
         
     | 
| 
      
 443 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D45/760/sprockets%2Fbc659a6e09b5025e8be539b0b68f71f2
         
     | 
| 
      
 444 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D4E/D00/sprockets%2F1a6846f0a837ae2524e2f9ec89e6ef43
         
     | 
| 
      
 445 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D55/090/sprockets%2F4a21bc343a4696b7603ea4cc25c3c3ba
         
     | 
| 
      
 446 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
         
     | 
| 
      
 447 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/DC2/EB0/sprockets%2F75b4716f479a2acfac51b258fba0c2bd
         
     | 
| 
      
 448 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/DF1/B80/sprockets%2Fcd0ee4f742908cb7223a1e7be4a4ccbc
         
     | 
| 
      
 449 
     | 
    
         
            +
            - spec/dummy/tmp/cache/assets/E11/4E0/sprockets%2F86e145a39f85cceeaffdff91ebb61449
         
     | 
| 
      
 450 
     | 
    
         
            +
            - spec/factories/requests.rb
         
     | 
| 
      
 451 
     | 
    
         
            +
            - spec/helper.rb
         
     |