redis_template_resolver 0.2.0 → 0.3.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b7e1d74c2a0de4bce0900b3e48ea86aea6ac0ca5
4
+ data.tar.gz: f3b0f2309e27627534fb4d6df1e28520276c2e95
5
+ SHA512:
6
+ metadata.gz: 1a49d2eaa670d68a9f25d811de002bd4551cfa9fbfcfb5ac5417172983918c45884fe6d2696fba66bd6eb1ad2a71c100e670a821dc0df501a6c2ea400019cd55
7
+ data.tar.gz: 979f9d9c51be0c821558f8ae3b409687a227e375e368f7ada19639e2edb241a1e4106e4f0e03ef1863f8243c64573f2016edef9edf7ca40597808f585c906d72
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ v0.3.0
2
+ - Replace HTTParty with Curb. Will require libcurl + header files to be
3
+ installed
4
+
1
5
  v0.2.0
2
6
  - Ruby 2.0 compatibility
3
7
 
@@ -148,18 +148,20 @@ class RedisTemplateResolver < ActionView::Resolver
148
148
 
149
149
  Rails.logger.info "Fetching remote template from #{layout_url.inspect}"
150
150
 
151
- response = HTTParty.get( layout_url, :timeout => self.http_timeout )
152
- response_body = response.body
151
+ response = Curl.get( layout_url ) do |curl|
152
+ curl.timeout = self.http_timeout
153
+ end
154
+ response_body = response.body_str
153
155
 
154
- Rails.logger.info "Got remote template response code #{response.code} with body #{response_body.inspect}"
156
+ Rails.logger.info "Got remote template response code #{response.response_code} with body #{response_body.inspect}"
155
157
 
156
- return nil if response.code == 404
158
+ return nil if response.response_code == 404
157
159
 
158
160
  response_body = postprocess_template( response_body ) if respond_to?( :postprocess_template, true )
159
161
 
160
162
  return response_body
161
163
 
162
- rescue Timeout::Error, SocketError, Errno::ECONNREFUSED, TemplateRejectedError => e
164
+ rescue SocketError, Curl::Err::TimeoutError, Errno::ECONNREFUSED, TemplateRejectedError => e
163
165
  Rails.logger.error e.message
164
166
  return nil
165
167
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "redis_template_resolver"
3
- s.version = "0.2.0"
3
+ s.version = "0.3.0"
4
4
  s.homepage = "https://github.com/psd/redis_template_resolver"
5
5
  s.summary = "A template resolver for rails that retrieves templates via http and caches them in redis"
6
6
 
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
 
19
19
  s.add_runtime_dependency( "redis", "> 3.0.0" )
20
- s.add_runtime_dependency( "httparty", "> 0.8.0" )
20
+ s.add_runtime_dependency( "curb", "> 0.8.0" )
21
21
  s.add_runtime_dependency( "rails", "~> 3.2.6" )
22
22
  s.add_runtime_dependency( "activesupport", ">3.2.0" )
23
23
 
@@ -12,11 +12,11 @@ describe ExampleClass do
12
12
  let( :dummy_remote_template_with_html_escaped_tags ) { "dummy template {{flash}} {{body}} {{head}} {{headline}} {{title}}" }
13
13
 
14
14
  let( :fake_httparty_response ) do
15
- OpenStruct.new( :code => 200, :body => dummy_remote_template )
15
+ OpenStruct.new( :response_code => 200, :body_str => dummy_remote_template )
16
16
  end
17
17
 
18
18
  let( :fake_httparty_response_with_html_escaped_tags ) do
19
- OpenStruct.new( :code => 200, :body => dummy_remote_template_with_html_escaped_tags )
19
+ OpenStruct.new( :response_code => 200, :body_str => dummy_remote_template_with_html_escaped_tags )
20
20
  end
21
21
 
22
22
  let( :redis_connector ) do
@@ -47,7 +47,7 @@ describe ExampleClass do
47
47
  end
48
48
 
49
49
  it 'should continue processing if the guard function returns true' do
50
- HTTParty.stub!( :get => fake_httparty_response )
50
+ Curl.stub( :get => fake_httparty_response )
51
51
  ExampleClass.any_instance.stub( :resolver_guard ).and_return( true )
52
52
  result = subject.find_templates( "redis:template", "layouts", "", {} )
53
53
  result.first.source.should == dummy_remote_template
@@ -74,7 +74,7 @@ describe ExampleClass do
74
74
  context "if the template in the local cache is too old" do
75
75
  before( :each ) do
76
76
  Timecop.travel( described_class.local_cache_ttl.seconds.ago ) do
77
- HTTParty.stub!( :get ).and_return( fake_httparty_response )
77
+ Curl.stub( :get ).and_return( fake_httparty_response )
78
78
  subject.find_templates( name, prefix, partial, details )
79
79
  end
80
80
  end
@@ -89,7 +89,7 @@ describe ExampleClass do
89
89
  before( :each ) do
90
90
  target_time = described_class.local_cache_ttl - 2
91
91
  Timecop.travel( target_time.seconds.ago ) do
92
- HTTParty.stub!( :get => fake_httparty_response )
92
+ Curl.stub( :get => fake_httparty_response )
93
93
  subject.find_templates( name, prefix, partial, details )
94
94
  end
95
95
  end
@@ -109,7 +109,7 @@ describe ExampleClass do
109
109
 
110
110
  context "if a template could be found in the redis cache" do
111
111
  before( :each ) do
112
- redis_connector.stub!( :get ).and_return( dummy_remote_template )
112
+ redis_connector.stub( :get ).and_return( dummy_remote_template )
113
113
  end
114
114
 
115
115
  it "should store the template in the local cache for 60 seconds" do
@@ -126,7 +126,7 @@ describe ExampleClass do
126
126
  end
127
127
 
128
128
  it "should not fall back to http" do
129
- HTTParty.should_not_receive( :get )
129
+ Curl.should_not_receive( :get )
130
130
  subject.find_templates( name, prefix, partial, details )
131
131
  end
132
132
 
@@ -134,12 +134,12 @@ describe ExampleClass do
134
134
 
135
135
  context "if no template could be found in the redis cache" do
136
136
  before( :each ) do
137
- redis_connector.stub!( :get )
137
+ redis_connector.stub( :get )
138
138
  end
139
139
 
140
140
  context "if the template could be retrieved via HTTP" do
141
141
  before( :each ) do
142
- HTTParty.stub!( :get => fake_httparty_response )
142
+ Curl.stub( :get => fake_httparty_response )
143
143
  end
144
144
 
145
145
  it "should store the template in redis" do
@@ -164,7 +164,7 @@ describe ExampleClass do
164
164
 
165
165
  context "if the template could not be retrieved via HTTP" do
166
166
  before( :each ) do
167
- HTTParty.stub!( :get ).and_raise( Timeout::Error )
167
+ Curl.stub( :get ).and_raise( Curl::Err::TimeoutError )
168
168
  end
169
169
 
170
170
  it "should use the default template" do
@@ -3,7 +3,7 @@ require 'redis'
3
3
  require 'rails'
4
4
  require 'action_view'
5
5
  require 'active_support/core_ext/numeric/time'
6
- require 'httparty'
6
+ require 'curb'
7
7
  require 'timecop'
8
8
  require 'ostruct'
9
9
 
metadata CHANGED
@@ -1,130 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_template_resolver
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.2.0
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - ProSiebenSat.1 Ditital, Central Systems Architecture
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-26 00:00:00.000000000 Z
11
+ date: 2013-08-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- prerelease: false
16
- type: :runtime
17
14
  name: redis
18
- version_requirements: !ruby/object:Gem::Requirement
19
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
20
16
  requirements:
21
- - - ! '>'
17
+ - - '>'
22
18
  - !ruby/object:Gem::Version
23
19
  version: 3.0.0
24
- requirement: !ruby/object:Gem::Requirement
25
- none: false
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ! '>'
24
+ - - '>'
28
25
  - !ruby/object:Gem::Version
29
26
  version: 3.0.0
30
27
  - !ruby/object:Gem::Dependency
31
- prerelease: false
32
- type: :runtime
33
- name: httparty
34
- version_requirements: !ruby/object:Gem::Requirement
35
- none: false
28
+ name: curb
29
+ requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ! '>'
31
+ - - '>'
38
32
  - !ruby/object:Gem::Version
