visa_check 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 902a73b063f2f66d4f6f5424ed1bdd9885fef5ac
4
- data.tar.gz: 9044948f0690e5ea0d26070e0ec478e3fbb3eba2
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjMxZWFmZjVlNjc4MjliZWNiOTE3NTgxNmMxZGQ4ZmJiYTljYWE0ZQ==
5
+ data.tar.gz: !binary |-
6
+ MDY2MzA2ODdhNzc5M2U1OWEzYjY3ZTBjYTJmYjBjOGFhMzI1ZGRlZQ==
5
7
  SHA512:
6
- metadata.gz: a9e0e2d1c307055dc95f4aa4e7b0ffcb809ae8e1df684d2a65d097dddcab99b5f88f4229f75d13cabb75a93aa48747fe1e64fe707f058d8446b1180cbc8a9eff
7
- data.tar.gz: 7f23fb054f1260224d464e2884fa83193fba1866001e00007b7ef2b252b5a696f3fd28e3cadf2806c5415ca69988ab5d11d8d88858c51004fd9b685e819c6adc
8
+ metadata.gz: !binary |-
9
+ ZTk2MTlhYjM0MTU3MjNkMWFlYzZkZDYzNTgxMGM0ZTUwM2RkMDA2MTE3YTVj
10
+ YzBhZmFkOWZhYjEzZmI3MWRlNzQ5ZjNjNDRmMmY0NzkwYWY1N2Y4ZWI0MzUz
11
+ OGI0MTkwNTZhMDZhY2Q3MDdmMTk5ZWI4NzY1NzczOWMzYmUxYzU=
12
+ data.tar.gz: !binary |-
13
+ OGViNThmNzJkNGM2MjljMzAyMTU2NWM5YjBkNWJjMjZjZWVjMzQ2ZWM2MjJl
14
+ MjEyODIxY2YzNDBjNWQ2MjdlNGZiMjU5NjAyYzdjZjE5ZmFiMDk4NDc3MjM5
15
+ OWRkNmNhYzEzMTAyZTkzMjFlYTM3YTkxODRjZDFhOGM3M2JiOGM=
@@ -1,22 +1,37 @@
1
+ # coding: utf-8
1
2
  require 'open-uri'
2
3
  require 'pdf-reader'
4
+ require 'nokogiri'
3
5
 
4
6
  module VisaCheck
5
7
 
6
8
  # VisaCheck::Reader retrieves an online PDF from the consulate and extracts
7
9
  # visa application numbers.
8
10
  class Reader
11
+ HOST = 'm.germania.diplo.de'
12
+ PAGE = 'http://m.germania.diplo.de/Vertretung/russland/de/02-mosk/1-visa/3-nationale-visa/0-nationale-visa.html?r'
9
13
  SOURCE = 'http://m.germania.diplo.de/contentblob/4048654/Daten/4377008/1entschiedenevisumantraege.pdf'
10
14
  USER_AGENT = 'Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0'
11
15
 
16
+ # Fetch a list of application numbers contained in the published document
12
17
  def self.applications
13
18
  pdf_reader.pages.map { |page| page.text.scan /^(\d{7})\s+/ }.flatten
14
19
  end
15
20
 
16
- private
21
+ private
17
22
 
18
23
  def self.pdf_reader
19
- ::PDF::Reader.new open(SOURCE, 'User-Agent' => USER_AGENT)
24
+ PDF::Reader.new open_remotely(pdf_url(PAGE))
25
+ end
26
+
27
+ def self.pdf_url(page)
28
+ doc = Nokogiri::HTML open_remotely(page)
29
+ href = doc.at('a:contains("Entschiedene Visumanträge")')['href']
30
+ URI::HTTP.build host: HOST, path: href
31
+ end
32
+
33
+ def self.open_remotely(source)
34
+ open(source, 'User-Agent' => USER_AGENT)
20
35
  end
21
36
  end
22
37
 
@@ -1,3 +1,3 @@
1
1
  module VisaCheck
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
data/visa_check.gemspec CHANGED
@@ -22,4 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency 'rake'
23
23
 
24
24
  spec.add_runtime_dependency 'pdf-reader'
25
+ spec.add_runtime_dependency 'nokogiri'
25
26
  end
metadata CHANGED
@@ -1,55 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visa_check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - rbq
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-25 00:00:00.000000000 Z
11
+ date: 2014-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pdf-reader
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  description: This Gem reads a list of processed visa applications from the German
@@ -62,8 +76,7 @@ executables:
62
76
  extensions: []
63
77
  extra_rdoc_files: []
64
78
  files:
65
- - ".gitignore"
66
- - ".ruby-version"
79
+ - .gitignore
67
80
  - Gemfile
68
81
  - LICENSE.txt
69
82
  - README.md
@@ -83,17 +96,17 @@ require_paths:
83
96
  - lib
84
97
  required_ruby_version: !ruby/object:Gem::Requirement
85
98
  requirements:
86
- - - ">="
99
+ - - ! '>='
87
100
  - !ruby/object:Gem::Version
88
101
  version: '0'
89
102
  required_rubygems_version: !ruby/object:Gem::Requirement
90
103
  requirements:
91
- - - ">="
104
+ - - ! '>='
92
105
  - !ruby/object:Gem::Version
93
106
  version: '0'
94
107
  requirements: []
95
108
  rubyforge_project:
96
- rubygems_version: 2.2.2
109
+ rubygems_version: 2.3.0
97
110
  signing_key:
98
111
  specification_version: 4
99
112
  summary: Check processed visa applications from the German consulate
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.1.2