mobile_workflow 0.6.20 → 0.6.21

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: 55675b4659ac2692794e54ec7587d61c6a1093e2057bffb9e42a6087a24b3e85
4
- data.tar.gz: 26420e57c4a6d448a9e3acd90f3aabb4cb408d1ad531be7524b03326b054f25a
3
+ metadata.gz: 974cb70825d3d8b73af77e17adaedf222d6e67e0b0940c0d7158dac1d3c12c3e
4
+ data.tar.gz: 35588fbd42ae9dacf7e0e0162df48d7442126c7e874efc14fa1fd440b7989dfb
5
5
  SHA512:
6
- metadata.gz: 12e6e1ca09960e11f7a16de3f1301d23d7f3e8e48b9f486f427b8a17277bddc89e232a0655f112a902d7d89eb7a23fe2d488eab3cca5b4d49f85a1e122b1e509
7
- data.tar.gz: 83c589d7d395f43db6d29df3d6c30505019679a47312dc69ed694920904440933f1f93058c77fc5b3b5adbfcc410f045833d3b010851523db4f5aebbd5b577c1
6
+ metadata.gz: b54532ff2c16360d7ec9b9bdd8e5b0fe22b793a41cad4c090a447c35c11f961949ab948c78afb89063eccc9c6f5622abc8db42812ee096734b9235916f45c537
7
+ data.tar.gz: 67d3a4b2889644571377b9bd1ef69a56ce5e0bc577e053cdd2f5915c877163632fd4b27354c8182af26e26e729d3de73d9bc47c1b165aee9381ae3d7d097b019
@@ -57,27 +57,30 @@ module MobileWorkflow
57
57
 
58
58
  {type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success}.compact
59
59
  end
60
-
61
- def mw_display_button_for_url(label:, url:, method: :put, style: :primary, confirm_title: nil, confirm_text: nil, on_success: :reload)
60
+
61
+ def mw_display_url_button(label:, url:, method: :put, style: :primary, confirm_title: nil, confirm_text: nil, on_success: :reload)
62
62
  validate_on_success!(on_success)
63
63
  validate_button_style!(style)
64
64
 
65
65
  {type: :button, label: label, url: url, method: method, style: style, confirmTitle: confirm_title, confirmText: confirm_text, onSuccess: on_success}.compact
66
66
  end
67
+ alias_method :mw_display_button_for_url, :mw_display_url_button
67
68
 
68
- def mw_display_button_for_system_url(label:, apple_system_url: nil, android_deep_link: nil, style: :primary)
69
+ def mw_display_system_url_button(label:, apple_system_url: nil, android_deep_link: nil, style: :primary)
69
70
  validate_button_style!(style)
70
71
  raise 'Invalid android_deep_link' unless android_deep_link.start_with?('http')
71
72
 
72
73
  {type: :button, label: label, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link, style: style}.compact
73
74
  end
75
+ alias_method :mw_display_button_for_system_url, :mw_display_system_url_button
74
76
 
75
- def mw_display_button_for_modal_workflow(label:, modal_workflow_name:, style: :primary, on_success: :none)
77
+ def mw_display_modal_workflow_button(label:, modal_workflow_name:, style: :primary, on_success: :none)
76
78
  validate_on_success!(on_success)
77
79
  validate_button_style!(style)
78
80
 
79
81
  {type: :button, label: label, modalWorkflow: modal_workflow_name, style: style, onSuccess: on_success}.compact
80
82
  end
83
+ alias_method :mw_display_button_for_modal_workflow, :mw_display_modal_workflow_button
81
84
 
82
85
  private
83
86
  def validate_on_success!(on_success)
@@ -1,5 +1,5 @@
1
1
  require "mobile_workflow/engine"
2
2
 
3
3
  module MobileWorkflow
4
- # Your code goes here...
4
+ require 'mobile_workflow/railtie' if defined?(Rails)
5
5
  end
@@ -0,0 +1,13 @@
1
+ require 'mobile_workflow'
2
+ require 'rails'
3
+
4
+ module MobileWorkflow
5
+ class Railtie < Rails::Railtie
6
+ railtie_name :mobile_workflow
7
+
8
+ rake_tasks do
9
+ path = File.expand_path(__dir__)
10
+ Dir.glob("#{path}/tasks/**/*.rake").each { |f| load f }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,58 @@
1
+ require 'json'
2
+
3
+ def each_step(json, type)
4
+ json['workflows'].map{|w| w["steps"].select {|s| s["type"] == type.to_s}}.flatten.each do |step|
5
+ yield(step)
6
+ end
7
+ end
8
+
9
+ def replace_oauth(app_json)
10
+ client_id = ENV["CLIENT_ID"]
11
+ client_secret = ENV["CLIENT_SECRET"]
12
+ redirect_scheme = ENV["SCHEME"]
13
+
14
+ each_step(app_json, :networkOAuth2) do |step|
15
+ step["items"].each do |item|
16
+ if item["oAuth2ClientId"]
17
+ item["oAuth2ClientId"] = client_id
18
+ item["oAuth2ClientSecret"] = client_secret
19
+ item["oAuth2RedirectScheme"] = redirect_scheme
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ def replace_servers(app_json)
26
+ server_url = ENV["SERVER_URL"]
27
+ base_url = ENV["PREVIOUS_SERVER_URL"]
28
+
29
+ app_json["servers"].each do |server|
30
+ server["url"] = server_url
31
+ end
32
+
33
+ each_step(app_json, :display) do |step|
34
+ step["items"].each do |item|
35
+ ["appleSystemURL", "androidDeepLink"].each{|key| item[key] = item[key].gsub(base_url, server_url) }
36
+ end
37
+ end
38
+ end
39
+
40
+ def env_set(path)
41
+ app_json = JSON.parse(File.read(app_json_path))
42
+ replace_oauth(app_json)
43
+ replace_servers(app_json)
44
+ File.write(app_json_path, app_json.to_json)
45
+ end
46
+
47
+ namespace :env_set do
48
+ desc 'Update Android app.json to use new env'
49
+ task :android do
50
+ env_set(File.join('app', 'src', 'main', 'res', 'raw', 'app.json'))
51
+ end
52
+
53
+ desc 'Update iOS app.json to use new env'
54
+ task :ios do
55
+ project_name = ENV["PROJECT_NAME"]
56
+ env_set(File.join(project_name, project_name, "Resources", "app.json"))
57
+ end
58
+ end
@@ -1,5 +1,5 @@
1
1
  module MobileWorkflow
2
- VERSION = '0.6.20'
2
+ VERSION = '0.6.21'
3
3
  RUBY_VERSION = '2.7.2'
4
4
  RAILS_VERSION = '6.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mobile_workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.20
4
+ version: 0.6.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brooke-Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-05 00:00:00.000000000 Z
11
+ date: 2021-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -137,6 +137,8 @@ files:
137
137
  - lib/mobile_workflow/cli/heroku_backend.rb
138
138
  - lib/mobile_workflow/engine.rb
139
139
  - lib/mobile_workflow/open_api_spec/parser.rb
140
+ - lib/mobile_workflow/railtie.rb
141
+ - lib/mobile_workflow/tasks/env_set.rake
140
142
  - lib/mobile_workflow/version.rb
141
143
  homepage: https://github.com/futureworkshops/mobile_workflow
142
144
  licenses: