brilliant_web_scraper 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/README.md +31 -0
- data/brilliant_web_scraper-1.0.0.gem +0 -0
- data/brilliant_web_scraper-1.0.gem +0 -0
- data/brilliant_web_scraper.gemspec +30 -0
- data/lib/brilliant_web_scraper.rb +55 -0
- data/lib/parsers/description_helper.rb +28 -0
- data/lib/parsers/emails.rb +30 -0
- data/lib/parsers/facebook_profile.rb +11 -0
- data/lib/parsers/instagram_profile.rb +11 -0
- data/lib/parsers/linkedin_profile.rb +11 -0
- data/lib/parsers/meta_description.rb +13 -0
- data/lib/parsers/org_description.rb +13 -0
- data/lib/parsers/phone_numbers.rb +34 -0
- data/lib/parsers/pinterest_profile.rb +11 -0
- data/lib/parsers/redirected_to.rb +29 -0
- data/lib/parsers/title.rb +13 -0
- data/lib/parsers/twitter_description.rb +13 -0
- data/lib/parsers/twitter_profile.rb +11 -0
- data/lib/parsers/unescape_html_helper.rb +17 -0
- data/lib/parsers/vimeo_profile.rb +11 -0
- data/lib/parsers/youtube_channel.rb +29 -0
- data/lib/scraper/errors.rb +19 -0
- data/lib/scraper/scrape_exceptions.rb +49 -0
- data/lib/scraper/scrape_helper.rb +59 -0
- data/lib/scraper/scrape_request.rb +29 -0
- data/lib/version.rb +6 -0
- data/spec/lib/parsers/description_helper_spec.rb +24 -0
- data/spec/lib/parsers/emails_spec.rb +60 -0
- data/spec/lib/parsers/facebook_profile_spec.rb +77 -0
- data/spec/lib/parsers/instagram_profile_spec.rb +45 -0
- data/spec/lib/parsers/linkedin_profile_spec.rb +43 -0
- data/spec/lib/parsers/meta_description_spec.rb +321 -0
- data/spec/lib/parsers/org_description_spec.rb +316 -0
- data/spec/lib/parsers/phone_numbers_spec.rb +69 -0
- data/spec/lib/parsers/pinterest_profile_spec.rb +44 -0
- data/spec/lib/parsers/redirected_to_spec.rb +207 -0
- data/spec/lib/parsers/title_spec.rb +87 -0
- data/spec/lib/parsers/twitter_description_spec.rb +314 -0
- data/spec/lib/parsers/twitter_profile_spec.rb +59 -0
- data/spec/lib/parsers/unescape_html_helper_spec.rb +0 -0
- data/spec/lib/parsers/vimeo_profile_spec.rb +43 -0
- data/spec/lib/parsers/youtube_profile_spec.rb +82 -0
- data/spec/lib/scraper/brilliant_web_scrape_test.rb +66 -0
- data/spec/lib/scraper/scrape_request_test.rb +34 -0
- data/spec/spec_helper.rb +111 -0
- data/spec/vcr/encoding_compatibility_error.yml +316 -0
- data/spec/vcr/invalid_byte_sequence_utf_8.yml +2383 -0
- data/spec/vcr/no_valid_data_to_scrape.yml +109 -0
- data/spec/vcr/non_html_scrape.yml +163 -0
- data/spec/vcr/valid_scrape_response.yml +696 -0
- metadata +250 -0
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Vimeo Profile' do
|
4
|
+
|
5
|
+
class DummyTestClass
|
6
|
+
include VimeoProfile
|
7
|
+
end
|
8
|
+
let(:dummy_object) { DummyTestClass.new }
|
9
|
+
|
10
|
+
it 'should return nil for invalid input' do
|
11
|
+
expect(dummy_object.grep_vimeo_profile(nil)).to be_nil
|
12
|
+
expect(dummy_object.grep_vimeo_profile('')).to be_nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should not grep any non profile url' do
|
16
|
+
html = <<~HTML
|
17
|
+
<a href="https://vimeo.com/" target="_blank">
|
18
|
+
<a href="https://vimeo.com/upgrade" target="_blank">
|
19
|
+
<a href="https://vimeo.com/features" target="_blank">
|
20
|
+
<a href="https://vimeo.com/enterprise/" target="_blank">
|
21
|
+
<a href="https://vimeo.com/upload" target="_blank">
|
22
|
+
<a href="https://vimeo.com/api/v2/" target="_blank">
|
23
|
+
HTML
|
24
|
+
expect(dummy_object.grep_vimeo_profile(html.to_s)).to eq([])
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should grep valid urls' do
|
28
|
+
html = <<~HTML
|
29
|
+
<a href="https://vimeo.com/107578087" target="_blank">
|
30
|
+
<a href="https://vimeo.com/channels/332103" target="_blank">
|
31
|
+
<a href="https://vimeo.com/talech" target="_blank">
|
32
|
+
<a href="https://vimeo.com/292173295/fdb8634a35/" target="_blank">
|
33
|
+
HTML
|
34
|
+
vimeo_profiles = dummy_object.grep_vimeo_profile(html.to_s)
|
35
|
+
expected_profiles = [
|
36
|
+
'https://vimeo.com/107578087',
|
37
|
+
'https://vimeo.com/channels/332103',
|
38
|
+
'https://vimeo.com/talech',
|
39
|
+
'https://vimeo.com/292173295/fdb8634a35/',
|
40
|
+
]
|
41
|
+
expect(vimeo_profiles).to eq(expected_profiles)
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Youtube Profile' do
|
4
|
+
|
5
|
+
class DummyTestClass
|
6
|
+
include YoutubeChannel
|
7
|
+
end
|
8
|
+
let(:dummy_object) { DummyTestClass.new }
|
9
|
+
|
10
|
+
it 'should return nil for invalid input' do
|
11
|
+
expect(dummy_object.grep_youtube_channel(nil)).to be_nil
|
12
|
+
expect(dummy_object.grep_youtube_channel('')).to be_nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should not grep any non profile url' do
|
16
|
+
html = <<~HTML
|
17
|
+
<a href="https://www.youtube.com/embed/" target="_blank">
|
18
|
+
<a href="http://www.youtube.com/player_api?ver=1" target="_blank">
|
19
|
+
<a href="https://www.youtube.com/embed/" target="_blank">
|
20
|
+
<a href="https://www.youtube.com/feeds/videos.xml" target="_blank">
|
21
|
+
<a href="https://www.youtube.com/embed/{{video-id-yt}}" target="_blank">
|
22
|
+
<a href="https://www.youtube.com/embed/$1$3" target="_blank">
|
23
|
+
<a href="https://www.youtube.com/embed/[field_banner_video]" target="_blank">
|
24
|
+
<a href="http://www.youtube.com/" target="_blank">
|
25
|
+
<a href="https://www.youtube.com/?gl=IN&hl=en-GB" target="_blank">
|
26
|
+
<a href="http://www.youtube.com/watch?\\" target="_blank">
|
27
|
+
<a href="http://www.youtube.com/watch?'" target="_blank">
|
28
|
+
<a href="http://www.youtube.com/watch?" target="_blank">
|
29
|
+
<a href="http://www.youtube.com/watch? " target="_blank">
|
30
|
+
<a href="http://www.youtube.com/watch?+" target="_blank">
|
31
|
+
HTML
|
32
|
+
expect(dummy_object.grep_youtube_channel(html.to_s)).to eq([])
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should bring channel starting with id url as channel url' do
|
36
|
+
html = <<~HTML
|
37
|
+
<a href="http://www.youtube.com/idtsemiconductor" target="_blank">
|
38
|
+
HTML
|
39
|
+
expect(dummy_object.grep_youtube_channel(html.to_s)).to eq(['http://www.youtube.com/idtsemiconductor'])
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'Enforce order of YouTube channel url preferce' do
|
44
|
+
it 'should grep /channel-name as channel url(prefered channel url)' do
|
45
|
+
html = <<~HTML
|
46
|
+
<a href="https://www.youtube.com/watch?v=ZPV0JOMX-KI?ie=UTF-8&oe=UTF-8&q=prettyphoto&iframe=true&width=100%&height=100%" target="_blank">
|
47
|
+
<a href="http://www.youtube.com/10Thmagnitude" target="_blank">
|
48
|
+
<a href="https://www.youtube.com/watch?v=TorCiltsk6E&feature=youtu.be" target="_blank">
|
49
|
+
<a href="https://www.youtube.com/embed/D9ZPdSyud2Q" target="_blank">
|
50
|
+
<a href="https://www.youtube.com/channel/UCrwE8kVqtIUVUzKui2WVpuQ" target="_blank">
|
51
|
+
<a href="http://www.youtube.com/c/AnneMariaBello" target="_blank">
|
52
|
+
<a href="https://www.youtube.com/user/BJP4India" target="_blank">
|
53
|
+
<a href="https://www.youtube.com/playlist?list=PLPMCnAPD5b54hbt2JpyOSFdwm_uc2zpzG" target="_blank">
|
54
|
+
<a href="http://youtube.com/subscription_center?add_user=SunnybrookMedia" target="_blank">
|
55
|
+
HTML
|
56
|
+
expected_profiles = [
|
57
|
+
"http://www.youtube.com/10Thmagnitude",
|
58
|
+
"https://www.youtube.com/channel/UCrwE8kVqtIUVUzKui2WVpuQ",
|
59
|
+
"http://www.youtube.com/c/AnneMariaBello",
|
60
|
+
"https://www.youtube.com/user/BJP4India",
|
61
|
+
"https://www.youtube.com/playlist?list=PLPMCnAPD5b54hbt2JpyOSFdwm_uc2zpzG",
|
62
|
+
"http://youtube.com/subscription_center?add_user=SunnybrookMedia"
|
63
|
+
]
|
64
|
+
profiles = dummy_object.grep_youtube_channel(html.to_s)
|
65
|
+
expect(profiles).to eq(expected_profiles)
|
66
|
+
end
|
67
|
+
it 'should grep /watch? url as channel url(2nd choice)' do
|
68
|
+
html = <<~HTML
|
69
|
+
<a href="https://www.youtube.com/embed/D9ZPdSyud2Q" target="_blank">
|
70
|
+
<a href="https://www.youtube.com/watch?v=TorCiltsk6E&feature=youtu.be" target="_blank">
|
71
|
+
<a href="https://www.youtube.com/watch?v=ZPV0JOMX-KI?ie=UTF-8&oe=UTF-8&q=prettyphoto&iframe=true&width=100%&height=100%" target="_blank">
|
72
|
+
HTML
|
73
|
+
expect(dummy_object.grep_youtube_channel(html.to_s)).to eq(["https://www.youtube.com/watch?v=TorCiltsk6E", "https://www.youtube.com/watch?v=ZPV0JOMX-KI?ie=UTF-8"])
|
74
|
+
end
|
75
|
+
it 'should grep /embed/ url as channel url(3r choice)' do
|
76
|
+
html = <<~HTML
|
77
|
+
<a href="https://www.youtube.com/embed/D9ZPdSyud2Q" target="_blank">
|
78
|
+
HTML
|
79
|
+
expect(dummy_object.grep_youtube_channel(html.to_s)).to eq(['https://www.youtube.com/embed/D9ZPdSyud2Q'])
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'BrilliantWebScraper' do
|
4
|
+
it 'should get valid scraped data' do
|
5
|
+
VCR.use_cassette('valid_scrape_response') do
|
6
|
+
data = BrilliantWebScraper.new('unisourceworldwide.com')
|
7
|
+
expect(data[:scrape_data]).to eq(
|
8
|
+
{ :title=>'Leading North American Distributor | Veritiv Corporation',
|
9
|
+
:meta_description=>'Full-service distribution services including warehousing, paper and packaging distribution, publishing, facility solutions and logistics.',
|
10
|
+
:org_description=>'packaging design wide format commercial cleaning solutions careers logistics paper samples news about Veritiv investor relations',
|
11
|
+
:twitter_description=>nil,
|
12
|
+
:twitter_profile=>['http://twitter.com/Veritiv'],
|
13
|
+
:linkedin_profile=>['https://www.linkedin.com/company/veritiv'],
|
14
|
+
:facebook_profile=>['http://facebook.com/VeritivCorp'],
|
15
|
+
:instagram_profile=>[],
|
16
|
+
:vimeo_profile=>[],
|
17
|
+
:pinterest_profile=>[],
|
18
|
+
:youtube_channel=>['http://youtube.com/user/VeritivCorp'],
|
19
|
+
:emails=>[],
|
20
|
+
:phone_numbers=>[],
|
21
|
+
:redirected_to=>'https://www.veritivcorp.com/veritiv-homepage'
|
22
|
+
}
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should return {} when no valid data available' do
|
28
|
+
VCR.use_cassette('no_valid_data_to_scrape') do
|
29
|
+
data = BrilliantWebScraper.new('objectivemanager.com')
|
30
|
+
expect(data).to eq({})
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'parse exceptions' do
|
35
|
+
it 'should enforce UTF-8 encoding and retry parsing' do
|
36
|
+
VCR.use_cassette('invalid_byte_sequence_utf_8') do
|
37
|
+
data = BrilliantWebScraper.new('mzaabudhabi.ae')
|
38
|
+
expect(data[:scrape_data]).to eq(
|
39
|
+
{ :title=>"Media Zone Authority",
|
40
|
+
:meta_description=>"Find out what the Media Zone Authority is about",
|
41
|
+
:org_description=>nil,
|
42
|
+
:twitter_description=>nil,
|
43
|
+
:twitter_profile=>[],
|
44
|
+
:linkedin_profile=>[],
|
45
|
+
:facebook_profile=>[],
|
46
|
+
:instagram_profile=>[],
|
47
|
+
:vimeo_profile=>[],
|
48
|
+
:pinterest_profile=>[],
|
49
|
+
:youtube_channel=>nil,
|
50
|
+
:emails=>["regulatoryaffairs@mzaabudhabi.ae"],
|
51
|
+
:phone_numbers=>["+971 2 401 2454"],
|
52
|
+
:redirected_to=>"https://www.mzaabudhabi.ae/en/"
|
53
|
+
}
|
54
|
+
)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should raise parse exception' do
|
59
|
+
VCR.use_cassette('encoding_compatibility_error') do
|
60
|
+
expect {
|
61
|
+
BrilliantWebScraper.new('ablesolicitors.ie')
|
62
|
+
}.to raise_error(WebScraper::ParserError)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'ScrapeRequest' do
|
4
|
+
it 'should get valid response' do
|
5
|
+
VCR.use_cassette("valid_scrape_response") do
|
6
|
+
response = ScrapeRequest.new('unisourceworldwide.com', 10, 10)
|
7
|
+
expect(response.code).to eq(200)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe 'exceptions' do
|
12
|
+
it 'should raise WebScraper::NonHtmlError' do
|
13
|
+
VCR.use_cassette("non_html_scrape") do
|
14
|
+
expect {
|
15
|
+
ScrapeRequest.new('https://www.lexisnexis.ca/images/common/logo-lexisnexis.png', 10, 10)
|
16
|
+
}.to raise_error(WebScraper::NonHtmlError)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should raise TIMEOUT_EXCEPTION' do
|
21
|
+
stub_request(:any, 'constellationrg.com').to_timeout
|
22
|
+
expect {
|
23
|
+
ScrapeRequest.new('constellationrg.com', 10, 10)
|
24
|
+
}.to raise_error(WebScraper::TimeoutError)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should raise GENERAL_EXCEPTION' do
|
28
|
+
stub_request(:any, 'canadiansprings.com').to_raise(WebScraper::RequestError)
|
29
|
+
expect {
|
30
|
+
ScrapeRequest.new('canadiansprings.com', 10, 10)
|
31
|
+
}.to raise_error(WebScraper::RequestError)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
$: << File.join(File.dirname(__FILE__), "/../lib")
|
2
|
+
require 'brilliant_web_scraper'
|
3
|
+
require 'webmock/rspec'
|
4
|
+
require 'pry'
|
5
|
+
require 'vcr'
|
6
|
+
|
7
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
8
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
9
|
+
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
10
|
+
# this file to always be loaded, without a need to explicitly require it in any
|
11
|
+
# files.
|
12
|
+
#
|
13
|
+
# Given that it is always loaded, you are encouraged to keep this file as
|
14
|
+
# light-weight as possible. Requiring heavyweight dependencies from this file
|
15
|
+
# will add to the boot time of your test suite on EVERY test run, even for an
|
16
|
+
# individual file that may not need all of that loaded. Instead, consider making
|
17
|
+
# a separate helper file that requires the additional dependencies and performs
|
18
|
+
# the additional setup, and require it from the spec files that actually need
|
19
|
+
# it.
|
20
|
+
#
|
21
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
22
|
+
RSpec.configure do |config|
|
23
|
+
# rspec-expectations config goes here. You can use an alternate
|
24
|
+
# assertion/expectation library such as wrong or the stdlib/minitest
|
25
|
+
# assertions if you prefer.
|
26
|
+
config.expect_with :rspec do |expectations|
|
27
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
28
|
+
# and `failure_message` of custom matchers include text for helper methods
|
29
|
+
# defined using `chain`, e.g.:
|
30
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
31
|
+
# # => "be bigger than 2 and smaller than 4"
|
32
|
+
# ...rather than:
|
33
|
+
# # => "be bigger than 2"
|
34
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
35
|
+
end
|
36
|
+
|
37
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
38
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
39
|
+
config.mock_with :rspec do |mocks|
|
40
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
41
|
+
# a real object. This is generally recommended, and will default to
|
42
|
+
# `true` in RSpec 4.
|
43
|
+
mocks.verify_partial_doubles = true
|
44
|
+
end
|
45
|
+
|
46
|
+
VCR.configure do |c|
|
47
|
+
c.cassette_library_dir = "spec/vcr"
|
48
|
+
c.hook_into :webmock
|
49
|
+
end
|
50
|
+
|
51
|
+
# This option will default to `:apply_to_host_groups` in RSpec 4 (and will
|
52
|
+
# have no way to turn it off -- the option exists only for backwards
|
53
|
+
# compatibility in RSpec 3). It causes shared context metadata to be
|
54
|
+
# inherited by the metadata hash of host groups and examples, rather than
|
55
|
+
# triggering implicit auto-inclusion in groups with matching metadata.
|
56
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
57
|
+
|
58
|
+
# The settings below are suggested to provide a good initial experience
|
59
|
+
# with RSpec, but feel free to customize to your heart's content.
|
60
|
+
=begin
|
61
|
+
# This allows you to limit a spec run to individual examples or groups
|
62
|
+
# you care about by tagging them with `:focus` metadata. When nothing
|
63
|
+
# is tagged with `:focus`, all examples get run. RSpec also provides
|
64
|
+
# aliases for `it`, `describe`, and `context` that include `:focus`
|
65
|
+
# metadata: `fit`, `fdescribe` and `fcontext`, respectively.
|
66
|
+
config.filter_run_when_matching :focus
|
67
|
+
|
68
|
+
# Allows RSpec to persist some state between runs in order to support
|
69
|
+
# the `--only-failures` and `--next-failure` CLI options. We recommend
|
70
|
+
# you configure your source control system to ignore this file.
|
71
|
+
config.example_status_persistence_file_path = "spec/examples.txt"
|
72
|
+
|
73
|
+
# Limits the available syntax to the non-monkey patched syntax that is
|
74
|
+
# recommended. For more details, see:
|
75
|
+
# - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
|
76
|
+
# - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
77
|
+
# - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
|
78
|
+
config.disable_monkey_patching!
|
79
|
+
|
80
|
+
# This setting enables warnings. It's recommended, but in some cases may
|
81
|
+
# be too noisy due to issues in dependencies.
|
82
|
+
config.warnings = true
|
83
|
+
|
84
|
+
# Many RSpec users commonly either run the entire suite or an individual
|
85
|
+
# file, and it's useful to allow more verbose output when running an
|
86
|
+
# individual spec file.
|
87
|
+
if config.files_to_run.one?
|
88
|
+
# Use the documentation formatter for detailed output,
|
89
|
+
# unless a formatter has already been configured
|
90
|
+
# (e.g. via a command-line flag).
|
91
|
+
config.default_formatter = "doc"
|
92
|
+
end
|
93
|
+
|
94
|
+
# Print the 10 slowest examples and example groups at the
|
95
|
+
# end of the spec run, to help surface which specs are running
|
96
|
+
# particularly slow.
|
97
|
+
config.profile_examples = 10
|
98
|
+
|
99
|
+
# Run specs in random order to surface order dependencies. If you find an
|
100
|
+
# order dependency and want to debug it, you can fix the order by providing
|
101
|
+
# the seed, which is printed after each run.
|
102
|
+
# --seed 1234
|
103
|
+
config.order = :random
|
104
|
+
|
105
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
106
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
107
|
+
# test failures related to randomization by passing the same `--seed` value
|
108
|
+
# as the one that triggered the failure.
|
109
|
+
Kernel.srand config.seed
|
110
|
+
=end
|
111
|
+
end
|
@@ -0,0 +1,316 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ablesolicitors.ie/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*"
|
12
|
+
Accept-Encoding:
|
13
|
+
- identity
|
14
|
+
User-Agent:
|
15
|
+
- rest-client/2.0.2 (darwin18.6.0 x86_64) ruby/2.3.1p112
|
16
|
+
Host:
|
17
|
+
- ablesolicitors.ie
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 301
|
21
|
+
message: Moved Permanently
|
22
|
+
headers:
|
23
|
+
Date:
|
24
|
+
- Fri, 09 Aug 2019 15:10:53 GMT
|
25
|
+
Server:
|
26
|
+
- Apache
|
27
|
+
X-Powered-By:
|
28
|
+
- PHP/5.3.3
|
29
|
+
X-Pingback:
|
30
|
+
- http://www.ablesolicitors.ie/xmlrpc.php
|
31
|
+
X-Server:
|
32
|
+
- '3103'
|
33
|
+
Location:
|
34
|
+
- http://www.ablesolicitors.ie/
|
35
|
+
Content-Length:
|
36
|
+
- '0'
|
37
|
+
Content-Type:
|
38
|
+
- text/html; charset=UTF-7
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: ''
|
42
|
+
http_version:
|
43
|
+
recorded_at: Fri, 09 Aug 2019 15:10:54 GMT
|
44
|
+
- request:
|
45
|
+
method: get
|
46
|
+
uri: http://www.ablesolicitors.ie/
|
47
|
+
body:
|
48
|
+
encoding: US-ASCII
|
49
|
+
string: ''
|
50
|
+
headers:
|
51
|
+
Accept:
|
52
|
+
- "*/*"
|
53
|
+
Accept-Encoding:
|
54
|
+
- identity
|
55
|
+
User-Agent:
|
56
|
+
- rest-client/2.0.2 (darwin18.6.0 x86_64) ruby/2.3.1p112
|
57
|
+
Host:
|
58
|
+
- www.ablesolicitors.ie
|
59
|
+
response:
|
60
|
+
status:
|
61
|
+
code: 200
|
62
|
+
message: OK
|
63
|
+
headers:
|
64
|
+
Date:
|
65
|
+
- Fri, 09 Aug 2019 15:10:55 GMT
|
66
|
+
Server:
|
67
|
+
- Apache
|
68
|
+
X-Powered-By:
|
69
|
+
- PHP/5.3.3
|
70
|
+
X-Pingback:
|
71
|
+
- http://www.ablesolicitors.ie/xmlrpc.php
|
72
|
+
X-Server:
|
73
|
+
- '3103'
|
74
|
+
Transfer-Encoding:
|
75
|
+
- chunked
|
76
|
+
Content-Type:
|
77
|
+
- text/html; charset=UTF-7
|
78
|
+
body:
|
79
|
+
encoding: UTF-8
|
80
|
+
string: "<!DOCTYPE html >\n<!--[if lt IE 7 ]> <html class=\"no-js ie6\" lang=\"en-US\">
|
81
|
+
<![endif]-->\n<!--[if IE 7 ]> <html class=\"no-js ie7\" lang=\"en-US\">
|
82
|
+
<![endif]-->\n<!--[if IE 8 ]> <html class=\"no-js ie8\" lang=\"en-US\">
|
83
|
+
<![endif]-->\n<!--[if (gte IE 9)|!(IE)]><!--> <html class=\"no-js\" lang=\"en-US\">
|
84
|
+
<!--<![endif]-->\n\n<head>\n\n\t<title> | We are ready, willing and able to
|
85
|
+
represent YOU!</title>\n\t\n\t<meta charset=\"utf-8\">\t\n\t\n\t\t\t\n\t\n\t<!--
|
86
|
+
Mobile Specific Metas\n \t==================================================
|
87
|
+
-->\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1,
|
88
|
+
maximum-scale=1\" /> \n\t\n\t<link rel=\"profile\" href=\"http://gmpg.org/xfn/11\"
|
89
|
+
/>\n\t<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS 2.0\"
|
90
|
+
href=\"http://www.ablesolicitors.ie/feed/\" />\n\t<link rel=\"alternate\"
|
91
|
+
type=\"text/xml\" title=\"RSS .92\" href=\"http://www.ablesolicitors.ie/feed/rss/\"
|
92
|
+
/>\n\t<link rel=\"alternate\" type=\"application/atom+xml\" title=\"Atom 0.3\"
|
93
|
+
href=\"http://www.ablesolicitors.ie/feed/atom/\" />\n\t<link rel=\"pingback\"
|
94
|
+
href=\"http://www.ablesolicitors.ie/xmlrpc.php\" />\n\t\n\n\n\t<!-- CSS\n
|
95
|
+
\ \t================================================== -->\n \t<!-- Load
|
96
|
+
the basic skeleton and plugin CSS, then the main theme stylesheet --> \n
|
97
|
+
\ <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/base.css\"
|
98
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/skeleton.css\"
|
99
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/comments.css\"
|
100
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/buttons.css\"
|
101
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/ui.totop.css\"
|
102
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/superfish.css\"
|
103
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/flexslider.css\"
|
104
|
+
/>\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/chosen/chosen.css\"
|
105
|
+
/>\n\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/prettyPhoto/css/prettyPhoto.css\"
|
106
|
+
/>\n\t\n\t<!-- Alternate rLightbox\n\t<link type=\"text/css\" rel=\"stylesheet\"
|
107
|
+
href=\"< ?php echo get_template_directory_uri(); ?>/assets/javascripts/rlightbox_css/ui-lightness/jquery-ui-1.8.16.custom.css\"
|
108
|
+
/>\n\t<link type=\"text/css\" rel=\"stylesheet\" href=\"< ?php echo get_template_directory_uri();
|
109
|
+
?>/assets/javascripts/rlightbox_css/lightbox.min.css\" />\n\t-->\n\t\n\t<link
|
110
|
+
rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/styles.css\"
|
111
|
+
/>\n\t\n\t\n <!-- Load the font stack from the Options Panel -->\n <link
|
112
|
+
rel=\"stylesheet\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/typography-sans.css\"
|
113
|
+
/>\n \n <!-- Load the default skin from the Options Panel -->\n
|
114
|
+
\ \t\t<link rel=\"stylesheet\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/stylesheets/skin-clean.css\"
|
115
|
+
/>\n\t\t\n\t\n\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/style.css\"
|
116
|
+
/>\n\t\n\t\n\t<!-- Favicons, StyleLoader, and basic WP stuff\n\t==================================================
|
117
|
+
-->\n\t<link rel=\"shortcut icon\" href=\"\" type=\"image/gif\" />\n\t\n\t<!--
|
118
|
+
THIS FILE LOADS ALL THE CUSTOMIZATIONS FROM THE THEME OPTIONS PANEL -->\n\n\n<!--
|
119
|
+
Custom CSS Modifications from the Admin Panel -->\n<style type=\"text/css\">\n\n/*
|
120
|
+
Insert the rest of the custom CSS from the admin panel */ \n \n\t \n\t \n\t/*
|
121
|
+
Add a custom bg if it exists */\n\t\t \n\t\t \n\t \n\t/* This is your link
|
122
|
+
hover color */\n\t\t\n\t\n\t/* This is your link color */\n\t\t\n\t/* This
|
123
|
+
is your visited link color */\n\t\t\t\n\t\n\t\n</style>\n\n\n<!-- ALTERNATIVE
|
124
|
+
HEADLINE FONT OVERRIDE - For TypeKit/GoogleFonts Insertion -->\t\n\n\t\t<!--
|
125
|
+
FONT REPLACEMENT LOADER 1. Checks for opt-outs, then Cufon, then Google and
|
126
|
+
loads the appropriate files. -->\n\t\t \n\t\t\t\n\t\t\t<link rel=\"stylesheet\"
|
127
|
+
type=\"text/css\" href=\"http://fonts.googleapis.com/css?family=\" />\n\t\t\t<style
|
128
|
+
type=\"text/css\">\n\t\t\th1, h2, h3, h4, h5, h6 {\n\t\t\t font-family: '';\n\t\t\t
|
129
|
+
\ -webkit-transform: rotate(-0.01deg);\n\t\t\t -moz-transform: rotate(-0.01deg);\n\t\t\t
|
130
|
+
\ text-rendering: optimizeLegibility;\n\t\t\t -webkit-font-smoothing: antialiased;\n\t\t\t}\n\t\t\t</style>\n\t\t\n\t\t\t\n<!--
|
131
|
+
// END HEADLINE FONT OVERRIDE -->\t\n\n\n\n<!-- Hide the top bar / optional
|
132
|
+
-->\n \n\n\n\n<!-- Check for Column Flipping -->\n\n\n<!-- Check for Force-Hiding
|
133
|
+
of the Breakout Row -->\n\t\n\t\t\n\t\n</head>\n\n\n<!-- Start the Markup\n==================================================
|
134
|
+
-->\n<body class=\"home blog\" >\n\n\n\t\n<!-- Super Container for entire
|
135
|
+
site -->\n<div class=\"super-container full-width\" id=\"section-header\">\n\n\t<!--
|
136
|
+
960 Container -->\n\t<div class=\"container\">\t\t\t\n\t\t\n\t\t<!-- Header
|
137
|
+
-->\n\t\t<header>\n\t\t<div class=\"sixteen columns\">\n\t\t\t \n\t\t\t<!--
|
138
|
+
Branding -->\n\t\t\t<div class=\"three columns alpha\">\n\t\t\t\t<a href=\"http://www.ablesolicitors.ie/\"
|
139
|
+
title=\"\">\n\t\t\t\t\t<h1 id=\"logo\">\n\t\t\t\t\t\t \t\t \t\t\n\t
|
140
|
+
\ \t\t\t<img id=\"logotype\" src=\"http://www.ablesolicitors.ie/wp-content/uploads/2012/09/Adjusted-Able-Logo.jpg\"
|
141
|
+
alt=\"\" />\n\t \t\t</h1>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div
|
142
|
+
class=\"three columns alpha call\">\n\t\t\t<h4>Call Us Today</h4>\n\t\t\t01-4736963\n\t\t\t</div>\n\t\t\t<!--
|
143
|
+
/End Branding -->\n\t\t\t\n\t\t\t<div class=\"ten columns omega\">\n\t\t\t\t\t\t\t\t<!--
|
144
|
+
DEFAULT NAVIGATION -->\n\t\t\t\t<ul id=\"menu-main-menu\" class=\"sf-menu
|
145
|
+
dark\"><li id=\"menu-item-153\" class=\"menu-item menu-item-type-custom menu-item-object-custom
|
146
|
+
current-menu-item current_page_item menu-item-home\"><a href=\"http://www.ablesolicitors.ie/\"><strong>Home</strong></a></li>\n<li
|
147
|
+
id=\"menu-item-38\" class=\"menu-item menu-item-type-post_type menu-item-object-page\"><a
|
148
|
+
href=\"http://www.ablesolicitors.ie/practice-areas/\"><strong>Practice Areas</strong></a></li>\n<li
|
149
|
+
id=\"menu-item-37\" class=\"menu-item menu-item-type-post_type menu-item-object-page\"><a
|
150
|
+
href=\"http://www.ablesolicitors.ie/our-people/\"><strong>Our People</strong></a></li>\n<li
|
151
|
+
id=\"menu-item-151\" class=\"menu-item menu-item-type-post_type menu-item-object-page\"><a
|
152
|
+
href=\"http://www.ablesolicitors.ie/news/\"><strong>News</strong></a></li>\n<li
|
153
|
+
id=\"menu-item-36\" class=\"menu-item menu-item-type-post_type menu-item-object-page\"><a
|
154
|
+
href=\"http://www.ablesolicitors.ie/contact/\"><strong>Contact</strong></a></li>\n</ul>\t\t\t\t
|
155
|
+
<!-- /DEFAULT NAVIGATION -->\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t <!-- RESPONSIVE
|
156
|
+
NAVIGATION FLIP -->\n\t\t\t\t<form id=\"responsive-nav\" action=\"\" method=\"post\">\n\t\t\t\t<select
|
157
|
+
class=\"chzn-select\">\n\t\t\t\t<option value=\"\">Navigation</option>\n\t\t\t\t<option
|
158
|
+
value=\"http://www.ablesolicitors.ie/\">Home</option><option value=\"http://www.ablesolicitors.ie/practice-areas/\">Practice
|
159
|
+
Areas</option><option value=\"http://www.ablesolicitors.ie/our-people/\">Our
|
160
|
+
People</option><option value=\"http://www.ablesolicitors.ie/news/\">News</option><option
|
161
|
+
value=\"http://www.ablesolicitors.ie/contact/\">Contact</option>\t\t\t\t</select>\n\t\t\t\t</form>\n\t\t\t\t<!--
|
162
|
+
/END RESPONSIVE NAV -->\t\t\t</div> \n\t\t\t\n\t\t\t<hr class=\"remove-bottom\"/>\n\t\t</div>\n\t\t\n\t\t\t\n\t\t</header>\n\t\t<!--
|
163
|
+
/End Header -->\n\t\n\t</div>\n\t<!-- End 960 Container -->\n\t\n</div>\n<!--
|
164
|
+
End SuperContainer -->\n\n\n<!-- ==============================================
|
165
|
+
-->\n\n<!-- ============================================== -->\n\n\n<!-- FlexSlider
|
166
|
+
-->\n\t<!-- Super Container -->\n<div class=\"super-container full-width main-content-area\"
|
167
|
+
id=\"section-slider\">\n\n\t<!-- 960 Container -->\n\t<div class=\"container\">\n\t\t\n\t\t<!--
|
168
|
+
FlexSlider -->\n\t\t<div class=\"sixteen columns\">\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t<div
|
169
|
+
class=\"slider-shadow\">\n\t\t\t\t<div class=\"flexslider-container\">\n\t\t\t\t\t<div
|
170
|
+
class=\"flexslider\"> \n\t\t\t\t\t <ul class=\"slides\">\n\t\t\t\t\t \n\t\t\t\t\t\t
|
171
|
+
\ <li>\n\t\t\t\t\t\t <img src=\"http://ablesolicitors.ie/new/wp-content/uploads/2012/04/banner-home1.jpg\"
|
172
|
+
alt=\"\" />\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t </li> \n\t\t\t\t\t\t <li>\n\t\t\t\t\t\t
|
173
|
+
\ <img src=\"http://ablesolicitors.ie/new/wp-content/uploads/2012/04/banner-home2.jpg\"
|
174
|
+
alt=\"\" />\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t </li> \n\t\t\t\t\t\t <li>\n\t\t\t\t\t\t
|
175
|
+
\ <img src=\"http://ablesolicitors.ie/new/wp-content/uploads/2012/04/banner-home3.jpg\"
|
176
|
+
alt=\"\" />\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t </li> \n\t\t\t\t\t\t <li>\n\t\t\t\t\t\t
|
177
|
+
\ <img src=\"http://ablesolicitors.ie/new/wp-content/uploads/2012/04/banner-home4.jpg\"
|
178
|
+
alt=\"\" />\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t </li>\t\t\t\t\t </ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t</div>\t\t\n\t\t<!--
|
179
|
+
/End Full Width Slider-->\n\n\t</div>\n\t<!-- /End 960 Container -->\n\t\n</div>\n<!--
|
180
|
+
/End Super Container -->\t\n\n\n<!-- ==============================================
|
181
|
+
-->\n\n\n<!-- Super Container - Three Column Row - Content comes from OptionTree
|
182
|
+
-->\n<div class=\"super-container full-width featurerow\">\n\n\t<!-- 960 Container
|
183
|
+
-->\n\t<div class=\"container\">\t\n\t\n\t\t<div class=\"sixteen columns\">\t\n\t\n\t\t\t<div
|
184
|
+
class=\"feature\">\n\t\t\t\t\t\t \n\t\t\t\t<style type=\"text/css\">.featurerow
|
185
|
+
.feature{text-align: center;}</style>\n\t\t\t\t\t\t\n\t\t\t<h3 style=\"text-align:
|
186
|
+
center;\"><span style=\"color: #000080;\">Property, Personal Injury, Wills
|
187
|
+
& Probate, </span></h3>\r\n<h3 style=\"text-align: center;\"><span style=\"color:
|
188
|
+
#000080;\">Wards of Court, Corporate Law, Employment Law,</span></h3>\r\n<h3
|
189
|
+
style=\"text-align: center;\"><span style=\"color: #000080;\">Defamation,
|
190
|
+
Family Law, Notary Public Services<br /></span></h3></div>\n\t\t\n\t\t\t<br
|
191
|
+
class=\"clearfix\" />\n\t\t\t<hr />\n\t\t\t\n\t\t\t\n\t\t</div>\n\t\t\n\t</div>\n\t<!--
|
192
|
+
/End 960 Container -->\n\n</div>\n<!-- /End Super Container -->\n\t\n\n\n\n<!--
|
193
|
+
============================================== -->\n\n\n\n<!-- Super Container
|
194
|
+
- Three Column Row - Content comes from OptionTree -->\n<div class=\"super-container
|
195
|
+
full-width\" id=\"section-thirds\">\n\n\t<!-- 960 Container -->\n\t<div class=\"container\">\t\t\n\t\t\n\t\t\t\t\n\t\t<!--
|
196
|
+
1/3 Columns -->\n\t\t<div class=\"one-third column\">\t\t\t\t\n\t\t\t<div
|
197
|
+
class=\"module\">\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"module-meta\">\n\t\t\t\t\t<h4
|
198
|
+
style=\"text-align: center; font-family: Trebuchet MS, Gill Sans, Gill Sans
|
199
|
+
MT, Helvetica, sans-serif !important;\"><a href=\"\">About Us</a></h4>\t\n\t\t\t\t\t<p><p
|
200
|
+
style=\"text-align: justify;\"><strong>Able Solicitors is an Irish law firm
|
201
|
+
situated in Inchicore, Dublin 8.</strong></p>\r\n<p style=\"text-align: justify;\"><strong>Our
|
202
|
+
Mission Statement is, <em>\"To uphold the legal rights of all our clients
|
203
|
+
before the law and to treat all clients equally with respect, integrity and
|
204
|
+
the utmost professionalism.\"</em> </strong></p>\r\n<p style=\"text-align:
|
205
|
+
justify;\">We are committed to providing a top-class legal service while ensuring
|
206
|
+
that our fees and outlays are maintained at a competitive level throughout.
|
207
|
+
Our clients are drawn from all over Ireland and internationally as we can
|
208
|
+
conduct our business with you from our friendly offices in Dublin 8 or on-line
|
209
|
+
via electronic means.</p>\r\n<p style=\"text-align: justify;\">We represent
|
210
|
+
clients of all ages, creeds and values from the purchase of their first property
|
211
|
+
to representation in the Irish Courts. We are focussed on providing expert
|
212
|
+
and efficient legal solutions while upholding our fundamental philosophy of
|
213
|
+
a client-centred approach. Why not see what we can do for you?</p></p>\n\t\t\t\t</div>\t\t\t\t\t\t\n\t\t\t</div>\t\t\t\t\n\t\t</div>\n\n\t\t<div
|
214
|
+
class=\"one-third column\">\t\t\t\t\n\t\t\t<div class=\"module\">\n\t\t\t\t\t\t\t\t<div
|
215
|
+
class=\"module-meta\">\n\t\t\t\t\t<h4 style=\"text-align: center; font-family:
|
216
|
+
Trebuchet MS, Gill Sans, Gill Sans MT, Helvetica, sans-serif !important;\"><a
|
217
|
+
href=\"\">What Our Clients Say...</a></h4>\t\n\t\t\t\t\t<p><p style=\"text-align:
|
218
|
+
justify;\"><strong>G. Redden</strong><em>~</em></p>\r\n<p style=\"text-align:
|
219
|
+
justify;\"><em>Brilliant lady solicitor, very down to earth with a no nonsense
|
220
|
+
approach. Joanne advised me of all the legal options available to me and defended
|
221
|
+
me to the last</em> <em>in my family law proceedings.</em></p>\r\n<p style=\"text-align:
|
222
|
+
justify;\"><strong>Vicky Kelly~</strong></p>\r\n<p style=\"text-align: justify;\"><em>An
|
223
|
+
expert firm of probate lawyers, who finalised the Wardship application for
|
224
|
+
my mother. I can't thank your staff enough for the kindness and efficiency
|
225
|
+
shown to my family throughout this trying time.</em></p>\r\n<p style=\"text-align:
|
226
|
+
justify;\"><strong>D.F~</strong></p>\r\n<p style=\"text-align: justify;\"><em>I
|
227
|
+
just want to express my sincere thanks for all of your hard work with my personal
|
228
|
+
injury claim. The settlement has given me some level of justice for the injuries
|
229
|
+
I suffered.</em></p></p>\n\t\t\t\t</div>\t\t\t\t\t\t\n\t\t\t</div>\t\t\t\t\n\t\t</div>\n\n\t\t<div
|
230
|
+
class=\"one-third column\">\t\t\t\t\n\t\t\t<div class=\"module\">\t\n\t\t\t\t\t\t\t\t<div
|
231
|
+
class=\"module-meta\">\n\t\t\t\t\t<h4 style=\"text-align: center; font-family:
|
232
|
+
Trebuchet MS, Gill Sans, Gill Sans MT, Helvetica, sans-serif !important;\"><a
|
233
|
+
href=\"\">We Want to Hear From You!</a></h4>\t\n\t\t\t\t\t<p><div class=\"wpcf7\"
|
234
|
+
id=\"wpcf7-f142-t1-o1\"><form action=\"/#wpcf7-f142-t1-o1\" method=\"post\"
|
235
|
+
class=\"wpcf7-form\" novalidate=\"novalidate\">\n<div style=\"display: none;\">\n<input
|
236
|
+
type=\"hidden\" name=\"_wpcf7\" value=\"142\" />\n<input type=\"hidden\" name=\"_wpcf7_version\"
|
237
|
+
value=\"3.4.2\" />\n<input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f142-t1-o1\"
|
238
|
+
/>\n<input type=\"hidden\" name=\"_wpnonce\" value=\"4f9d0007a5\" />\n</div>\n<p>Your
|
239
|
+
Name (required)<br />\n <span class=\"wpcf7-form-control-wrap your-name\"><input
|
240
|
+
type=\"text\" name=\"your-name\" value=\"\" size=\"40\" class=\"wpcf7-form-control
|
241
|
+
wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" /></span>
|
242
|
+
</p>\n<p>Your Email (required)<br />\n <span class=\"wpcf7-form-control-wrap
|
243
|
+
your-email\"><input type=\"email\" name=\"your-email\" value=\"\" size=\"40\"
|
244
|
+
class=\"wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required
|
245
|
+
wpcf7-validates-as-email\" aria-required=\"true\" /></span> </p>\n<p>Your
|
246
|
+
Message<br />\n <span class=\"wpcf7-form-control-wrap your-message\"><textarea
|
247
|
+
name=\"your-message\" cols=\"40\" rows=\"10\" class=\"wpcf7-form-control wpcf7-textarea\"></textarea></span>
|
248
|
+
</p>\n<p><input type=\"submit\" value=\"Send\" class=\"wpcf7-form-control
|
249
|
+
wpcf7-submit\" /></p>\n<div class=\"wpcf7-response-output wpcf7-display-none\"></div></form></div></p>\n\t\t\t\t</div>\t\t\t\t\t\t\n\t\t\t</div>\t\t\t\t\n\t\t</div>\t\t\n\t\t<!--
|
250
|
+
/End 1/3 Columns -->\n\t\t\n\t</div>\n\t<!-- /End 960 Container -->\n\n</div>\n<!--
|
251
|
+
/End Super Container -->\n\t\n\n\n<!-- ==============================================
|
252
|
+
-->\n\n\n<!-- Breakout Row -->\n\t\n\n\n<!-- ==============================================
|
253
|
+
-->\n\n\n<!-- Super Container | Footer Widget Space (Optional) -->\n<div class=\"super-container
|
254
|
+
full-width\" id=\"section-footer\">\t\t\n\n\t<!-- 960 Container -->\n\t<div
|
255
|
+
class=\"container\">\n\t\n\t\t<!-- footer -->\n\t\t<footer>\n\t\t<div class=\"sixteen
|
256
|
+
columns\" id=\"footer\">\n\t\t\t\n\t\t\t<hr /> \t\t\t\n\t\t\t\n\t\t\t<!--
|
257
|
+
1/4 -->\n\t\t\t<div class=\"five columns alpha\">\n\t\t\t\t\t\t\t</div>\n\t\t\t<!--
|
258
|
+
/End 1/4 -->\n\t\t\t\n\t\t\t<!-- 2/4 -->\n\t\t\t<div class=\"five columns\">\n\t\t\t\t\t\n\t\t\t</div>\n\t\t\t<!--
|
259
|
+
/End 2/4 -->\n\t\t\t\n\t\t\t<!-- 3/4 -->\n\t\t\t<div class=\"three columns\">\n\t\t\t\t\t\t\t</div>\n\t\t\t<!--
|
260
|
+
/End 3/4 -->\t\t\n\t\t\t\n\t\t\t\n\t\t\t<!-- 4/4 -->\n\t\t\t<div class=\"three
|
261
|
+
columns omega\">\n\t\t\t\t\t\t\t</div>\n\t\t\t<!-- /End 4/4 -->\t\t\t\n\t\t\t\n\t\t\t\n\t\t</div>\n\t\t</footer>\n\t\t<!--
|
262
|
+
/End Footer -->\t\t\n\n\t</div>\n\t<!-- /End 960 Container -->\n\t\n</div>\n<!--
|
263
|
+
/End Super Container -->\n\n\n<!-- ==============================================
|
264
|
+
-->\n\n\n<!-- Super Container - SubFooter Space -->\n<div class=\"super-container
|
265
|
+
full-width\" id=\"section-sub-footer\">\t\t\n\n\t<!-- 960 Container -->\n\t<div
|
266
|
+
class=\"container\">\n\n\t\t<div class=\"sixteen columns\">\t\n\t\t\t\n\t\t\t\n\t\t\t\t<span
|
267
|
+
class=\"copyright\"><div>\r\n<h2><strong>Magdalene Laundries</strong></h2>\r\n</div>\r\n<hr
|
268
|
+
/>\r\n<h2 style=\"text-align: justify;\"><strong style=\"font-size: 13px;\">21
|
269
|
+
February 2013</strong></h2>\r\n<p style=\"text-align: justify;\"><strong>The
|
270
|
+
recent publication of the McAleese Report into the</strong></p>\r\n<p style=\"text-align:
|
271
|
+
justify;\"><strong>Magdalene Laundries expressly states that there was </strong></p>\r\n<p
|
272
|
+
style=\"text-align: justify;\"><strong>widespread abuse levied against the
|
273
|
+
women within these </strong></p>\r\n<p style=\"text-align: justify;\"><strong>laundries
|
274
|
+
from 1922 to 1996 .<a href=\"http://www.ablesolicitors.ie/magdalene-laundries/
|
275
|
+
\">Read More....</a></strong></p></span>\t\t\t\t\t\t\t\t<ul class=\"social\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li><a
|
276
|
+
target=\"_blank\" href=\"http://www.facebook.com/able.solicitors\"><img src=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/images/theme/social-icons/facebook_32.png\"
|
277
|
+
alt=\"facebook\" title=\"Facebook\" /></a></li>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li><a
|
278
|
+
target=\"_blank\" href=\"http://www.linkedin.com/profile/view?id=110433579&goback=%2Enmp_*1_*1_*1_*1_*1_*1_*1_*1_*1&trk=spm_pic\"><img
|
279
|
+
src=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/images/theme/social-icons/linkedin_32.png\"
|
280
|
+
alt=\"linkedin\" title=\"LinkedIn\" /></a></li>\t\t\t\t\t<li><a target=\"_blank\"
|
281
|
+
href=\"http://www.ablesolicitors.ie/feed/\" target=\"_blank\"><img src=\"http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/images/theme/social-icons/rss_32.png\"
|
282
|
+
alt=\"RSS\" title=\"RSS\" /></a></li>\n\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<span
|
283
|
+
class=\"colophon\"><div>\r\n<h2>News</h2>\r\n</div>\r\n<hr />\r\n<h4><span
|
284
|
+
style=\"text-decoration: underline;\">Woman bringing case over defective hip
|
285
|
+
implacts</span></h4>\r\n<p style=\"text-align: justify;\">30th January 2013</p>\r\n<p
|
286
|
+
style=\"text-align: justify;\">A woman who had two hip replacement operations
|
287
|
+
intends</p>\r\n<p style=\"text-align: justify;\">to bring what is expected
|
288
|
+
to be the first of many cases over</p>\r\n<p style=\"text-align: justify;\">allegedly
|
289
|
+
defective hip implants.Irene Pierson is one of thousands</p>\r\n<p style=\"text-align:
|
290
|
+
justify;\">of people who had DePuy Orthopaedics <a href=\"http://www.ablesolicitors.ie/woman-bringing-first-case-over-allegedly-defective-hip-implants/\">Read
|
291
|
+
More </a></p></span>\t\t</div>\n\n\t</div>\n\t<!-- /End 960 Container -->\n\t\n</div>\n<!--
|
292
|
+
/End Super Container -->\n\n\n\n<script type='text/javascript' src='http://code.jquery.com/jquery-1.7.min.js?ver=1.7'></script>\n<script
|
293
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/tabs.js'></script>\n<script
|
294
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/jquery.flexslider-min.js'></script>\n<script
|
295
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/filterable.pack.js'></script>\n<script
|
296
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/jquery.prettyPhoto.js'></script>\n<script
|
297
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/jquery.hoverIntent.js'></script>\n<script
|
298
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/superfish.js'></script>\n<script
|
299
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/supersubs.js'></script>\n<script
|
300
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/chosen/chosen.jquery.js?ver=0.9'></script>\n<script
|
301
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/jquery.tipsy.js'></script>\n<script
|
302
|
+
type='text/javascript' src='http://www.ablesolicitors.ie/wp-content/themes/reaction/assets/javascripts/skeleton-key.js'></script>\n\n\t<style
|
303
|
+
type=\"text/css\">\n\t\tselect.chzn-select {\n\t\theight: 30px;\n\t\tpadding:
|
304
|
+
6px;\n\t\twidth: 100%; }\n\t</style>\n\n\n\t\t\t\t\t<!-- Default Portfolio
|
305
|
+
View - Grabs the variable set in the template-xxx.php files -->\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<script
|
306
|
+
type=\"text/javascript\">\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t(function($) {\n\t\t\t\t\t\t\t\t
|
307
|
+
// Grid View Defaults \n\t\t\t\t\t\t\t\t //\t $(\"#portfolio-list .module-container\").removeClass(\"sixteen
|
308
|
+
columns\").addClass(\"four columns\");\n\t\t\t\t\t\t\t\t //\t $(\"#portfolio-list
|
309
|
+
.module-img\").removeClass(\"twelve columns alpha\");\n\t\t\t\t\t\t\t\t //\t
|
310
|
+
$(\"#portfolio-list .module-meta\").fadeOut(100).removeClass(\"four columns
|
311
|
+
alpha omega visible\");\n\t\t\t\t\t\t\t\t\t jQuery(\".list_btn\").css(\"opacity\",\"1\");\n\t\t\t\t\t\t\t\t\t
|
312
|
+
jQuery(\".hybrid_btn\").css(\"opacity\",\"1\");\n\t\t\t\t\t\t\t\t\t jQuery(\".grid_btn\").css(\"opacity\",\"0.5\");\n\t\t\t\t\t\t\t})(jQuery);\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<!--
|
313
|
+
End Default Portfolio View -->\n\n</body>\n</html>"
|
314
|
+
http_version:
|
315
|
+
recorded_at: Fri, 09 Aug 2019 15:10:56 GMT
|
316
|
+
recorded_with: VCR 3.0.3
|