mernis 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/Rakefile +2 -2
- data/circle.yml +7 -0
- data/lib/mernis.rb +12 -10
- data/lib/mernis/request.rb +13 -9
- data/lib/mernis/version.rb +2 -2
- data/mernis.gemspec +12 -12
- data/spec/mernis/request_spec.rb +24 -20
- metadata +4 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 71b408e2842e604384ce3900fd214fdf7709805c
         | 
| 4 | 
            +
              data.tar.gz: 32ecec460b895bae79be830f91262ee4ab0d2489
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8754779ef890f9e45ccdb6955b3536c6aae908716279ff8950bd0225bf34f4db6f835cc86b8fd53a23aade9d3fe4e2536b3b3bead947cea3b3c5d9fc682c3d15
         | 
| 7 | 
            +
              data.tar.gz: 4d01d9af7fe228bb21a26b07cc7968e492930fa6e857c771bc9be0b611d1e6af588a292af9a2fe12b018d3ac6597fdbd87459ae7a3c386d38ee5f23eed505540
         | 
    
        data/README.md
    CHANGED
    
    | @@ -62,9 +62,9 @@ Returns true if the identity number can be validated and false if not. Both retu | |
| 62 62 |  | 
| 63 63 | 
             
            ```ruby
         | 
| 64 64 | 
             
            gem build mernis.gemspec
         | 
| 65 | 
            -
            gem install ./mernis-1.0. | 
| 66 | 
            -
            gem push mernis-1.0. | 
| 67 | 
            -
            git tag -a v1.0. | 
| 65 | 
            +
            gem install ./mernis-1.0.2.gem
         | 
| 66 | 
            +
            gem push mernis-1.0.2.gem
         | 
| 67 | 
            +
            git tag -a v1.0.2 -m "Major updates"
         | 
| 68 68 | 
             
            git push --tags
         | 
| 69 69 | 
             
            ```
         | 
| 70 70 |  | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/circle.yml
    ADDED
    
    
    
        data/lib/mernis.rb
    CHANGED
    
    | @@ -4,19 +4,21 @@ require 'mernis/version' | |
| 4 4 |  | 
| 5 5 | 
             
            class Mernis
         | 
| 6 6 | 
             
              # Most basic usage:
         | 
| 7 | 
            -
             | 
| 7 | 
            +
              # Mernis.sorgula("12345", "John", "Doe", "1990")
         | 
| 8 8 | 
             
              # Advanced usage:
         | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 9 | 
            +
              # Mernis.sorgula(id_number="12345", first_name="John", last_name="Doe", birth_year="1990",
         | 
| 10 | 
            +
              # version = 2, log = false)
         | 
| 11 11 | 
             
              # Full usage:
         | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 12 | 
            +
              # Mernis.sorgula(id_number="12345", first_name="John", last_name="Doe", birth_year="1990",
         | 
| 13 | 
            +
              # version = 2, open_timeout = 60, read_timeout = 60, log = false,
         | 
| 14 | 
            +
              # wsdl: 'https://somecustomwsdl.com' )
         | 
