copy_tuner_client 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/gemfiles/2.3.gemfile.lock +1 -1
- data/gemfiles/3.0.gemfile.lock +1 -1
- data/gemfiles/3.1.gemfile.lock +1 -1
- data/lib/copy_tuner_client/configuration.rb +6 -2
- data/lib/copy_tuner_client/request_sync.rb +11 -2
- data/lib/copy_tuner_client/version.rb +1 -1
- data/spec/copy_tuner_client/configuration_spec.rb +1 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/gemfiles/2.3.gemfile.lock
CHANGED
data/gemfiles/3.0.gemfile.lock
CHANGED
data/gemfiles/3.1.gemfile.lock
CHANGED
@@ -15,7 +15,8 @@ module CopyTunerClient
|
|
15
15
|
OPTIONS = [:api_key, :development_environments, :environment_name, :host,
|
16
16
|
:http_open_timeout, :http_read_timeout, :client_name, :client_url,
|
17
17
|
:client_version, :port, :protocol, :proxy_host, :proxy_pass,
|
18
|
-
:proxy_port, :proxy_user, :secure, :polling_delay, :sync_interval,
|
18
|
+
:proxy_port, :proxy_user, :secure, :polling_delay, :sync_interval,
|
19
|
+
:sync_interval_staging, :sync_ignore_path_regex, :logger,
|
19
20
|
:framework, :middleware, :disable_middleware, :disable_test_translation, :ca_file].freeze
|
20
21
|
|
21
22
|
# @return [String] The API key for your project, found on the project edit form.
|
@@ -78,6 +79,9 @@ module CopyTunerClient
|
|
78
79
|
# @return [Integer] The time, in seconds, in between each sync to the server in development. Defaults to +60+.
|
79
80
|
attr_accessor :sync_interval_staging
|
80
81
|
|
82
|
+
# @return [Regex] Format ignore hook middleware sync
|
83
|
+
attr_accessor :sync_ignore_path_regex
|
84
|
+
|
81
85
|
# @return [Logger] Where to log messages. Must respond to same interface as Logger.
|
82
86
|
attr_reader :logger
|
83
87
|
|
@@ -186,7 +190,7 @@ module CopyTunerClient
|
|
186
190
|
|
187
191
|
if middleware && development? && !disable_middleware
|
188
192
|
logger.info "Using copytuner sync middleware"
|
189
|
-
middleware.use RequestSync, :cache => cache, :interval => sync_interval
|
193
|
+
middleware.use RequestSync, :cache => cache, :interval => sync_interval, :ignore_regex => sync_ignore_path_regex
|
190
194
|
else
|
191
195
|
logger.info "[[[Warn]]] Not useing copytuner sync middleware" unless middleware
|
192
196
|
end
|
@@ -18,6 +18,7 @@ module CopyTunerClient
|
|
18
18
|
@app = app
|
19
19
|
@cache = options[:cache]
|
20
20
|
@interval = options[:interval]
|
21
|
+
@ignore_regex = options[:ignore_regex]
|
21
22
|
@last_synced = options[:last_synced]
|
22
23
|
end
|
23
24
|
|
@@ -29,9 +30,9 @@ module CopyTunerClient
|
|
29
30
|
if /^\/copytuner/ =~ ::Rack::Request.new(env).path_info
|
30
31
|
dup._call(env)
|
31
32
|
else
|
32
|
-
@cache.download unless
|
33
|
+
@cache.download unless cancel_sync?(env)
|
33
34
|
response = @app.call(env)
|
34
|
-
@cache.flush unless
|
35
|
+
@cache.flush unless cancel_sync?(env)
|
35
36
|
update_last_synced unless in_interval?
|
36
37
|
response
|
37
38
|
end
|
@@ -111,6 +112,14 @@ module CopyTunerClient
|
|
111
112
|
ERB.new(File.read(File.join(VIEW_PATH, 'copytuner', view.to_s + '.html.erb')), nil, nil, 'frobnitz').result(binding)
|
112
113
|
end
|
113
114
|
|
115
|
+
def cancel_sync?(env)
|
116
|
+
asset_request?(env) or ignore_regex_request?(env) or in_interval?
|
117
|
+
end
|
118
|
+
|
119
|
+
def ignore_regex_request?(env)
|
120
|
+
env['PATH_INFO'] =~ @ignore_regex
|
121
|
+
end
|
122
|
+
|
114
123
|
def asset_request?(env)
|
115
124
|
env['PATH_INFO'] =~ /^\/assets/
|
116
125
|
end
|
@@ -195,7 +195,7 @@ end
|
|
195
195
|
share_examples_for 'applied configuration' do
|
196
196
|
subject { CopyTunerClient::Configuration.new }
|
197
197
|
let(:backend) { stub('i18n-backend') }
|
198
|
-
let(:cache) { stub('cache') }
|
198
|
+
let(:cache) { stub('cache', download: "download") }
|
199
199
|
let(:client) { stub('client') }
|
200
200
|
let(:logger) { FakeLogger.new }
|
201
201
|
let(:poller) { stub('poller') }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: copy_tuner_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
@@ -362,7 +362,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
362
362
|
version: '0'
|
363
363
|
segments:
|
364
364
|
- 0
|
365
|
-
hash:
|
365
|
+
hash: 2325387855462933004
|
366
366
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
367
367
|
none: false
|
368
368
|
requirements:
|
@@ -371,7 +371,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
371
371
|
version: '0'
|
372
372
|
segments:
|
373
373
|
- 0
|
374
|
-
hash:
|
374
|
+
hash: 2325387855462933004
|
375
375
|
requirements: []
|
376
376
|
rubyforge_project:
|
377
377
|
rubygems_version: 1.8.23
|