39
33
  version: 0.8.0
40
- requirement: !ruby/object:Gem::Requirement
41
- none: false
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
42
37
  requirements:
43
- - - ! '>'
38
+ - - '>'
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.8.0
46
41
  - !ruby/object:Gem::Dependency
47
- prerelease: false
48
- type: :runtime
49
42
  name: rails
50
- version_requirements: !ruby/object:Gem::Requirement
51
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
52
44
  requirements:
53
45
  - - ~>
54
46
  - !ruby/object:Gem::Version
55
47
  version: 3.2.6
56
- requirement: !ruby/object:Gem::Requirement
57
- none: false
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
54
  version: 3.2.6
62
55
  - !ruby/object:Gem::Dependency
63
- prerelease: false
64
- type: :runtime
65
56
  name: activesupport
66
- version_requirements: !ruby/object:Gem::Requirement
67
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
68
58
  requirements:
69
- - - ! '>'
59
+ - - '>'
70
60
  - !ruby/object:Gem::Version
71
61
  version: 3.2.0
72
- requirement: !ruby/object:Gem::Requirement
73
- none: false
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
74
65
  requirements:
75
- - - ! '>'
66
+ - - '>'
76
67
  - !ruby/object:Gem::Version
77
68
  version: 3.2.0
78
69
  - !ruby/object:Gem::Dependency
79
- prerelease: false
80
- type: :development
81
70
  name: rspec
82
- version_requirements: !ruby/object:Gem::Requirement
83
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
- - - ! '>'
73
+ - - '>'
86
74
  - !ruby/object:Gem::Version
87
75
  version: 2.10.0
88
- requirement: !ruby/object:Gem::Requirement
89
- none: false
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
90
79
  requirements:
91
- - - ! '>'
80
+ - - '>'
92
81
  - !ruby/object:Gem::Version
93
82
  version: 2.10.0
94
83
  - !ruby/object:Gem::Dependency
95
- prerelease: false
96
- type: :development
97
84
  name: simplecov
98
- version_requirements: !ruby/object:Gem::Requirement
99
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ! '>='
87
+ - - '>='
102
88
  - !ruby/object:Gem::Version
103
89
  version: '0'
104
- requirement: !ruby/object:Gem::Requirement
105
- none: false
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
- prerelease: false
112
- type: :development
113
98
  name: timecop
114
- version_requirements: !ruby/object:Gem::Requirement
115
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
116
100
  requirements:
117
- - - ! '>='
101
+ - - '>='
118
102
  - !ruby/object:Gem::Version
119
103
  version: '0'
120
- requirement: !ruby/object:Gem::Requirement
121
- none: false
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
- description: ! " A template resolver for rails 3.2. It retrieves templates via
127
- HTTP \n and stores them in a redis instance, as well as in local caches. \n"
111
+ description: " A template resolver for rails 3.2. It retrieves templates via HTTP
112
+ \n and stores them in a redis instance, as well as in local caches. \n"
128
113
  email:
129
114
  - sven.riedel@prosiebensat1digital.de
130
115
  executables: []
@@ -140,27 +125,26 @@ files:
140
125
  - spec/spec_helper.rb
141
126
  homepage: https://github.com/psd/redis_template_resolver
142
127
  licenses: []
128
+ metadata: {}
143
129
  post_install_message:
144
130
  rdoc_options: []
145
131
  require_paths:
146
132
  - lib
147
133
  required_ruby_version: !ruby/object:Gem::Requirement
148
- none: false
149
134
  requirements:
150
- - - ! '>='
135
+ - - '>='
151
136
  - !ruby/object:Gem::Version
152
137
  version: '0'
153
138
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
139
  requirements:
156
- - - ! '>='
140
+ - - '>='
157
141
  - !ruby/object:Gem::Version
158
142
  version: '0'
159
143
  requirements: []
160
144
  rubyforge_project:
161
- rubygems_version: 1.8.25
145
+ rubygems_version: 2.0.3
162
146
  signing_key:
163
- specification_version: 3
147
+ specification_version: 4
164
148
  summary: A template resolver for rails that retrieves templates via http and caches
165
149
  them in redis
166
150
  test_files: []