Class: MyRepresentatives::QLD::WebShow
- Inherits:
-
Object
- Object
- MyRepresentatives::QLD::WebShow
show all
- Includes:
- Guessable
- Defined in:
- lib/my_representatives/qld/web_show.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Guessable
#guess_first, #guess_gender, #guess_last, #guess_preferred, #guess_title
Constructor Details
#initialize(url) ⇒ WebShow
Returns a new instance of WebShow.
Instance Attribute Details
#document ⇒ Object
Returns the value of attribute document.
6
7
8
|
# File 'lib/my_representatives/qld/web_show.rb', line 6
def document
@document
end
|
#logger ⇒ Object
Returns the value of attribute logger.
6
7
8
|
# File 'lib/my_representatives/qld/web_show.rb', line 6
def logger
@logger
end
|
#url ⇒ Object
Returns the value of attribute url.
6
7
8
|
# File 'lib/my_representatives/qld/web_show.rb', line 6
def url
@url
end
|
Instance Method Details
#electorate_name ⇒ Object
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'lib/my_representatives/qld/web_show.rb', line 90
def electorate_name
begin
regex = /^\s+([A-Z].+?) -/
text = @document.at('strong:contains("Electorate")').parent.text.strip
match = text.match(regex)
if match
match[1]
else
nil
end
rescue NoMethodError
nil
end
end
|
#email ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/my_representatives/qld/web_show.rb', line 75
def email
begin
regex = /Email: ([email protected])/
text = @document.at('strong:contains("Email:")').parent.text.strip
match = text.match(regex)
if match
match[1]
else
nil
end
rescue NoMethodError
nil
end
end
|
#first_name ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/my_representatives/qld/web_show.rb', line 36
def first_name
begin
guess_first(formal_name)
rescue NoMethodError
nil
end
end
|
20
21
22
23
24
25
26
|
# File 'lib/my_representatives/qld/web_show.rb', line 20
def formal_name
begin
@document.css(".member-heading").css("h1").text
rescue NoMethodError
nil
end
end
|
#homepage_url ⇒ Object
16
17
18
|
# File 'lib/my_representatives/qld/web_show.rb', line 16
def homepage_url
@url
end
|
#image_url ⇒ Object
120
121
122
123
124
125
126
|
# File 'lib/my_representatives/qld/web_show.rb', line 120
def image_url
begin
"https://www.parliament.qld.gov.au"+@document.css("div.member-bio").css("img").attr('src').value.gsub("../../..","")
rescue NoMethodError
nil
end
end
|
#last_name ⇒ Object
52
53
54
55
56
57
58
|
# File 'lib/my_representatives/qld/web_show.rb', line 52
def last_name
begin
guess_last(formal_name)
rescue NoMethodError
nil
end
end
|
#party_name ⇒ Object
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/my_representatives/qld/web_show.rb', line 105
def party_name
begin
regex = /^\s+([A-Z].+?)$/
text = @document.at('strong:contains("Party")').parent.text.strip
match = text.match(regex)
if match
match[1].gsub(/ (\(.+?\))/,"")
else
nil
end
rescue NoMethodError
nil
end
end
|
#phone ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/my_representatives/qld/web_show.rb', line 60
def phone
begin
regex = /Phone: (.+?)[Fax|Email]/
text = @document.at('strong:contains("Phone:")').parent.text.strip
match = text.match(regex)
if match
match[1]
else
nil
end
rescue NoMethodError
nil
end
end
|
#preferred_name ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/my_representatives/qld/web_show.rb', line 44
def preferred_name
begin
guess_preferred(formal_name)
rescue NoMethodError
nil
end
end
|
#title ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/my_representatives/qld/web_show.rb', line 28
def title
begin
guess_title(formal_name)
rescue NoMethodError
nil
end
end
|