| 15 15 |  | 
| 16 | 
            -
              def self.sorgula(id_number, first_name, last_name, birth_year, | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
                response = Request.new( | 
| 16 | 
            +
              def self.sorgula(id_number, first_name, last_name, birth_year,
         | 
| 17 | 
            +
                               version = 2, open_timeout = 60, read_timeout = 60, log = true,
         | 
| 18 | 
            +
                               wsdl = 'https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL')
         | 
| 19 | 
            +
                response = Request.new(
         | 
| 20 | 
            +
                  id_number, first_name, last_name, birth_year, version, open_timeout, read_timeout, log, wsdl
         | 
| 21 | 
            +
                )
         | 
| 20 22 | 
             
                response.sorgula
         | 
| 21 23 | 
             
              end
         | 
| 22 24 | 
             
            end
         | 
    
        data/lib/mernis/request.rb
    CHANGED
    
    | @@ -26,15 +26,15 @@ class Request | |
| 26 26 | 
             
                  log: @log
         | 
| 27 27 | 
             
                )
         | 
| 28 28 |  | 
| 29 | 
            -
             | 
| 29 | 
            +
                # Create message pattern
         | 
| 30 30 | 
             
                message = {
         | 
| 31 | 
            -
                   | 
| 32 | 
            -
                   | 
| 33 | 
            -
                   | 
| 34 | 
            -
                   | 
| 31 | 
            +
                  'TCKimlikNo' => @id_number.to_s,
         | 
| 32 | 
            +
                  'Ad' => @first_name.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 33 | 
            +
                  'Soyad' => @last_name.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 34 | 
            +
                  'DogumYili' => @birth_year.to_s
         | 
| 35 35 | 
             
                }
         | 
| 36 36 |  | 
| 37 | 
            -
             | 
| 37 | 
            +
                # Make the SOAP request and handle errors.
         | 
| 38 38 | 
             
                begin
         | 
| 39 39 | 
             
                  response = kps_client.call(:tc_kimlik_no_dogrula, message: message)
         | 
| 40 40 | 
             
                rescue Savon::SOAPFault => error
         | 
| @@ -43,14 +43,18 @@ class Request | |
| 43 43 | 
             
                  puts "HTTP connection error. Error: #{error}"
         | 
| 44 44 | 
             
                end
         | 
| 45 45 |  | 
| 46 | 
            -
             | 
| 46 | 
            +
                # Get the SOAP response and handle errors.
         | 
| 47 47 | 
             
                begin
         | 
| 48 48 | 
             
                  bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
         | 
| 49 49 | 
             
                  return bool_value
         | 
| 50 50 | 
             
                rescue NoMethodError => error
         | 
| 51 | 
            -
                  response.nil? | 
| 51 | 
            +
                  if response.nil?
         | 
| 52 | 
            +
                    puts "Errors occured. Response is nil! Error: #{error}"
         | 
| 53 | 
            +
                  else
         | 
| 54 | 
            +
                    puts "There is an error with the response. Error: #{error}"
         | 
| 55 | 
            +
                  end
         | 
| 52 56 | 
             
                rescue Savon::InvalidResponseError => error
         | 
| 53 57 | 
             
                  puts "Not a valid response! Error: #{error}"
         | 
| 54 58 | 
             
                end
         | 
| 55 59 | 
             
              end
         | 
| 56 | 
            -
            end
         | 
| 60 | 
            +
            end
         | 
    
        data/lib/mernis/version.rb
    CHANGED
    
    | @@ -1,3 +1,3 @@ | |
| 1 1 | 
             
            class Mernis
         | 
| 2 | 
            -
              VERSION =  | 
| 3 | 
            -
            end
         | 
| 2 | 
            +
              VERSION = '1.0.2'.freeze
         | 
| 3 | 
            +
            end
         | 
    
        data/mernis.gemspec
    CHANGED
    
    | @@ -4,23 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | |
| 4 4 | 
             
            require 'mernis/version'
         | 
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 | 
            -
              s.name        =  | 
| 8 | 
            -
              s.version     =  | 
| 7 | 
            +
              s.name        = 'mernis'
         | 
| 8 | 
            +
              s.version     = '1.0.2'
         | 
| 9 9 | 
             
              s.platform    = Gem::Platform::RUBY
         | 
| 10 | 
            -
              s.date        = Time.now.strftime( | 
| 11 | 
            -
              s.summary     =  | 
| 12 | 
            -
              s.description =  | 
| 13 | 
            -
              s.author      =  | 
| 14 | 
            -
              s.email       =  | 
| 15 | 
            -
              s.files       = [ | 
| 16 | 
            -
              s.homepage    =  | 
| 17 | 
            -
              s.licenses    = [ | 
| 10 | 
            +
              s.date        = Time.now.strftime('%Y-%m-%d')
         | 
| 11 | 
            +
              s.summary     = 'SOAP client for KPS [MERNIS] services.'
         | 
| 12 | 
            +
              s.description = 'SOAP client for MERNIS services provided by Ministry of the Interior, Turkey'
         | 
| 13 | 
            +
              s.author      = 'Mustafa Serhat Dündar'
         | 
| 14 | 
            +
              s.email       = 'msdundars@gmail.com'
         | 
| 15 | 
            +
              s.files       = ['lib/mernis.rb', 'lib/mernis/request.rb']
         | 
| 16 | 
            +
              s.homepage    = 'https://github.com/msdundar/mernis'
         | 
| 17 | 
            +
              s.licenses    = ['MIT']
         | 
| 18 18 |  | 
| 19 19 | 
             
              s.files         = `git ls-files -z`.split("\x0")
         | 
| 20 20 | 
             
              s.executables   = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
         | 
| 21 21 | 
             
              s.test_files    = s.files.grep(%r{^(test|spec|features)/})
         | 
| 22 | 
            -
              s.require_paths = [ | 
| 22 | 
            +
              s.require_paths = ['lib']
         | 
| 23 23 |  | 
| 24 | 
            -
              s.add_dependency "savon",  | 
| 24 | 
            +
              s.add_dependency "savon", '~> 2.11'
         | 
| 25 25 | 
             
              s.required_ruby_version = '>= 2.2.0'
         | 
| 26 26 | 
             
            end
         | 
    
        data/spec/mernis/request_spec.rb
    CHANGED
    
    | @@ -14,44 +14,48 @@ describe 'Request' do | |
| 14 14 | 
             
              end
         | 
| 15 15 |  | 
| 16 16 | 
             
              it 'returns true with correct identity' do
         | 
| 17 | 
            -
                response = @client.call(:tc_kimlik_no_dogrula, message: | 
| 18 | 
            -
             | 
| 19 | 
            -
                   | 
| 20 | 
            -
                   | 
| 21 | 
            -
                   | 
| 17 | 
            +
                response = @client.call(:tc_kimlik_no_dogrula, message:
         | 
| 18 | 
            +
                {
         | 
| 19 | 
            +
                  'TCKimlikNo' => '11311152982',
         | 
| 20 | 
            +
                  'Ad' => 'Kuzey Tüner'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 21 | 
            +
                  'Soyad' => 'Şenkul'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 22 | 
            +
                  'DogumYili' => '2014'
         | 
| 22 23 | 
             
                })
         | 
| 23 24 | 
             
                bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
         | 
| 24 25 | 
             
                expect(bool_value).to equal(true)
         | 
| 25 26 | 
             
              end
         | 
| 26 27 |  | 
| 27 28 | 
             
              it 'returns true with downcase characters' do
         | 
| 28 | 
            -
                response = @client.call(:tc_kimlik_no_dogrula, message: | 
| 29 | 
            -
             | 
| 30 | 
            -
                   | 
| 31 | 
            -
                   | 
| 32 | 
            -
                   | 
| 29 | 
            +
                response = @client.call(:tc_kimlik_no_dogrula, message:
         | 
| 30 | 
            +
                {
         | 
| 31 | 
            +
                  'TCKimlikNo' => '11311152982',
         | 
| 32 | 
            +
                  'Ad' => 'kuzey tüner'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 33 | 
            +
                  'Soyad' => 'şenkul'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 34 | 
            +
                  'DogumYili' => '2014'
         | 
| 33 35 | 
             
                })
         | 
| 34 36 | 
             
                bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
         | 
| 35 37 | 
             
                expect(bool_value).to equal(true)
         | 
| 36 38 | 
             
              end
         | 
| 37 39 |  | 
| 38 40 | 
             
              it 'returns true with upcase characters' do
         | 
| 39 | 
            -
                response = @client.call(:tc_kimlik_no_dogrula, message: | 
| 40 | 
            -
             | 
| 41 | 
            -
                   | 
| 42 | 
            -
                   | 
| 43 | 
            -
                   | 
| 41 | 
            +
                response = @client.call(:tc_kimlik_no_dogrula, message:
         | 
| 42 | 
            +
                {
         | 
| 43 | 
            +
                  'TCKimlikNo' => '11311152982',
         | 
| 44 | 
            +
                  'Ad' => 'KUZEY TÜNER'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 45 | 
            +
                  'Soyad' => 'ŞENKUL'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 46 | 
            +
                  'DogumYili' => '2014'
         | 
| 44 47 | 
             
                })
         | 
| 45 48 | 
             
                bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
         | 
| 46 49 | 
             
                expect(bool_value).to equal(true)
         | 
| 47 50 | 
             
              end
         | 
| 48 51 |  | 
| 49 52 | 
             
              it 'returns false with incorrect identity' do
         | 
| 50 | 
            -
                response = @client.call(:tc_kimlik_no_dogrula, message: | 
| 51 | 
            -
             | 
| 52 | 
            -
                   | 
| 53 | 
            -
                   | 
| 54 | 
            -
                   | 
| 53 | 
            +
                response = @client.call(:tc_kimlik_no_dogrula, message:
         | 
| 54 | 
            +
                {
         | 
| 55 | 
            +
                  'TCKimlikNo' => '11311152982',
         | 
| 56 | 
            +
                  'Ad' => 'Kuzey'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 57 | 
            +
                  'Soyad' => 'Şenkul'.tr('ı', 'I').tr('i', 'İ').upcase,
         | 
| 58 | 
            +
                  'DogumYili' => '2014'
         | 
| 55 59 | 
             
                })
         | 
| 56 60 | 
             
                bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
         | 
| 57 61 | 
             
                expect(bool_value).to equal(false)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mernis
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mustafa Serhat Dündar
         | 
| @@ -24,8 +24,8 @@ dependencies: | |
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '2.11'
         | 
| 27 | 
            -
            description: SOAP client for  | 
| 28 | 
            -
               | 
| 27 | 
            +
            description: SOAP client for MERNIS services provided by Ministry of the Interior,
         | 
| 28 | 
            +
              Turkey
         | 
| 29 29 | 
             
            email: msdundars@gmail.com
         | 
| 30 30 | 
             
            executables: []
         | 
| 31 31 | 
             
            extensions: []
         | 
| @@ -37,6 +37,7 @@ files: | |
| 37 37 | 
             
            - Gemfile
         | 
| 38 38 | 
             
            - README.md
         | 
| 39 39 | 
             
            - Rakefile
         | 
| 40 | 
            +
            - circle.yml
         | 
| 40 41 | 
             
            - lib/mernis.rb
         | 
| 41 42 | 
             
            - lib/mernis/request.rb
         | 
| 42 43 | 
             
            - lib/mernis/version.rb
         |