mobile_workflow 0.8.9 → 0.10.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: 229a8fe990726594fdb6036508c678da2c53f8488309874627f743130400cb5b
4
- data.tar.gz: 3922375cd7e5e56448780d033f5e7a24e2e2afa1a4169fb651e2ecd5430b48d4
3
+ metadata.gz: f6bc602fc017e13c879d0af658c78c4602b8fc98c17151cf08f00779e9def092
4
+ data.tar.gz: a16ece326988573447b5bbd8d6a134c0c4a4bfb663e7901f0f15cfd5e0b10613
5
5
  SHA512:
6
- metadata.gz: dd63ea333db40bcbed5e72dbce3ed2488c64433245bea45779a50c0373c01c381dd0635c85070ec11083cce855d88894a9ce5ece9112316b69a7d5330c955c15
7
- data.tar.gz: 87a0fa463d22dc0e78abf0f3ddd3c96a6f89c6f70a092179845a1d2ca1df328766aeb706e2b75ba6a04cb7ebf093ea1ccd0b2e398bfc11cca6a0a4249f30b4dd
6
+ metadata.gz: 24da3b05af9fd839b58ac237c520787810f46237bce6ef38d0f443615c83b3a98adc08e989add95922219a466e95f766bc3fce32a9df3333b9c989aba933cbd2
7
+ data.tar.gz: 3a61512e3e71def3ebcce55f3cffc67c7858355b6d9d0e2912956a66a0ae81c985602f14b32aaa870964db6af3a60a47a896bd36d35f8f0ff1e36d629cd4d848
data/README.md CHANGED
@@ -26,89 +26,6 @@ Or install it yourself as:
26
26
  $ gem install mobile_workflow
27
27
  ```
28
28
 
29
- ## Upgrade to version 0.7.7 or higher
30
- The following utility methods have changed their parameters:
31
-
32
- ```ruby
33
- # app/models/concerns/mobile_workflow/displayable/steps/styled_content/grid.rb#20
34
- def mw_grid_item(id: self.id, text:, detail_text: nil, preview_url: nil)
35
- raise 'Missing id' if id.nil?
36
- raise 'Missing text' if text.nil?
37
-
38
- { id: id, text: text, type: :item, detailText: detail_text, imageURL: preview_url }.compact
39
- end
40
-
41
- # app/models/concerns/mobile_workflow/displayable/steps/styled_content/stack.rb#20
42
- def mw_stack_list_item(id:, text:, detail_text: nil, preview_url: nil)
43
- raise 'Missing id' if id.nil?
44
- raise 'Missing text' if text.nil?
45
-
46
- { id: id.to_s, text: text, detailText: detail_text, type: :listItem, imageURL: preview_url }.compact
47
- end
48
-
49
- # app/models/concerns/mobile_workflow/displayable/steps/list.rb#5
50
- def mw_list_item(id: self.id, text:, detail_text: nil, sf_symbol_name: nil, material_icon_name: nil, preview_url: nil)
51
- { id: id, text: text, detailText: detail_text, sfSymbolName: sf_symbol_name, materialIconName: material_icon_name, imageURL: preview_url }.compact
52
- end
53
-
54
- # app/models/concerns/mobile_workflow/displayable/steps/stack.rb#26
55
- def mw_display_video(preview_url:, attachment_url:)
56
- {type: :video, previewURL: preview_url, url: attachment_url}
57
- end
58
-
59
- # app/models/concerns/mobile_workflow/displayable/steps/stack.rb#11
60
- def mw_display_image(preview_url:, attachment_url:, content_mode: :scale_aspect_fill)
61
- validate_content_mode!(content_mode)
62
-
63
- {type: :image, contentMode: camelcase_converter(content_mode.to_s, first_letter: :lower), previewURL: preview_url, url: attachment_url}
64
- end
65
- ```
66
-
67
- All URLs MUST now be explicitly sent as arguments to the above methods, which means they must be previously set. If not, the methods will not work.
68
-
69
- In order to support projects using `ActiveStorage`, there is a new model concern `MobileWorkflow::Attachable` that provides a few helpers. This is what you can do to upgrade if you use ActiveStorage (otherwise the helpers must be manually created):
70
-
71
- 1. Include the concern in the `ApplicationRecord` class, together with `MobileWorkflow::Displayable`:
72
-
73
- ```ruby
74
- class ApplicationRecord < ActiveRecord::Base
75
- include MobileWorkflow::Attachable
76
- include MobileWorkflow::Displayable
77
- end
78
- ```
79
-
80
- 2. Once included, the following helpers will be available, so use them to generate the intended URLs:
81
-
82
- ```ruby
83
- def preview_url(attachment, options: { resize_to_fill: [200, 200] })
84
- return nil unless attachment.attached?
85
-
86
- if attachment.image?
87
- rails_representation_url(attachment.variant(options), host: heroku_attachment_host)
88
- elsif attachment.previewable?
89
- rails_representation_url(attachment.preview(options), host: heroku_attachment_host)
90
- else
91
- return nil
92
- end
93
- end
94
-
95
- def attachment_url(attachment)
96
- return nil unless attachment.attached?
97
-
98
- rails_blob_url(attachment, host: heroku_attachment_host)
99
- end
100
- ```
101
-
102
- Example of use:
103
- ```ruby
104
- # Old method call
105
- mw_list_item(text: 'John Doe', detail_text: 'Company Name', image_attachment: <ActiveStorage::Attached::One>, image_url: 'https://test.org/preview')
106
-
107
- # New method call
108
- preview_url = preview_url(<ActiveStorage::Attached::One>, options: { resize_to_fill: [200, 200] }) || 'https://test.org/preview'
109
- mw_list_item(text: 'John Doe', detail_text: 'Company Name', preview_url: preview_url)
110
- ```
111
-
112
29
  ## Contributing
113
30
  Contribution directions go here.
114
31
 
@@ -17,12 +17,16 @@ module MobileWorkflow
17
17
 
18
18
  def attachment_url(attachment)
19
19
  return nil unless attachment.attached?
20
-
21
- rails_blob_url(attachment, host: heroku_attachment_host)
20
+
21
+ rails_blob_url(attachment, host: attachment_host)
22
22
  end
23
23
 
24
24
  private
25
25
 
26
+ def attachment_host
27
+ ENV.fetch('ATTACHMENTS_HOST', heroku_attachment_host)
28
+ end
29
+
26
30
  def heroku_attachment_host
27
31
  # TODO: MBS - move this to a configuration property
28
32
  app_name = Rails.env.test? ? 'test-app' : ENV.fetch('HEROKU_APP_NAME')
@@ -1,70 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+
1
4
  module MobileWorkflow
2
5
  module Displayable
3
6
  module Steps
4
7
  module Form
5
- def mw_form_section(label:, identifier:)
8
+ def mw_form_section(label:, id:)
6
9
  raise 'Missing label' if label.nil?
7
- raise 'Missing identifier' if identifier.nil?
8
-
9
- { item_type: :section, label: label, identifier: identifier }
10
+ raise 'Missing id' if id.nil?
11
+
12
+ { item_type: :section, id: id, label: label }
10
13
  end
11
-
12
- def mw_form_multiple_selection(label:, identifier:, multiple_selection_options:, selection_type: :single, optional: false, show_other_option: false)
14
+
15
+ def mw_form_multiple_selection(label:, multiple_selection_options:, id:, selection_type: :single, optional: false, show_other_option: false)
13
16
  raise 'Missing label' if label.nil?
14
- raise 'Missing identifier' if identifier.nil?
17
+ raise 'Missing id' if id.nil?
15
18
  raise 'Missing multiple selection options' if multiple_selection_options.nil?
16
-
17
- { item_type: :multiple_selection, label: label, identifier: identifier, multiple_selection_options: multiple_selection_options, selection_type: selection_type, optional: optional, show_other_option: show_other_option }
19
+
20
+ { item_type: :multiple_selection, id: id, label: label,
21
+ multiple_selection_options: multiple_selection_options, selection_type: selection_type, optional: optional, show_other_option: show_other_option }
18
22
  end
19
-
23
+
20
24
  def mw_form_multiple_selection_options(text:, hint: nil, is_pre_selected: false)
21
25
  raise 'Missing text' if text.nil?
22
-
26
+
23
27
  { text: text, hint: hint, isPreSelected: is_pre_selected }
24
28
  end
25
-
26
- def mw_form_number(label:, identifier:, placeholder: nil, optional: false, symbol_position: :leading, default_text_answer: nil, hint: nil)
29
+
30
+ def mw_form_number(label:, id:, placeholder: nil, optional: false, symbol_position: :leading, default_text_answer: nil, hint: nil)
27
31
  raise 'Missing label' if label.nil?
28
- raise 'Missing identifier' if identifier.nil?
29
-
30
- { item_type: :number, number_type: :number, label: label, identifier: identifier, placeholder: placeholder, optional: optional, symbol_position: symbol_position, default_text_answer: default_text_answer, hint: hint }
32
+ raise 'Missing id' if id.nil?
33
+
34
+ { item_type: :number, number_type: :number, id: id, label: label,
35
+ placeholder: placeholder, optional: optional, symbol_position: symbol_position, default_text_answer: default_text_answer, hint: hint }
31
36
  end
32
-
33
- def mw_form_text(label:, identifier:, placeholder: nil, optional: false, multiline: false, default_text_answer: nil)
37
+
38
+ def mw_form_text(label:, id:, placeholder: nil, optional: false, multiline: false, default_text_answer: nil, hint: nil)
34
39
  raise 'Missing label' if label.nil?
35
- raise 'Missing identifier' if identifier.nil?
36
-
37
- { item_type: :text, label: label, identifier: identifier, placeholder: placeholder, optional: optional, multiline: multiline, default_text_answer: default_text_answer }
40
+ raise 'Missing id' if id.nil?
41
+
42
+ { item_type: :text, id: id, label: label, placeholder: placeholder,
43
+ optional: optional, multiline: multiline, default_text_answer: default_text_answer, hint: hint }
38
44
  end
39
-
40
- def mw_form_date(label:, identifier:, optional: false, default_text_answer: nil)
45
+
46
+ def mw_form_date(label:, id:, optional: false, default_text_answer: nil)
41
47
  raise 'Missing label' if label.nil?
42
- raise 'Missing identifier' if identifier.nil?
43
-
44
- { item_type: :date, date_type: :calendar, label: label, identifier: identifier, optional: optional, default_text_answer: default_text_answer }
48
+ raise 'Missing id' if id.nil?
49
+
50
+ { item_type: :date, date_type: :calendar, id: id, label: label, optional: optional,
51
+ default_text_answer: default_text_answer }
45
52
  end
46
-
47
- def mw_form_time(label:, identifier:, optional: false, default_text_answer: nil)
53
+
54
+ def mw_form_time(label:, id:, optional: false, default_text_answer: nil)
48
55
  raise 'Missing label' if label.nil?
49
- raise 'Missing identifier' if identifier.nil?
50
-
51
- { item_type: :time, label: label, identifier: identifier, optional: optional, default_text_answer: default_text_answer }
56
+ raise 'Missing id' if id.nil?
57
+
58
+ { item_type: :time, id: id, label: label, optional: optional,
59
+ default_text_answer: default_text_answer }
52
60
  end
53
-
54
- def mw_form_email(label:, identifier:, placeholder: nil, optional: false, default_text_answer: nil)
61
+
62
+ def mw_form_email(label:, id:, placeholder: nil, optional: false, default_text_answer: nil)
55
63
  raise 'Missing label' if label.nil?
56
- raise 'Missing identifier' if identifier.nil?
57
-
58
- { item_type: :email, label: label, identifier: identifier, placeholder: placeholder, optional: optional, default_text_answer: default_text_answer }
64
+ raise 'Missing id' if id.nil?
65
+
66
+ { item_type: :email, id: id, label: label, placeholder: placeholder,
67
+ optional: optional, default_text_answer: default_text_answer }
59
68
  end
60
-
61
- def mw_form_password(label:, identifier:, placeholder: nil, optional: false, default_text_answer: nil, hint: nil)
69
+
70
+ def mw_form_password(label:, id:, placeholder: nil, optional: false, default_text_answer: nil, hint: nil)
62
71
  raise 'Missing label' if label.nil?
63
- raise 'Missing identifier' if identifier.nil?
64
-
65
- { item_type: :secure, label: label, identifier: identifier, placeholder: placeholder, optional: optional, default_text_answer: default_text_answer, hint: hint }
72
+ raise 'Missing id' if id.nil?
73
+
74
+ { item_type: :secure, id: id, label: label, placeholder: placeholder,
75
+ optional: optional, default_text_answer: default_text_answer, hint: hint }
66
76
  end
67
77
  end
68
78
  end
69
79
  end
70
- end
80
+ end
@@ -1,41 +1,40 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MobileWorkflow
2
4
  module Displayable
3
5
  module Steps
4
6
  module StyledContent
5
7
  module Stack
6
- def mw_stack_title(id:, title:)
7
- raise 'Missing id' if id.nil?
8
+ def mw_stack_title(title:)
8
9
  raise 'Missing title' if title.nil?
9
-
10
+
10
11
  { id: id, title: title, type: :title }
11
12
  end
12
-
13
- def mw_stack_text(id:, text:)
14
- raise 'Missing id' if id.nil?
13
+
14
+ def mw_stack_text(text:)
15
15
  raise 'Missing text' if text.nil?
16
-
17
- { id: id, text: text, type: :text }
16
+
17
+ { text: text, type: :text }
18
18
  end
19
-
20
- def mw_stack_list_item(id:, text:, detail_text: nil, preview_url: nil)
21
- raise 'Missing id' if id.nil?
19
+
20
+ def mw_stack_list_item(text:, detail_text: nil, preview_url: nil)
22
21
  raise 'Missing text' if text.nil?
23
-
24
- { id: id.to_s, text: text, detailText: detail_text, type: :listItem, imageURL: preview_url }.compact
22
+
23
+ { text: text, detailText: detail_text, type: :listItem, imageURL: preview_url }.compact
25
24
  end
26
25
 
27
26
  # Remove `modal_workflow_name` argument once V1 is no longer being used
28
- def mw_stack_button(id:, label:, url: nil, method: :nil, on_success: :none, style: :primary, modal_workflow_name: nil, link_id: nil, link_url: nil, sf_symbol_name: nil, apple_system_url: nil, android_deep_link: nil, confirm_title: nil, confirm_text: nil, share_text: nil, share_image_url: nil)
29
- raise 'Missing id' if id.nil?
27
+ def mw_stack_button(label:, url: nil, method: :nil, on_success: :none, style: :primary, modal_workflow_name: nil, link_id: nil, link_url: nil, sf_symbol_name: nil, apple_system_url: nil, android_deep_link: nil, confirm_title: nil, confirm_text: nil, share_text: nil, share_image_url: nil)
30
28
  raise 'Missing label' if label.nil?
31
-
29
+
32
30
  validate_on_success!(on_success)
33
31
  validate_button_style!(style)
34
-
35
- { id: id, type: :button, label: label, url: url, method: method, onSuccess: on_success, style: style, modalWorkflow: modal_workflow_name, linkId: link_id, linkURL: link_url, sfSymbolName: sf_symbol_name, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link, confirmTitle: confirm_title, confirmText: confirm_text, shareText: share_text, shareImageURL: share_image_url }.compact
32
+
33
+ { type: :button, label: label, url: url, method: method, onSuccess: on_success, style: style,
34
+ modalWorkflow: modal_workflow_name, linkId: link_id, linkURL: link_url, sfSymbolName: sf_symbol_name, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link, confirmTitle: confirm_title, confirmText: confirm_text, shareText: share_text, shareImageURL: share_image_url }.compact
36
35
  end
37
36
  end
38
37
  end
39
38
  end
40
39
  end
41
- end
40
+ end
@@ -1,5 +1,5 @@
1
1
  module MobileWorkflow
2
- VERSION = '0.8.9'
2
+ VERSION = '0.10.1'
3
3
  RUBY_VERSION = '2.7.3'
4
4
  RAILS_VERSION = '6.1.3.1'
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.8.9
4
+ version: 0.10.1
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: 2022-01-27 00:00:00.000000000 Z
11
+ date: 2022-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3