remote_partial 0.7.1 → 0.7.2

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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZGRkMzFiMGIyMmIzZWQ3YWU5NGJmMmE3ZjIxMzhmYmZiMTIyNGUxZQ==
5
+ data.tar.gz: !binary |-
6
+ YTdlMWYzYzM5NTJlZWFjNDcyZWJlMTlhZDNjNGFkZWFmOTFkYWUyNw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YWE2ZjNmZTU2YjMwYzA4NzUwN2YxYWI1ZDJiNDE2OTU1ODM3ZjNkYThhYzRi
10
+ ZDQzYzIxZTVjMmYxMWQwNGZlNjMwZTI2NTJjMjIyYjQzMDMzNmNhMTdkOTNk
11
+ NGQ0MTUyZjc4ZTZhM2UyZjA5NThhOTA0OGFhYzE2NjdhNjg2MjY=
12
+ data.tar.gz: !binary |-
13
+ NTVkZGNiZTgxZDRhNTA1MWRkNjlkZmUxZDJlN2E4ZWU2NzU1M2M3MTA5NGQw
14
+ NjgzMjc1ODhjNjVkNmZhOTM2MmMzYzBlZTVjNDRjNDZkNTM3YWI4YzM4NDE2
15
+ N2QyMTA1ODhjZWMzMTY1ZGNjYzhkN2RiNzVkY2VlYTcxMWEyNzk=
data/README.rdoc CHANGED
@@ -1,4 +1,5 @@
1
1
  {<img src="https://codeclimate.com/github/warwickshire/remote_partial.png" />}[https://codeclimate.com/github/warwickshire/remote_partial]
2
+ {<img src="https://badge.fury.io/rb/remote_partial.png" alt="Gem Version" />}[http://badge.fury.io/rb/remote_partial]
2
3
  = RemotePartial
3
4
 
4
5
  Remote Partial allows partials to be created from remote content.
@@ -129,6 +130,13 @@ of the stale_at time:
129
130
 
130
131
  rake remote_partial:force_update
131
132
 
133
+ == Connection via a proxy
134
+
135
+ RemotePartial can be modified to connect to the remote source via a proxy. To
136
+ do this set the environment variable http_proxy to the proxy url:
137
+
138
+ ENV['http_proxy'] = "http://proxy.example.com:8080"
139
+
132
140
  == Problems grabbing content
133
141
 
134
142
  If remote partial is unable to retrieve remote content, the problem will be
@@ -4,11 +4,6 @@ module RemotePartial
4
4
 
5
5
  attr_accessor :stale_at, :repeat_period
6
6
 
7
- def self.create(hash)
8
- super
9
-
10
- end
11
-
12
7
  def output_file_name
13
8
  [partial_folder, file_name].join("/")
14
9
  end
@@ -12,7 +12,7 @@ module RemotePartial
12
12
 
13
13
  def self.get_raw(url)
14
14
  response = get_response(url)
15
-
15
+
16
16
  case response.code.to_i
17
17
  when ok_response_codes
18
18
  return response.body
@@ -27,7 +27,8 @@ module RemotePartial
27
27
 
28
28
  def self.get_response(url)
29
29
  uri = URI.parse(url)
30
- http = Net::HTTP.new(uri.host, uri.port)
30
+
31
+ http = Net::HTTP.new(*connection_settings(uri))
31
32
 
32
33
  if uri.port == 443
33
34
  http.use_ssl = true
@@ -38,6 +39,10 @@ module RemotePartial
38
39
  http.request(request)
39
40
  end
40
41
 
42
+ def self.connection_settings(uri)
43
+ [uri.host, uri.port] + proxy_settings
44
+ end
45
+
41
46
  def initialize(url, criteria = nil, &output_modifier)
42
47
  @url = url
43
48
  @criteria = criteria
@@ -56,6 +61,7 @@ module RemotePartial
56
61
  end
57
62
 
58
63
  private
64
+
59
65
  def get_whole_page
60
66
  self.class.get_raw(@url).force_encoding(encoding).gsub(windows_bom_text, "")
61
67
  end
@@ -93,5 +99,12 @@ module RemotePartial
93
99
  300..399
94
100
  end
95
101
 
102
+ def self.proxy_settings
103
+ return [] unless ENV['http_proxy']
104
+ proxy = URI.parse(ENV['http_proxy'])
105
+ [proxy.host, proxy.port, proxy.user, proxy.password]
106
+ end
107
+
108
+
96
109
  end
97
110
  end
@@ -1,10 +1,14 @@
1
1
  module RemotePartial
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
4
4
 
5
5
  # History
6
6
  # =======
7
7
  #
8
+ # 0.7.2 Adds facility to direct HTTP through proxy
9
+ # ------------------------------------------------
10
+ #
11
+ #
8
12
  # 0.7.1 Ensures code works in standalone mode
9
13
  # -------------------------------------------
10
14
  # An additional require statement to load all the required libraries when not
data/test/log/test.log CHANGED
@@ -69,3 +69,67 @@ I, [2013-08-27T14:59:07.213269 #5477] INFO -- : Preparing to test logging via a
69
69
  W, [2013-08-27T14:59:07.222037 #5477] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
70
70
  I, [2013-08-27T14:59:07.238897 #5477] INFO -- : Preparing to test logging via assert_log_entry_added
71
71
  W, [2013-08-27T14:59:07.244542 #5477] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
72
+ I, [2013-11-25T15:55:13.694737 #12223] INFO -- : Preparing to test logging via assert_log_entry_added
73
+ W, [2013-11-25T15:55:13.715204 #12223] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
74
+ I, [2013-11-25T15:55:13.730608 #12223] INFO -- : Preparing to test logging via assert_log_entry_added
75
+ W, [2013-11-25T15:55:13.740418 #12223] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
76
+ I, [2013-11-25T15:56:19.302859 #12229] INFO -- : Preparing to test logging via assert_log_entry_added
77
+ W, [2013-11-25T15:56:19.324652 #12229] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
78
+ I, [2013-11-25T15:56:19.333622 #12229] INFO -- : Preparing to test logging via assert_log_entry_added
79
+ W, [2013-11-25T15:56:19.344817 #12229] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
80
+ I, [2013-11-25T16:02:55.740992 #12342] INFO -- : Preparing to test logging via assert_log_entry_added
81
+ W, [2013-11-25T16:02:55.747786 #12342] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
82
+ I, [2013-11-25T16:02:55.752866 #12342] INFO -- : Preparing to test logging via assert_log_entry_added
83
+ W, [2013-11-25T16:02:55.762047 #12342] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
84
+ I, [2013-11-25T16:03:38.466504 #12348] INFO -- : Preparing to test logging via assert_log_entry_added
85
+ W, [2013-11-25T16:03:38.483789 #12348] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
86
+ I, [2013-11-25T16:03:38.546129 #12348] INFO -- : Preparing to test logging via assert_log_entry_added
87
+ W, [2013-11-25T16:03:38.554017 #12348] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
88
+ I, [2013-11-25T16:14:54.344239 #12475] INFO -- : Preparing to test logging via assert_log_entry_added
89
+ W, [2013-11-25T16:14:54.354949 #12475] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
90
+ I, [2013-11-25T16:14:54.359362 #12475] INFO -- : Preparing to test logging via assert_log_entry_added
91
+ W, [2013-11-25T16:14:54.365191 #12475] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
92
+ W, [2013-11-25T16:23:49.503888 #12497] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<NoMethodError: undefined method `empty?' for nil:NilClass>
93
+ I, [2013-11-25T16:23:49.549467 #12497] INFO -- : Preparing to test logging via assert_log_entry_added
94
+ W, [2013-11-25T16:23:49.553579 #12497] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<NoMethodError: undefined method `empty?' for nil:NilClass>
95
+ W, [2013-11-25T16:23:49.563744 #12497] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<NoMethodError: undefined method `empty?' for nil:NilClass>
96
+ W, [2013-11-25T16:23:49.574069 #12497] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<NoMethodError: undefined method `empty?' for nil:NilClass>
97
+ I, [2013-11-25T16:23:49.598483 #12497] INFO -- : Preparing to test logging via assert_log_entry_added
98
+ W, [2013-11-25T16:23:49.603408 #12497] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<NoMethodError: undefined method `empty?' for nil:NilClass>
99
+ I, [2013-11-25T16:24:33.065466 #12503] INFO -- : Preparing to test logging via assert_log_entry_added
100
+ W, [2013-11-25T16:24:33.073027 #12503] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
101
+ I, [2013-11-25T16:24:33.101628 #12503] INFO -- : Preparing to test logging via assert_log_entry_added
102
+ W, [2013-11-25T16:24:33.107203 #12503] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
103
+ I, [2013-11-25T16:26:42.668122 #12511] INFO -- : Preparing to test logging via assert_log_entry_added
104
+ W, [2013-11-25T16:26:42.678779 #12511] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
105
+ I, [2013-11-25T16:26:42.737853 #12511] INFO -- : Preparing to test logging via assert_log_entry_added
106
+ W, [2013-11-25T16:26:42.743935 #12511] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
107
+ I, [2013-11-25T16:31:23.698494 #12521] INFO -- : Preparing to test logging via assert_log_entry_added
108
+ W, [2013-11-25T16:31:23.718245 #12521] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
109
+ I, [2013-11-25T16:31:23.788483 #12521] INFO -- : Preparing to test logging via assert_log_entry_added
110
+ W, [2013-11-25T16:31:23.794937 #12521] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
111
+ I, [2013-11-25T16:31:36.780488 #12533] INFO -- : Preparing to test logging via assert_log_entry_added
112
+ W, [2013-11-25T16:31:36.797683 #12533] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
113
+ I, [2013-11-25T16:31:36.823695 #12533] INFO -- : Preparing to test logging via assert_log_entry_added
114
+ W, [2013-11-25T16:31:36.829005 #12533] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
115
+ I, [2013-11-25T16:36:16.478166 #12590] INFO -- : Preparing to test logging via assert_log_entry_added
116
+ W, [2013-11-25T16:36:16.490172 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
117
+ I, [2013-11-25T16:36:16.521695 #12590] INFO -- : Preparing to test logging via assert_log_entry_added
118
+ W, [2013-11-25T16:36:16.528342 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
119
+ W, [2013-11-25T16:36:16.536018 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
120
+ W, [2013-11-25T16:36:16.547377 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
121
+ W, [2013-11-25T16:36:16.558226 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
122
+ W, [2013-11-25T16:36:16.739345 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
123
+ W, [2013-11-25T16:36:16.743663 #12590] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<TypeError: can't convert nil into Array>
124
+ I, [2013-11-25T16:37:06.900239 #12596] INFO -- : Preparing to test logging via assert_log_entry_added
125
+ W, [2013-11-25T16:37:06.917849 #12596] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
126
+ I, [2013-11-25T16:37:06.966460 #12596] INFO -- : Preparing to test logging via assert_log_entry_added
127
+ W, [2013-11-25T16:37:06.972528 #12596] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
128
+ I, [2013-11-25T16:37:37.683340 #12603] INFO -- : Preparing to test logging via assert_log_entry_added
129
+ W, [2013-11-25T16:37:37.694820 #12603] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
130
+ I, [2013-11-25T16:37:37.716183 #12603] INFO -- : Preparing to test logging via assert_log_entry_added
131
+ W, [2013-11-25T16:37:37.722940 #12603] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
132
+ I, [2013-11-26T08:04:39.077014 #3428] INFO -- : Preparing to test logging via assert_log_entry_added
133
+ W, [2013-11-26T08:04:39.115809 #3428] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
134
+ I, [2013-11-26T08:04:39.198116 #3428] INFO -- : Preparing to test logging via assert_log_entry_added
135
+ W, [2013-11-26T08:04:39.207608 #3428] WARN -- : Unable to retrieve remote partial at http://www.warwickshire.gov.uk: #<Net::HTTPBadRequest 400 readbody=true>
data/test/test_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'pathname'
1
2
  require 'minitest/unit'
2
3
  require 'webmock'
3
4
  require 'webmock/minitest'
@@ -92,4 +93,4 @@ class MiniTest::Unit::TestCase
92
93
  remove_file @partial.output_file_name
93
94
  end
94
95
 
95
- end
96
+ end
@@ -69,7 +69,7 @@ module RemotePartial
69
69
  assert_equal_ignoring_cr(@body, File.read(@path))
70
70
  end
71
71
 
72
- def test_connection_failure
72
+ def test_connection_failure
73
73
  enable_mock_connection_failure @url
74
74
  assert_raises RemotePartialRetrivalError do
75
75
  ResourceManager.new(@url, 'body').html
@@ -83,6 +83,27 @@ module RemotePartial
83
83
  end
84
84
  end
85
85
 
86
+ def test_http_proxy_environment_variable_not_set
87
+ ENV.delete('http_proxy')
88
+ uri = URI.parse @url
89
+ settings = ResourceManager.connection_settings(uri)
90
+ assert_equal([uri.host, uri.port], settings)
91
+ end
92
+
93
+ def test_http_proxy_environment_variable_without_credentials
94
+ ENV['http_proxy'] = "http://10.10.10.254:8080"
95
+ uri = URI.parse @url
96
+ settings = ResourceManager.connection_settings(uri)
97
+ assert_equal([uri.host, uri.port, '10.10.10.254', 8080, nil, nil], settings)
98
+ end
99
+
100
+ def test_http_proxy_environment_variable_with_credentials
101
+ ENV['http_proxy'] = "http://fred:daphne@10.10.10.254:8080"
102
+ uri = URI.parse @url
103
+ settings = ResourceManager.connection_settings(uri)
104
+ assert_equal([uri.host, uri.port, '10.10.10.254', 8080, 'fred', 'daphne'], settings)
105
+ end
106
+
86
107
  def raw_content
87
108
  Net::HTTP.get(URI(@url))
88
109
  end
@@ -91,7 +112,5 @@ module RemotePartial
91
112
  Nokogiri::HTML(raw_content)
92
113
  end
93
114
 
94
-
95
-
96
115
  end
97
116
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remote_partial
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
5
- prerelease:
4
+ version: 0.7.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Rob Nichols
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-27 00:00:00.000000000 Z
11
+ date: 2013-11-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: hashie
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,14 +34,13 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  description: ! "RemotePartial comprises:\n a system to grab content from a remote
47
42
  page and copy that content into partials;\n a process to allow content to be regularly
48
- updated;\n a helper method to ease inclusion of the partial with a view\"\n"
43
+ updated.\"\n"
49
44
  email:
50
45
  - rob@undervale.co.uk
51
46
  executables: []
@@ -76,27 +71,26 @@ files:
76
71
  homepage: https://github.com/warwickshire/remote_partial
77
72
  licenses:
78
73
  - MIT-LICENSE
74
+ metadata: {}
79
75
  post_install_message:
80
76
  rdoc_options: []
81
77
  require_paths:
82
78
  - lib
83
79
  required_ruby_version: !ruby/object:Gem::Requirement
84
- none: false
85
80
  requirements:
86
81
  - - ! '>='
87
82
  - !ruby/object:Gem::Version
88
83
  version: '0'
89
84
  required_rubygems_version: !ruby/object:Gem::Requirement
90
- none: false
91
85
  requirements:
92
86
  - - ! '>='
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0'
95
89
  requirements: []
96
90
  rubyforge_project:
97
- rubygems_version: 1.8.25
91
+ rubygems_version: 2.1.10
98
92
  signing_key:
99
- specification_version: 3
93
+ specification_version: 4
100
94
  summary: RemotePartial adds the facility to grab content from remote sites and add
101
95
  them as partials to the host app.
102
96
  test_files: