bizside 2.1.11 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e00f07cac4ef155557687062137c7220ba04b145199a2d577eb8215350ca21d2
4
- data.tar.gz: 9dd5e9869c6e33c975189baf995714f4d1e96dd038b26c60cb81db41d7f9b43a
3
+ metadata.gz: 684b653ee4921f968ac5419615dbd04e4ec314581a8942c0a7626711833247c5
4
+ data.tar.gz: c740c936e8027d969db49e66f63d75725cb10515f4a526e1631bd6b489af47d8
5
5
  SHA512:
6
- metadata.gz: 2671c42b0c8aeaca5026ec970d5ad9815ed93373d237d0752136960f116b8c821ec8fd5ce9c55a932a82ebd6e6a2c5ebc1a002d6cc838e6cb1415e43d07934fe
7
- data.tar.gz: 8909accf04f288e550eac6272d4bf72bae44098f2bb8f0015cc7577d2283fa37599a89733c1de1182cbf50d979c3f85b9c6ae7bcfbe36ddcbd90b1232dd2fd3c
6
+ metadata.gz: 48bd0994fce119c1e5681d242b095dab1cf5d812bcebb18ef28ebb89c3af66b6295bddb5c571240b1065443e7711f453119ace5988aa05921ec2a910b9066871
7
+ data.tar.gz: b2467222740be9070d261e61a30dac64ec44920617fc2dc49620c45a5e020b9d93e92f1e8b5b369484c1f64859237799c0918322cd2266e2de93df638660a515
@@ -351,7 +351,7 @@ module Bizside
351
351
  raise
352
352
  end
353
353
  error_after_queue = nil
354
- args_to_enqueue = Marshal.load(Marshal.dump(args)) # deep copy
354
+ args_to_enqueue = MultiJson.load(MultiJson.dump(args)) # deep copy
355
355
  begin
356
356
  klass.after_enqueue(*args) if klass.respond_to?(:after_enqueue)
357
357
  rescue => e
@@ -359,28 +359,26 @@ module Bizside
359
359
  error_after_queue = e
360
360
  end
361
361
 
362
- args = stringify_keys(args_to_enqueue)
363
-
364
362
  begin
365
363
  begin
366
- klass.before_perform(*args) if klass.respond_to?(:before_perform)
364
+ klass.before_perform(*args_to_enqueue) if klass.respond_to?(:before_perform)
367
365
  rescue ::Resque::Job::DontPerform
368
366
  return
369
367
  end
370
368
 
371
369
  perform = -> do
372
370
  Bizside.logger.info log_message
373
- klass.perform(*args)
371
+ klass.perform(*args_to_enqueue)
374
372
  end
375
373
  if klass.respond_to?(:around_perform)
376
- klass.around_perform(*args, &perform)
374
+ klass.around_perform(*args_to_enqueue, &perform)
377
375
  else
378
376
  perform.call
379
377
  end
380
378
 
381
- klass.after_perform(*args) if klass.respond_to?(:after_perform)
379
+ klass.after_perform(*args_to_enqueue) if klass.respond_to?(:after_perform)
382
380
  rescue => e
383
- klass.on_failure(e, *args) if klass.respond_to?(:on_failure)
381
+ klass.on_failure(e, *args_to_enqueue) if klass.respond_to?(:on_failure)
384
382
  raise
385
383
  ensure
386
384
  raise error_after_queue if error_after_queue
@@ -388,18 +386,5 @@ module Bizside
388
386
  end
389
387
  private_class_method :do_perform_and_hooks_instantly
390
388
 
391
- def self.stringify_keys(object)
392
- case object
393
- when Hash
394
- object.map {|k, v| [stringify_keys(k), stringify_keys(v)]}.to_h
395
- when Array
396
- object.map {|v| stringify_keys(v)}
397
- when Symbol
398
- object.to_s
399
- else
400
- object
401
- end
402
- end
403
- private_class_method :stringify_keys
404
389
  end
405
390
  end
@@ -0,0 +1,50 @@
1
+ require 'action_view'
2
+
3
+ class ActionView::TemplateRenderer
4
+
5
+ def render(context, options)
6
+ @details = extract_details(options)
7
+ template = get_template_by_user_agent(context, options)
8
+
9
+ prepend_formats(template.format)
10
+
11
+ render_template(context, template, options[:layout], options[:locals] || {})
12
+ end
13
+
14
+ private
15
+
16
+ def get_user_agent(context)
17
+ if context.respond_to?(:user_agent)
18
+ if context.respond_to?(:controller)
19
+ if context.controller.respond_to?(:session)
20
+ context.user_agent
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ def get_template_by_user_agent(context, options)
27
+ ret = nil
28
+ option_for_template = options[:template]
29
+
30
+ ua = get_user_agent(context)
31
+ if ua
32
+ ua.priorities.each do |priority|
33
+ begin
34
+ options[:template] = option_for_template + '.' + priority
35
+ ret = determine_template(options)
36
+ break
37
+ rescue ActionView::MissingTemplate
38
+ end
39
+ end
40
+ end
41
+
42
+ unless ret
43
+ options[:template] = option_for_template
44
+ ret = determine_template(options)
45
+ end
46
+
47
+ Rails.logger.debug "UserAgent: #{ua ? ua.name : 'unknown'} => #{ret.identifier}"
48
+ ret
49
+ end
50
+ end
@@ -5,6 +5,12 @@ when 5
5
5
  else
6
6
  load File.expand_path(File.join('action_view', 'action_view_4.rb'), __dir__)
7
7
  end
8
+ when 6
9
+ if Bizside.config.user_agent.use_variant?
10
+ load File.expand_path(File.join('action_view', 'use_variant.rb'), __dir__)
11
+ else
12
+ load File.expand_path(File.join('action_view', 'action_view_6.rb'), __dir__)
13
+ end
8
14
  else
9
15
  raise "Rails#{Rails::VERSION::MAJOR} はサポートしていません。"
10
16
  end
@@ -5,11 +5,7 @@ module Bizside
5
5
 
6
6
  included do
7
7
  case Rails::VERSION::MAJOR
8
- when 3
9
- before_filter :detect_user_agent
10
- when 4
11
- before_action :detect_user_agent
12
- when 5
8
+ when 5, 6
13
9
  before_action :detect_user_agent
14
10
  else
15
11
  raise "Rails-#{Rails::VERSION::MAJOR} は未対応です。"
@@ -1,3 +1,3 @@
1
1
  module Bizside
2
- VERSION = '2.1.11'
2
+ VERSION = '2.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bizside
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.11
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - bizside-developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-07 00:00:00.000000000 Z
11
+ date: 2022-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 5.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 6.0.0
22
+ version: 7.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 5.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.0.0
32
+ version: 7.0.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sdk-s3
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -162,6 +162,20 @@ dependencies:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: '3.1'
165
+ - !ruby/object:Gem::Dependency
166
+ name: multi_json
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '1.15'
172
+ type: :runtime
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.15'
165
179
  - !ruby/object:Gem::Dependency
166
180
  name: rake
167
181
  requirement: !ruby/object:Gem::Requirement
@@ -287,7 +301,7 @@ dependencies:
287
301
  version: 5.0.0
288
302
  - - "<"
289
303
  - !ruby/object:Gem::Version
290
- version: 6.0.0
304
+ version: 7.0.0
291
305
  type: :development
292
306
  prerelease: false
293
307
  version_requirements: !ruby/object:Gem::Requirement
@@ -297,7 +311,7 @@ dependencies:
297
311
  version: 5.0.0
298
312
  - - "<"
299
313
  - !ruby/object:Gem::Version
300
- version: 6.0.0
314
+ version: 7.0.0
301
315
  - !ruby/object:Gem::Dependency
302
316
  name: resque
303
317
  requirement: !ruby/object:Gem::Requirement
@@ -430,6 +444,7 @@ files:
430
444
  - lib/bizside/user_agent.rb
431
445
  - lib/bizside/user_agent/action_view.rb
432
446
  - lib/bizside/user_agent/action_view/action_view_4.rb
447
+ - lib/bizside/user_agent/action_view/action_view_6.rb
433
448
  - lib/bizside/user_agent/action_view/use_variant.rb
434
449
  - lib/bizside/user_agent/controller_helper.rb
435
450
  - lib/bizside/validations.rb