validocno 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/validocno/validator.rb +12 -10
- data/lib/validocno/version.rb +1 -1
- data/lib/validocno.rb +1 -2
- data/spec/validator_spec.rb +1 -1
- data/validocno.gemspec +2 -5
- metadata +4 -5
- data/lib/validocno/http_client.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 380d922205596061a1387b8ec72a756e6f43195b
|
4
|
+
data.tar.gz: 306ad9a51282c97db14d928a9bae1e33f623d1b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f440a4ac776d95c5fbb993e01a93730c26486e5e39d7fbd2c05fed68a53f589df985fbc9c2ec4c18de9c72a3339b2b89792afa0d951b43bde40b9d003855c27a
|
7
|
+
data.tar.gz: 00ca58b680f733117dd27fadf303bd40ded6ffe497bb7bf07ebb58af65676006481dc81771dc2474819b0f00eb480a1152081b80072c0f57e060a1e7971f6f53
|
data/lib/validocno/validator.rb
CHANGED
@@ -3,7 +3,7 @@ module Validocno
|
|
3
3
|
# Set strings to UTF-8 mode
|
4
4
|
$KCODE = 'UTF-8'
|
5
5
|
|
6
|
-
CONTROL_URI = '
|
6
|
+
CONTROL_URI = 'https://politsei.ee/et/teenused/e-paringud/dokumendi-kehtivuse-kontroll/'
|
7
7
|
|
8
8
|
def initialize(doc_number)
|
9
9
|
@doc_number = doc_number
|
@@ -11,10 +11,12 @@ module Validocno
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def csrf_token
|
14
|
-
response =
|
14
|
+
response = RestClient.get(CONTROL_URI)
|
15
15
|
check_response(response)
|
16
16
|
|
17
|
-
|
17
|
+
document = Nokogiri::HTML(response)
|
18
|
+
|
19
|
+
node = document.at_css('form[name="reqForm"] input[name="csrf"]')
|
18
20
|
|
19
21
|
if node.nil? || node['value'].nil?
|
20
22
|
fail StandardError, 'CSRF token was not found on page'
|
@@ -25,17 +27,17 @@ module Validocno
|
|
25
27
|
|
26
28
|
def response_string
|
27
29
|
options = {
|
28
|
-
:
|
29
|
-
|
30
|
-
|
31
|
-
:docNumber => @doc_number
|
32
|
-
}
|
30
|
+
:cmd => 'request',
|
31
|
+
:csrf => @csrf_token,
|
32
|
+
:docNumber => @doc_number
|
33
33
|
}
|
34
34
|
|
35
|
-
response =
|
35
|
+
response = RestClient.post(CONTROL_URI, options)
|
36
36
|
check_response(response)
|
37
37
|
|
38
|
-
|
38
|
+
document = Nokogiri::HTML(response)
|
39
|
+
|
40
|
+
node = document.at_css('#content1left')
|
39
41
|
|
40
42
|
if node.nil? || node.children.empty?
|
41
43
|
fail StandardError, 'Cannot parse document status string.'
|
data/lib/validocno/version.rb
CHANGED
data/lib/validocno.rb
CHANGED
@@ -3,12 +3,11 @@ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless
|
|
3
3
|
$LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
|
4
4
|
|
5
5
|
require 'rubygems'
|
6
|
-
require '
|
6
|
+
require 'rest_client'
|
7
7
|
require 'nokogiri'
|
8
8
|
|
9
9
|
require 'validocno/validator'
|
10
10
|
require 'validocno/version'
|
11
|
-
require 'validocno/http_client'
|
12
11
|
|
13
12
|
module Validocno
|
14
13
|
def self.validate(doc_number)
|
data/spec/validator_spec.rb
CHANGED
@@ -107,7 +107,7 @@ describe Validocno::Validator do
|
|
107
107
|
private
|
108
108
|
|
109
109
|
def mock_response_with(type, response)
|
110
|
-
allow(
|
110
|
+
allow(RestClient).to receive(type) { send("#{response}_response") }
|
111
111
|
allow_any_instance_of(Validocno::Validator).
|
112
112
|
to receive(:check_response) { true }
|
113
113
|
end
|
data/validocno.gemspec
CHANGED
@@ -18,11 +18,8 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
20
|
spec.required_ruby_version = '>= 1.8.7'
|
21
|
-
|
22
|
-
|
23
|
-
else
|
24
|
-
spec.add_dependency 'httparty', '0.11.0'
|
25
|
-
end
|
21
|
+
|
22
|
+
spec.add_dependency 'rest-client'
|
26
23
|
spec.add_dependency 'nokogiri'
|
27
24
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
28
25
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validocno
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Pakk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01
|
11
|
+
date: 2015-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -108,7 +108,6 @@ files:
|
|
108
108
|
- README.md
|
109
109
|
- Rakefile
|
110
110
|
- lib/validocno.rb
|
111
|
-
- lib/validocno/http_client.rb
|
112
111
|
- lib/validocno/validator.rb
|
113
112
|
- lib/validocno/version.rb
|
114
113
|
- rubocop.yml
|
@@ -139,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
138
|
version: '0'
|
140
139
|
requirements: []
|
141
140
|
rubyforge_project:
|
142
|
-
rubygems_version: 2.4.
|
141
|
+
rubygems_version: 2.4.5
|
143
142
|
signing_key:
|
144
143
|
specification_version: 4
|
145
144
|
summary: Estonian ID card validator
|
@@ -1,18 +0,0 @@
|
|
1
|
-
class HtmlParserIncluded < HTTParty::Parser
|
2
|
-
SupportedFormats.merge!('text/html' => :html)
|
3
|
-
|
4
|
-
def html
|
5
|
-
Nokogiri::HTML(body)
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
module Validocno
|
10
|
-
class Client
|
11
|
-
include HTTParty
|
12
|
-
parser HtmlParserIncluded
|
13
|
-
|
14
|
-
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25'
|
15
|
-
|
16
|
-
headers 'Accept-Language' => 'en-US,en;q=0.5', 'User-Agent' => USER_AGENT
|
17
|
-
end
|
18
|
-
end
|