demo_mode 1.4.0 → 1.4.1

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: f46c5ac419af565102df4efa36cc8383f847cbe680a48c12b362bbbde6c83417
4
- data.tar.gz: b202d52d608dfbcf1c09fc880d34597b99c457bba786db624d414c671ffe1291
3
+ metadata.gz: e75a91ac2a0b995cd5fbcfa34904c1307aa0c6c92fcab77f1a688736d7c0b5c9
4
+ data.tar.gz: 9bf6279af73413607cbc11be096f1859310bf215dcd1f09282aab198f9519866
5
5
  SHA512:
6
- metadata.gz: 1da08b4e2d624471ac68b6417b16bd2217594d037d988906a80f6b6c760ddce5c576040c14fc97448efd766bf83da5a5d147fe35b0a216574cc642146bfa4852
7
- data.tar.gz: a6c9edbbc801d7976df372fbd2ecf6544bc9c64f89083a483bd8ea20f828b3c0f43177c899b618079ebc46de91b35e3e169616ff95cb72d270e6c7ce7669cf98
6
+ metadata.gz: 03554b83a0d69bcac5b4ace0a246468b6235f112aa5df2491e33622ee1538877edecab2d185a16611b9305741d3cccc7d1d8ea579089a0c87cf50b505ba2094b
7
+ data.tar.gz: 286eef0bd8b57736f4388d85bd0aaf7847f63d9cde752c90513f45ca03f5f67d080a49fe2ce02f1cbc522ba6b1c6520bdd82256c3e5e6cd350944d785122e588
@@ -25,7 +25,7 @@ module DemoMode
25
25
 
26
26
  def create
27
27
  @session = Session.new(create_params)
28
- @session.save_and_generate_account_later!
28
+ @session.save_and_generate_account_later!(**options_params.to_unsafe_h.deep_symbolize_keys)
29
29
  session[:demo_session] = { 'id' => @session.id, 'last_request_at' => Time.zone.now }
30
30
  respond_to do |f|
31
31
  f.html { redirect_to @session }
@@ -77,5 +77,9 @@ module DemoMode
77
77
  def create_params
78
78
  params.require(:session).permit(:persona_name, :variant)
79
79
  end
80
+
81
+ def options_params
82
+ params.fetch(:options, {}).permit!
83
+ end
80
84
  end
81
85
  end
@@ -2,12 +2,12 @@
2
2
 
3
3
  module DemoMode
4
4
  class AccountGenerationJob < DemoMode.base_job_name.constantize
5
- def perform(session)
5
+ def perform(session, **options)
6
6
  session.with_lock do
7
7
  persona = session.persona
8
8
  raise "Unknown persona: #{session.persona_name}" if persona.blank?
9
9
 
10
- signinable = persona.generate!(variant: session.variant, password: session.signinable_password)
10
+ signinable = persona.generate!(variant: session.variant, password: session.signinable_password, options: options)
11
11
  session.update!(signinable: signinable)
12
12
  end
13
13
  raise "Failed to create signinable persona!" if session.signinable.blank?
@@ -25,17 +25,17 @@ module DemoMode
25
25
  DemoMode.personas.find { |p| p.name.to_s == persona_name.to_s }
26
26
  end
27
27
 
28
- def save_and_generate_account!
28
+ def save_and_generate_account!(**options)
29
29
  transaction do
30
30
  save!
31
- AccountGenerationJob.perform_now(self)
31
+ AccountGenerationJob.perform_now(self, **options)
32
32
  end
33
33
  end
34
34
 
35
- def save_and_generate_account_later!
35
+ def save_and_generate_account_later!(**options)
36
36
  transaction do
37
37
  save!
38
- AccountGenerationJob.perform_later(self)
38
+ AccountGenerationJob.perform_later(self, **options)
39
39
  end
40
40
  end
41
41
 
@@ -54,11 +54,11 @@ module DemoMode
54
54
  @variants ||= {}.with_indifferent_access
55
55
  end
56
56
 
57
- def generate!(variant: :default, password: nil)
57
+ def generate!(variant: :default, password: nil, options: {})
58
58
  variant = variants[variant]
59
59
  CleverSequence.reset! if defined?(CleverSequence)
60
60
  DemoMode.current_password = password if password
61
- DemoMode.around_persona_generation.call(variant.signinable_generator)
61
+ DemoMode.around_persona_generation.call(variant.signinable_generator, **options)
62
62
  ensure
63
63
  DemoMode.current_password = nil
64
64
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DemoMode
4
- VERSION = '1.4.0'
4
+ VERSION = '1.4.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: demo_mode
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Griffith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-23 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cli-ui