brilliant_web_scraper 0.1
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 +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
|