authy 2.2.0 → 2.3.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 +58 -0
- data/.rspec +1 -0
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +7 -7
- data/Rakefile +4 -29
- data/VERSION +1 -1
- data/authy.gemspec +24 -75
- data/lib/authy.rb +1 -1
- data/lib/authy/api.rb +11 -13
- data/lib/authy/url_helpers.rb +15 -3
- data/lib/authy/version.rb +3 -0
- data/spec/authy/api_spec.rb +14 -1
- metadata +39 -38
- data/Gemfile.lock +0 -59
    
        data/.gitignore
    ADDED
    
    | @@ -0,0 +1,58 @@ | |
| 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 | 
            +
            # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
         | 
| 19 | 
            +
            #
         | 
| 20 | 
            +
            # * Create a file at ~/.gitignore
         | 
| 21 | 
            +
            # * Include files you want ignored
         | 
| 22 | 
            +
            # * Run: git config --global core.excludesfile ~/.gitignore
         | 
| 23 | 
            +
            #
         | 
| 24 | 
            +
            # After doing this, these files will be ignored in all your git projects,
         | 
| 25 | 
            +
            # saving you from having to 'pollute' every project you touch with them
         | 
| 26 | 
            +
            #
         | 
| 27 | 
            +
            # 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)
         | 
| 28 | 
            +
            #
         | 
| 29 | 
            +
            # For MacOS:
         | 
| 30 | 
            +
            #
         | 
| 31 | 
            +
            .DS_Store
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            # For TextMate
         | 
| 34 | 
            +
            *.tmproj
         | 
| 35 | 
            +
            tmtags
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            # For emacs:
         | 
| 38 | 
            +
            *~
         | 
| 39 | 
            +
            \#*
         | 
| 40 | 
            +
            .\#*
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            # For vim:
         | 
| 43 | 
            +
            *.swp
         | 
| 44 | 
            +
             | 
| 45 | 
            +
            # For redcar:
         | 
| 46 | 
            +
            #.redcar
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            # For rubinius:
         | 
| 49 | 
            +
            #*.rbc
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            *.kdev4
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            examples/db
         | 
| 54 | 
            +
            .ruby-version
         | 
| 55 | 
            +
            .ruby-gemset
         | 
| 56 | 
            +
            .rvmrc
         | 
| 57 | 
            +
            Gemfile.lock
         | 
| 58 | 
            +
             | 
    
        data/.rspec
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/LICENSE.txt
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -14,7 +14,7 @@ Ruby library to access the Authy API | |
| 14 14 | 
             
            ## Registering a user
         | 
| 15 15 |  | 
| 16 16 | 
             
            __NOTE: User is matched based on cellphone and country code not e-mail.
         | 
| 17 | 
            -
            A cellphone is uniquely associated with an authy_id.__ | 
| 17 | 
            +
            A cellphone is uniquely associated with an authy_id.__
         | 
| 18 18 |  | 
| 19 19 |  | 
| 20 20 | 
             
            `Authy::API.register_user` requires the user e-mail address and cellphone. Optionally you can pass in the country_code or we will asume
         | 
| @@ -35,8 +35,8 @@ Assuming you have a `users` database with a `authy_id` field in the `users` data | |
| 35 35 | 
             
            ## Verifying a user
         | 
| 36 36 |  | 
| 37 37 |  | 
| 38 | 
            -
            __NOTE: Token verification is only enforced if the user has completed registration. To change this behaviour see Forcing Verification section below.__ | 
| 39 | 
            -
             | 
| 38 | 
            +
            __NOTE: Token verification is only enforced if the user has completed registration. To change this behaviour see Forcing Verification section below.__
         | 
| 39 | 
            +
             | 
| 40 40 | 
             
               >*Registration is completed once the user installs and registers the Authy mobile app or logins once successfully using SMS.*
         | 
| 41 41 |  | 
| 42 42 | 
             
            `Authy::API.verify` takes the authy_id that you are verifying and the token that you want to verify. You should have the authy_id in your database
         | 
| @@ -50,7 +50,7 @@ __NOTE: Token verification is only enforced if the user has completed registrati | |
| 50 50 | 
             
                  # token is invalid
         | 
| 51 51 | 
             
                end
         | 
| 52 52 | 
             
            ```
         | 
| 53 | 
            -
             | 
| 53 | 
            +
             | 
| 54 54 | 
             
            ### Forcing Verification
         | 
| 55 55 |  | 
| 56 56 | 
             
            If you wish to verify tokens even if the user has not yet complete registration, pass force=true when verifying the token.
         | 
| @@ -58,7 +58,7 @@ If you wish to verify tokens even if the user has not yet complete registration, | |
| 58 58 | 
             
            ```ruby
         | 
| 59 59 | 
             
                response = Authy::API.verify(:id => user.authy_id, :token => 'token-user-entered', :force => true)
         | 
| 60 60 | 
             
            ```
         | 
| 61 | 
            -
             | 
| 61 | 
            +
             | 
| 62 62 | 
             
            ## Requesting a SMS token
         | 
| 63 63 |  | 
| 64 64 | 
             
            `Authy::API.request_sms` takes the authy_id that you want to send a SMS token. This requires Authy SMS plugin to be enabled.
         | 
| @@ -128,7 +128,7 @@ This call will be ignored if the user is using the Authy Mobile App. If you ensu | |
| 128 128 | 
             
            * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
         | 
| 129 129 |  | 
| 130 130 | 
             
            Copyright
         | 
| 131 | 
            -
            == | 
| 131 | 
            +
            ==
         | 
| 132 132 |  | 
| 133 | 
            -
            Copyright (c) 2012 Authy Inc. See LICENSE.txt for
         | 
| 133 | 
            +
            Copyright (c) 2012-2014 Authy Inc. See LICENSE.txt for
         | 
| 134 134 | 
             
            further details.
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,36 +1,14 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'rubygems'
         | 
| 4 | 
            -
            require 'bundler'
         | 
| 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
         | 
| 1 | 
            +
            require 'bundler/gem_tasks'
         | 
| 12 2 | 
             
            require 'rake'
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            require 'jeweler'
         | 
| 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 = "authy"
         | 
| 18 | 
            -
              gem.homepage = "http://github.com/authy/authy"
         | 
| 19 | 
            -
              gem.license = "MIT"
         | 
| 20 | 
            -
              gem.summary = %Q{Ruby library to access Authy services}
         | 
| 21 | 
            -
              gem.description = %Q{Ruby library to access Authy services}
         | 
| 22 | 
            -
              gem.email = "krawek@gmail.com"
         | 
| 23 | 
            -
              gem.authors = ["Authy", "David A. Cuadrado"]
         | 
| 24 | 
            -
              # dependencies defined in Gemfile
         | 
| 25 | 
            -
            end
         | 
| 26 | 
            -
            Jeweler::RubygemsDotOrgTasks.new
         | 
| 27 | 
            -
             | 
| 28 3 | 
             
            require 'rspec/core'
         | 
| 29 4 | 
             
            require 'rspec/core/rake_task'
         | 
| 5 | 
            +
             | 
| 30 6 | 
             
            RSpec::Core::RakeTask.new(:spec) do |spec|
         | 
| 31 7 | 
             
              spec.pattern = FileList['spec/**/*_spec.rb']
         | 
| 32 8 | 
             
            end
         | 
| 33 9 |  | 
| 10 | 
            +
            task :default => :spec
         | 
| 11 | 
            +
             | 
| 34 12 | 
             
            RSpec::Core::RakeTask.new(:rcov) do |spec|
         | 
| 35 13 | 
             
              spec.pattern = 'spec/**/*_spec.rb'
         | 
| 36 14 | 
             
              spec.rcov = true
         | 
| @@ -43,8 +21,6 @@ Reek::Rake::Task.new do |t| | |
| 43 21 | 
             
              t.source_files = 'lib/**/*.rb'
         | 
| 44 22 | 
             
            end
         | 
| 45 23 |  | 
| 46 | 
            -
            task :default => :spec
         | 
| 47 | 
            -
             | 
| 48 24 | 
             
            require 'yard'
         | 
| 49 25 | 
             
            YARD::Rake::YardocTask.new
         | 
| 50 26 |  | 
| @@ -53,4 +29,3 @@ task :simplecov do | |
| 53 29 | 
             
              ENV['COVERAGE'] = "true"
         | 
| 54 30 | 
             
              Rake::Task['spec'].execute
         | 
| 55 31 | 
             
            end
         | 
| 56 | 
            -
             | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2. | 
| 1 | 
            +
            2.3.0
         | 
    
        data/authy.gemspec
    CHANGED
    
    | @@ -1,83 +1,32 @@ | |
| 1 | 
            -
            # Generated by jeweler
         | 
| 2 | 
            -
            # DO NOT EDIT THIS FILE DIRECTLY
         | 
| 3 | 
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         | 
| 4 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            +
            $:.push File.expand_path("../lib", __FILE__)
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'authy/version'
         | 
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 | 
            -
              s.name | 
| 8 | 
            -
              s.version | 
| 7 | 
            +
              s.name        = "authy"
         | 
| 8 | 
            +
              s.version     = Authy::VERSION
         | 
| 9 | 
            +
              s.authors     = ["Authy Inc"]
         | 
| 10 | 
            +
              s.email       = ["support@authy.com"]
         | 
| 11 | 
            +
              s.homepage    = "https://github.com/authy/authy-ruby"
         | 
| 12 | 
            +
              s.summary     = %q{Ruby library to access Authy services}
         | 
| 13 | 
            +
              s.description = %q{Ruby library to access Authy services}
         | 
| 14 | 
            +
              s.license = 'MIT'
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              s.rubyforge_project = "authy"
         | 
| 9 17 |  | 
| 10 | 
            -
              s. | 
| 11 | 
            -
              s. | 
| 12 | 
            -
              s. | 
| 13 | 
            -
              s.description = "Ruby library to access Authy services"
         | 
| 14 | 
            -
              s.email = "krawek@gmail.com"
         | 
| 15 | 
            -
              s.executables = ["authy-api-console"]
         | 
| 16 | 
            -
              s.extra_rdoc_files = [
         | 
| 17 | 
            -
                "LICENSE.txt",
         | 
| 18 | 
            -
                "README.md"
         | 
| 19 | 
            -
              ]
         | 
| 20 | 
            -
              s.files = [
         | 
| 21 | 
            -
                ".document",
         | 
| 22 | 
            -
                ".rspec",
         | 
| 23 | 
            -
                "Gemfile",
         | 
| 24 | 
            -
                "Gemfile.lock",
         | 
| 25 | 
            -
                "LICENSE.txt",
         | 
| 26 | 
            -
                "README.md",
         | 
| 27 | 
            -
                "Rakefile",
         | 
| 28 | 
            -
                "VERSION",
         | 
| 29 | 
            -
                "authy.gemspec",
         | 
| 30 | 
            -
                "bin/authy-api-console",
         | 
| 31 | 
            -
                "examples/demo.rb",
         | 
| 32 | 
            -
                "lib/authy.rb",
         | 
| 33 | 
            -
                "lib/authy/api.rb",
         | 
| 34 | 
            -
                "lib/authy/config.rb",
         | 
| 35 | 
            -
                "lib/authy/core_ext.rb",
         | 
| 36 | 
            -
                "lib/authy/models/user.rb",
         | 
| 37 | 
            -
                "lib/authy/response.rb",
         | 
| 38 | 
            -
                "lib/authy/url_helpers.rb",
         | 
| 39 | 
            -
                "spec/authy/api_spec.rb",
         | 
| 40 | 
            -
                "spec/authy/response_spec.rb",
         | 
| 41 | 
            -
                "spec/authy/url_helpers_spec.rb",
         | 
| 42 | 
            -
                "spec/spec_helper.rb"
         | 
| 43 | 
            -
              ]
         | 
| 44 | 
            -
              s.homepage = "http://github.com/authy/authy"
         | 
| 45 | 
            -
              s.licenses = ["MIT"]
         | 
| 18 | 
            +
              s.files         = `git ls-files`.split("\n")
         | 
| 19 | 
            +
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 20 | 
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 46 21 | 
             
              s.require_paths = ["lib"]
         | 
| 47 | 
            -
              s.rubygems_version = "1.8.24"
         | 
| 48 | 
            -
              s.summary = "Ruby library to access Authy services"
         | 
| 49 22 |  | 
| 50 | 
            -
               | 
| 51 | 
            -
                s.specification_version = 3
         | 
| 23 | 
            +
              s.add_dependency('httpclient', '>= 2.3.4')
         | 
| 52 24 |  | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
                  s.add_development_dependency(%q<simplecov>, [">= 0"])
         | 
| 61 | 
            -
                  s.add_development_dependency(%q<reek>, [">= 0"])
         | 
| 62 | 
            -
                else
         | 
| 63 | 
            -
                  s.add_dependency(%q<httpclient>, [">= 2.2.6"])
         | 
| 64 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 65 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 66 | 
            -
                  s.add_dependency(%q<yard>, [">= 0"])
         | 
| 67 | 
            -
                  s.add_dependency(%q<rdoc>, [">= 0"])
         | 
| 68 | 
            -
                  s.add_dependency(%q<jeweler>, [">= 0"])
         | 
| 69 | 
            -
                  s.add_dependency(%q<simplecov>, [">= 0"])
         | 
| 70 | 
            -
                  s.add_dependency(%q<reek>, [">= 0"])
         | 
| 71 | 
            -
                end
         | 
| 72 | 
            -
              else
         | 
| 73 | 
            -
                s.add_dependency(%q<httpclient>, [">= 2.2.6"])
         | 
| 74 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 75 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 76 | 
            -
                s.add_dependency(%q<yard>, [">= 0"])
         | 
| 77 | 
            -
                s.add_dependency(%q<rdoc>, [">= 0"])
         | 
| 78 | 
            -
                s.add_dependency(%q<jeweler>, [">= 0"])
         | 
| 79 | 
            -
                s.add_dependency(%q<simplecov>, [">= 0"])
         | 
| 80 | 
            -
                s.add_dependency(%q<reek>, [">= 0"])
         | 
| 81 | 
            -
              end
         | 
| 25 | 
            +
              s.add_development_dependency('rake')
         | 
| 26 | 
            +
              s.add_development_dependency('rspec')
         | 
| 27 | 
            +
              s.add_development_dependency('pry')
         | 
| 28 | 
            +
              s.add_development_dependency('yard')
         | 
| 29 | 
            +
              s.add_development_dependency('rdoc')
         | 
| 30 | 
            +
              s.add_development_dependency('simplecov')
         | 
| 31 | 
            +
              s.add_development_dependency('reek')
         | 
| 82 32 | 
             
            end
         | 
| 83 | 
            -
             | 
    
        data/lib/authy.rb
    CHANGED
    
    
    
        data/lib/authy/api.rb
    CHANGED
    
    | @@ -88,7 +88,7 @@ module Authy | |
| 88 88 | 
             
                  response = if state
         | 
| 89 89 | 
             
                               url = "#{Authy.api_uri}/#{eval_uri(uri, params)}"
         | 
| 90 90 | 
             
                               params = clean_uri_params(uri_params, params)
         | 
| 91 | 
            -
                               http_client.get(url, {:api_key => Authy.api_key}.merge(params))
         | 
| 91 | 
            +
                               http_client.get(url, escape_params({:api_key => Authy.api_key}.merge(params)))
         | 
| 92 92 | 
             
                             else
         | 
| 93 93 | 
             
                               build_error_response(error)
         | 
| 94 94 | 
             
                             end
         | 
| @@ -96,18 +96,16 @@ module Authy | |
| 96 96 | 
             
                end
         | 
| 97 97 |  | 
| 98 98 | 
             
                def self.build_error_response(error = "blank uri param found")
         | 
| 99 | 
            -
                  OpenStruct.new(
         | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
                                   }.to_json
         | 
| 110 | 
            -
                                 })
         | 
| 99 | 
            +
                  OpenStruct.new({
         | 
| 100 | 
            +
                    'status' => 400,
         | 
| 101 | 
            +
                    'body' => {
         | 
| 102 | 
            +
                      'success' => false,
         | 
| 103 | 
            +
                      'message' => error,
         | 
| 104 | 
            +
                      'errors' => {
         | 
| 105 | 
            +
                        'message' => error
         | 
| 106 | 
            +
                      }
         | 
| 107 | 
            +
                    }.to_json
         | 
| 108 | 
            +
                  })
         | 
| 111 109 | 
             
                end
         | 
| 112 110 | 
             
              end
         | 
| 113 111 | 
             
            end
         | 
    
        data/lib/authy/url_helpers.rb
    CHANGED
    
    | @@ -14,20 +14,22 @@ module Authy | |
| 14 14 | 
             
                  end
         | 
| 15 15 |  | 
| 16 16 | 
             
                  def eval_uri(uri, params = {})
         | 
| 17 | 
            -
                    uri.gsub(/:\w+/)  | 
| 17 | 
            +
                    uri.gsub(/:\w+/) do |s|
         | 
| 18 | 
            +
                      param_name = s.gsub(":", "")
         | 
| 19 | 
            +
                      HTTP::Message.escape(params[param_name].to_s)
         | 
| 20 | 
            +
                    end
         | 
| 18 21 | 
             
                  end
         | 
| 19 22 |  | 
| 20 23 | 
             
                  def validate_for_url(names, to_validate = {})
         | 
| 21 24 | 
             
                    names.each do |name|
         | 
| 22 25 | 
             
                      value = to_validate[name]
         | 
| 23 26 | 
             
                      if value.nil? or value.to_s.empty? or value.to_s.split(" ").size == 0
         | 
| 24 | 
            -
                        puts "#{name} param is blank."
         | 
| 25 27 | 
             
                        return [ false, "#{name} is blank." ]
         | 
| 26 28 | 
             
                      end
         | 
| 27 29 | 
             
                    end
         | 
| 28 30 | 
             
                    [ true, ""]
         | 
| 29 31 | 
             
                  end
         | 
| 30 | 
            -
             | 
| 32 | 
            +
             | 
| 31 33 | 
             
                  def escape_for_url(field)
         | 
| 32 34 | 
             
                    URI.escape(field.to_s.strip, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
         | 
| 33 35 | 
             
                  end
         | 
| @@ -50,6 +52,16 @@ module Authy | |
| 50 52 | 
             
                    end
         | 
| 51 53 | 
             
                  end
         | 
| 52 54 |  | 
| 55 | 
            +
                  def escape_params(params)
         | 
| 56 | 
            +
                    params.each do |attr, value|
         | 
| 57 | 
            +
                      if value.kind_of?(String)
         | 
| 58 | 
            +
                        params[attr] = HTTP::Message.escape(value)
         | 
| 59 | 
            +
                      elsif value.kind_of?(Hash)
         | 
| 60 | 
            +
                        escape_params(value)
         | 
| 61 | 
            +
                      end
         | 
| 62 | 
            +
                    end
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
             | 
| 53 65 | 
             
                  # Copied and extended from httpclient's HTTP::Message#escape_query()
         | 
| 54 66 | 
             
                  def escape_query(query, namespace = nil) # :nodoc:
         | 
| 55 67 | 
             
                    pairs = []
         | 
    
        data/spec/authy/api_spec.rb
    CHANGED
    
    | @@ -58,6 +58,19 @@ describe "Authy::API" do | |
| 58 58 | 
             
                  response.should_not be_ok
         | 
| 59 59 | 
             
                  response.errors['message'].should =~ /invalid api key/i
         | 
| 60 60 | 
             
                end
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                it "should escape the params" do
         | 
| 63 | 
            +
                  expect {
         | 
| 64 | 
            +
                    Authy::API.verify(:token => '[=#%@$&#(!@);.,', :id => @user['id'])
         | 
| 65 | 
            +
                  }.to_not raise_error
         | 
| 66 | 
            +
                end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                it "should fail if a param is missing" do
         | 
| 69 | 
            +
                  response = Authy::API.verify(:id => @user['id'])
         | 
| 70 | 
            +
                  response.should be_kind_of(Authy::Response)
         | 
| 71 | 
            +
                  response.should_not be_ok
         | 
| 72 | 
            +
                  response["message"] =~ /token is blank/
         | 
| 73 | 
            +
                end
         | 
| 61 74 | 
             
              end
         | 
| 62 75 |  | 
| 63 76 | 
             
              ["sms", "phone_call"].each do |kind|
         | 
| @@ -71,7 +84,7 @@ describe "Authy::API" do | |
| 71 84 | 
             
                  it "should request a #{title} token" do
         | 
| 72 85 | 
             
                    uri_param = kind == "phone_call" ? "call" : kind
         | 
| 73 86 | 
             
                    url = "#{Authy.api_uri}/protected/json/#{uri_param}/#{Authy::API.escape_for_url(@user.id)}"
         | 
| 74 | 
            -
                    HTTPClient.any_instance.should_receive(:request).with(:get, url, {:query=>{:api_key=> Authy.api_key}, :header=>nil, :follow_redirect=>nil}) {  | 
| 87 | 
            +
                    HTTPClient.any_instance.should_receive(:request).with(:get, url, {:query=>{:api_key=> Authy.api_key}, :header=>nil, :follow_redirect=>nil}) { double(:ok? => true, :body => "", :status => 200) }
         | 
| 75 88 | 
             
                    response = Authy::API.send("request_#{kind}", :id => @user.id)
         | 
| 76 89 | 
             
                    response.should be_ok
         | 
| 77 90 | 
             
                  end
         | 
    
        metadata
    CHANGED
    
    | @@ -2,42 +2,41 @@ | |
| 2 2 | 
             
            name: authy
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 4 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 2. | 
| 5 | 
            +
              version: 2.3.0
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| 8 | 
            -
            - Authy
         | 
| 9 | 
            -
            - David A. Cuadrado
         | 
| 8 | 
            +
            - Authy Inc
         | 
| 10 9 | 
             
            autorequire: 
         | 
| 11 10 | 
             
            bindir: bin
         | 
| 12 11 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date:  | 
| 12 | 
            +
            date: 2014-02-19 00:00:00.000000000 Z
         | 
| 14 13 | 
             
            dependencies:
         | 
| 15 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            +
              prerelease: false
         | 
| 16 | 
            +
              type: :runtime
         | 
| 16 17 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 17 18 | 
             
                none: false
         | 
| 18 19 | 
             
                requirements:
         | 
| 19 20 | 
             
                - - ! '>='
         | 
| 20 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: 2. | 
| 22 | 
            +
                    version: 2.3.4
         | 
| 22 23 | 
             
              name: httpclient
         | 
| 23 | 
            -
              type: :runtime
         | 
| 24 | 
            -
              prerelease: false
         | 
| 25 24 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 26 25 | 
             
                none: false
         | 
| 27 26 | 
             
                requirements:
         | 
| 28 27 | 
             
                - - ! '>='
         | 
| 29 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 30 | 
            -
                    version: 2. | 
| 29 | 
            +
                    version: 2.3.4
         | 
| 31 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 | 
            +
              prerelease: false
         | 
| 32 | 
            +
              type: :development
         | 
| 32 33 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 33 34 | 
             
                none: false
         | 
| 34 35 | 
             
                requirements:
         | 
| 35 36 | 
             
                - - ! '>='
         | 
| 36 37 | 
             
                  - !ruby/object:Gem::Version
         | 
| 37 38 | 
             
                    version: '0'
         | 
| 38 | 
            -
              name:  | 
| 39 | 
            -
              type: :development
         | 
| 40 | 
            -
              prerelease: false
         | 
| 39 | 
            +
              name: rake
         | 
| 41 40 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 42 41 | 
             
                none: false
         | 
| 43 42 | 
             
                requirements:
         | 
| @@ -45,15 +44,15 @@ dependencies: | |
| 45 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 45 | 
             
                    version: '0'
         | 
| 47 46 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 | 
            +
              prerelease: false
         | 
| 48 | 
            +
              type: :development
         | 
| 48 49 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 49 50 | 
             
                none: false
         | 
| 50 51 | 
             
                requirements:
         | 
| 51 52 | 
             
                - - ! '>='
         | 
| 52 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 53 54 | 
             
                    version: '0'
         | 
| 54 | 
            -
              name:  | 
| 55 | 
            -
              type: :development
         | 
| 56 | 
            -
              prerelease: false
         | 
| 55 | 
            +
              name: rspec
         | 
| 57 56 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 57 | 
             
                none: false
         | 
| 59 58 | 
             
                requirements:
         | 
| @@ -61,15 +60,15 @@ dependencies: | |
| 61 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 62 61 | 
             
                    version: '0'
         | 
| 63 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 | 
            +
              prerelease: false
         | 
| 64 | 
            +
              type: :development
         | 
| 64 65 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 66 | 
             
                none: false
         | 
| 66 67 | 
             
                requirements:
         | 
| 67 68 | 
             
                - - ! '>='
         | 
| 68 69 | 
             
                  - !ruby/object:Gem::Version
         | 
| 69 70 | 
             
                    version: '0'
         | 
| 70 | 
            -
              name:  | 
| 71 | 
            -
              type: :development
         | 
| 72 | 
            -
              prerelease: false
         | 
| 71 | 
            +
              name: pry
         | 
| 73 72 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 74 73 | 
             
                none: false
         | 
| 75 74 | 
             
                requirements:
         | 
| @@ -77,15 +76,15 @@ dependencies: | |
| 77 76 | 
             
                  - !ruby/object:Gem::Version
         | 
| 78 77 | 
             
                    version: '0'
         | 
| 79 78 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 79 | 
            +
              prerelease: false
         | 
| 80 | 
            +
              type: :development
         | 
| 80 81 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 81 82 | 
             
                none: false
         | 
| 82 83 | 
             
                requirements:
         | 
| 83 84 | 
             
                - - ! '>='
         | 
| 84 85 | 
             
                  - !ruby/object:Gem::Version
         | 
| 85 86 | 
             
                    version: '0'
         | 
| 86 | 
            -
              name:  | 
| 87 | 
            -
              type: :development
         | 
| 88 | 
            -
              prerelease: false
         | 
| 87 | 
            +
              name: yard
         | 
| 89 88 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 90 89 | 
             
                none: false
         | 
| 91 90 | 
             
                requirements:
         | 
| @@ -93,15 +92,15 @@ dependencies: | |
| 93 92 | 
             
                  - !ruby/object:Gem::Version
         | 
| 94 93 | 
             
                    version: '0'
         | 
| 95 94 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 95 | 
            +
              prerelease: false
         | 
| 96 | 
            +
              type: :development
         | 
| 96 97 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 97 98 | 
             
                none: false
         | 
| 98 99 | 
             
                requirements:
         | 
| 99 100 | 
             
                - - ! '>='
         | 
| 100 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 101 102 | 
             
                    version: '0'
         | 
| 102 | 
            -
              name:  | 
| 103 | 
            -
              type: :development
         | 
| 104 | 
            -
              prerelease: false
         | 
| 103 | 
            +
              name: rdoc
         | 
| 105 104 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 106 105 | 
             
                none: false
         | 
| 107 106 | 
             
                requirements:
         | 
| @@ -109,6 +108,8 @@ dependencies: | |
| 109 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 109 | 
             
                    version: '0'
         | 
| 111 110 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 111 | 
            +
              prerelease: false
         | 
| 112 | 
            +
              type: :development
         | 
| 112 113 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 113 114 | 
             
                none: false
         | 
| 114 115 | 
             
                requirements:
         | 
| @@ -116,8 +117,6 @@ dependencies: | |
| 116 117 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 118 | 
             
                    version: '0'
         | 
| 118 119 | 
             
              name: simplecov
         | 
| 119 | 
            -
              type: :development
         | 
| 120 | 
            -
              prerelease: false
         | 
| 121 120 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 122 121 | 
             
                none: false
         | 
| 123 122 | 
             
                requirements:
         | 
| @@ -125,6 +124,8 @@ dependencies: | |
| 125 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 126 125 | 
             
                    version: '0'
         | 
| 127 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 | 
            +
              prerelease: false
         | 
| 128 | 
            +
              type: :development
         | 
| 128 129 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 129 130 | 
             
                none: false
         | 
| 130 131 | 
             
                requirements:
         | 
| @@ -132,8 +133,6 @@ dependencies: | |
| 132 133 | 
             
                  - !ruby/object:Gem::Version
         | 
| 133 134 | 
             
                    version: '0'
         | 
| 134 135 | 
             
              name: reek
         | 
| 135 | 
            -
              type: :development
         | 
| 136 | 
            -
              prerelease: false
         | 
| 137 136 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 138 137 | 
             
                none: false
         | 
| 139 138 | 
             
                requirements:
         | 
| @@ -141,18 +140,17 @@ dependencies: | |
| 141 140 | 
             
                  - !ruby/object:Gem::Version
         | 
| 142 141 | 
             
                    version: '0'
         | 
| 143 142 | 
             
            description: Ruby library to access Authy services
         | 
| 144 | 
            -
            email: | 
| 143 | 
            +
            email:
         | 
| 144 | 
            +
            - support@authy.com
         | 
| 145 145 | 
             
            executables:
         | 
| 146 146 | 
             
            - authy-api-console
         | 
| 147 147 | 
             
            extensions: []
         | 
| 148 | 
            -
            extra_rdoc_files:
         | 
| 149 | 
            -
            - LICENSE.txt
         | 
| 150 | 
            -
            - README.md
         | 
| 148 | 
            +
            extra_rdoc_files: []
         | 
| 151 149 | 
             
            files:
         | 
| 152 150 | 
             
            - .document
         | 
| 151 | 
            +
            - .gitignore
         | 
| 153 152 | 
             
            - .rspec
         | 
| 154 153 | 
             
            - Gemfile
         | 
| 155 | 
            -
            - Gemfile.lock
         | 
| 156 154 | 
             
            - LICENSE.txt
         | 
| 157 155 | 
             
            - README.md
         | 
| 158 156 | 
             
            - Rakefile
         | 
| @@ -167,11 +165,12 @@ files: | |
| 167 165 | 
             
            - lib/authy/models/user.rb
         | 
| 168 166 | 
             
            - lib/authy/response.rb
         | 
| 169 167 | 
             
            - lib/authy/url_helpers.rb
         | 
| 168 | 
            +
            - lib/authy/version.rb
         | 
| 170 169 | 
             
            - spec/authy/api_spec.rb
         | 
| 171 170 | 
             
            - spec/authy/response_spec.rb
         | 
| 172 171 | 
             
            - spec/authy/url_helpers_spec.rb
         | 
| 173 172 | 
             
            - spec/spec_helper.rb
         | 
| 174 | 
            -
            homepage:  | 
| 173 | 
            +
            homepage: https://github.com/authy/authy-ruby
         | 
| 175 174 | 
             
            licenses:
         | 
| 176 175 | 
             
            - MIT
         | 
| 177 176 | 
             
            post_install_message: 
         | 
| @@ -183,9 +182,6 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 183 182 | 
             
              requirements:
         | 
| 184 183 | 
             
              - - ! '>='
         | 
| 185 184 | 
             
                - !ruby/object:Gem::Version
         | 
| 186 | 
            -
                  segments:
         | 
| 187 | 
            -
                  - 0
         | 
| 188 | 
            -
                  hash: -1090702034643817061
         | 
| 189 185 | 
             
                  version: '0'
         | 
| 190 186 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 191 187 | 
             
              none: false
         | 
| @@ -194,9 +190,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 194 190 | 
             
                - !ruby/object:Gem::Version
         | 
| 195 191 | 
             
                  version: '0'
         | 
| 196 192 | 
             
            requirements: []
         | 
| 197 | 
            -
            rubyforge_project: 
         | 
| 193 | 
            +
            rubyforge_project: authy
         | 
| 198 194 | 
             
            rubygems_version: 1.8.24
         | 
| 199 195 | 
             
            signing_key: 
         | 
| 200 196 | 
             
            specification_version: 3
         | 
| 201 197 | 
             
            summary: Ruby library to access Authy services
         | 
| 202 | 
            -
            test_files: | 
| 198 | 
            +
            test_files:
         | 
| 199 | 
            +
            - spec/authy/api_spec.rb
         | 
| 200 | 
            +
            - spec/authy/response_spec.rb
         | 
| 201 | 
            +
            - spec/authy/url_helpers_spec.rb
         | 
| 202 | 
            +
            - spec/spec_helper.rb
         | 
| 203 | 
            +
            has_rdoc: 
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,59 +0,0 @@ | |
| 1 | 
            -
            GEM
         | 
| 2 | 
            -
              remote: http://rubygems.org/
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                coderay (1.0.9)
         | 
| 5 | 
            -
                diff-lcs (1.2.4)
         | 
| 6 | 
            -
                git (1.2.5)
         | 
| 7 | 
            -
                httpclient (2.3.3)
         | 
| 8 | 
            -
                jeweler (1.8.4)
         | 
| 9 | 
            -
                  bundler (~> 1.0)
         | 
| 10 | 
            -
                  git (>= 1.2.5)
         | 
| 11 | 
            -
                  rake
         | 
| 12 | 
            -
                  rdoc
         | 
| 13 | 
            -
                json (1.8.0)
         | 
| 14 | 
            -
                method_source (0.8.1)
         | 
| 15 | 
            -
                multi_json (1.7.5)
         | 
| 16 | 
            -
                pry (0.9.12.2)
         | 
| 17 | 
            -
                  coderay (~> 1.0.5)
         | 
| 18 | 
            -
                  method_source (~> 0.8)
         | 
| 19 | 
            -
                  slop (~> 3.4)
         | 
| 20 | 
            -
                rake (10.0.4)
         | 
| 21 | 
            -
                rdoc (4.0.1)
         | 
| 22 | 
            -
                  json (~> 1.4)
         | 
| 23 | 
            -
                reek (1.3.1)
         | 
| 24 | 
            -
                  ruby2ruby (~> 2.0.2)
         | 
| 25 | 
            -
                  ruby_parser (~> 3.1.1)
         | 
| 26 | 
            -
                  sexp_processor
         | 
| 27 | 
            -
                rspec (2.13.0)
         | 
| 28 | 
            -
                  rspec-core (~> 2.13.0)
         | 
| 29 | 
            -
                  rspec-expectations (~> 2.13.0)
         | 
| 30 | 
            -
                  rspec-mocks (~> 2.13.0)
         | 
| 31 | 
            -
                rspec-core (2.13.1)
         | 
| 32 | 
            -
                rspec-expectations (2.13.0)
         | 
| 33 | 
            -
                  diff-lcs (>= 1.1.3, < 2.0)
         | 
| 34 | 
            -
                rspec-mocks (2.13.1)
         | 
| 35 | 
            -
                ruby2ruby (2.0.5)
         | 
| 36 | 
            -
                  ruby_parser (~> 3.1)
         | 
| 37 | 
            -
                  sexp_processor (~> 4.0)
         | 
| 38 | 
            -
                ruby_parser (3.1.3)
         | 
| 39 | 
            -
                  sexp_processor (~> 4.1)
         | 
| 40 | 
            -
                sexp_processor (4.2.1)
         | 
| 41 | 
            -
                simplecov (0.7.1)
         | 
| 42 | 
            -
                  multi_json (~> 1.0)
         | 
| 43 | 
            -
                  simplecov-html (~> 0.7.1)
         | 
| 44 | 
            -
                simplecov-html (0.7.1)
         | 
| 45 | 
            -
                slop (3.4.5)
         | 
| 46 | 
            -
                yard (0.8.6.1)
         | 
| 47 | 
            -
             | 
| 48 | 
            -
            PLATFORMS
         | 
| 49 | 
            -
              ruby
         | 
| 50 | 
            -
             | 
| 51 | 
            -
            DEPENDENCIES
         | 
| 52 | 
            -
              httpclient (>= 2.2.6)
         | 
| 53 | 
            -
              jeweler
         | 
| 54 | 
            -
              pry
         | 
| 55 | 
            -
              rdoc
         | 
| 56 | 
            -
              reek
         | 
| 57 | 
            -
              rspec
         | 
| 58 | 
            -
              simplecov
         | 
| 59 | 
            -
              yard
         |