bizside 2.1.11 → 2.2.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.
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