redis_template_resolver 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []