mobile_workflow 0.6.15 → 0.6.20

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: 70b47d5100717238d1b3a8251f6f4d12ea3b3238574bcfa3d5e1f93fc9ba6147
4
- data.tar.gz: d752174d98519ec5ebdd98007b8d8956c9e0b40f845df1200ee50c8a915fb7b5
3
+ metadata.gz: 55675b4659ac2692794e54ec7587d61c6a1093e2057bffb9e42a6087a24b3e85
4
+ data.tar.gz: 26420e57c4a6d448a9e3acd90f3aabb4cb408d1ad531be7524b03326b054f25a
5
5
  SHA512:
6
- metadata.gz: aaf8809dae9ad487dda543d0619a272aa174dc881c2cb6b941701c0eda093798eadbf46808d05a2a2a828163e3f0068e45d17f099ec149865e72424da75ce9f6
7
- data.tar.gz: e7948f530072740a2e7716dafc6b95c5a1176a07be0b6f640332ca23b404edc1bf61a8718736aac7e49a09faae176b73b6393ec0c1c7188e5dfff9c299d2bf90
6
+ metadata.gz: 12e6e1ca09960e11f7a16de3f1301d23d7f3e8e48b9f486f427b8a17277bddc89e232a0655f112a902d7d89eb7a23fe2d488eab3cca5b4d49f85a1e122b1e509
7
+ data.tar.gz: 83c589d7d395f43db6d29df3d6c30505019679a47312dc69ed694920904440933f1f93058c77fc5b3b5adbfcc410f045833d3b010851523db4f5aebbd5b577c1
@@ -10,17 +10,27 @@ module MobileWorkflow
10
10
  when 'SubscriptionConfirmation'
11
11
  confirm_subscription ? (head :ok) : (head :bad_request)
12
12
  else
13
+ add_attachment
14
+ end
15
+ end
16
+
17
+ private
18
+ def add_attachment
19
+ begin
13
20
  @object = find_object
14
21
  @object.send("#{attribute_name}=",active_record_blob)
15
22
  if @object.save
16
23
  head :ok
17
24
  else
18
25
  Rails.logger.warn "Error saving object: #{@object} #{object.errors.full_messages}"
26
+ head :unprocessable_entity
19
27
  end
28
+ rescue NameError => e
29
+ Rails.logger.warn "Error attaching object: #{e.message}"
30
+ head :unprocessable_entity
20
31
  end
21
32
  end
22
-
23
- private
33
+
24
34
  def verify_request_authenticity
25
35
  head :unauthorized if raw_post.blank?
26
36
 
@@ -16,6 +16,10 @@ module MobileWorkflow
16
16
  def mw_map_item(id: self.id, text:, detail_text: nil, latitude:, longitude:)
17
17
  {id: id, text: text, detailText: detail_text, latitude: latitude, longitude: longitude}.compact
18
18
  end
19
+
20
+ def mw_pie_chart_item(id: self.id, label:, value:)
21
+ {id: id, label: label, value: value}.compact
22
+ end
19
23
 
20
24
  def mw_display_text(text:, label: nil)
21
25
  {type: :text, label: label, text: text.to_s}.compact
@@ -33,7 +37,7 @@ module MobileWorkflow
33
37
  image_url = "https://source.unsplash.com/#{unsplash_id}/800x600"
34
38
  end
35
39
 
36
- {type: :image, previewURL: image_url, url: image_url}
40
+ {type: :image, previewURL: image_url, url: image_url}.compact
37
41
  end
38
42
 
39
43
  def mw_display_video(attachment, preview_options: { resize_to_fill: [600, 1200] })
@@ -44,35 +48,35 @@ module MobileWorkflow
44
48
  validate_on_success!(on_success)
45
49
  validate_button_style!(style)
46
50
 
47
- {type: :button, label: label, style: style, onSuccess: on_success}
51
+ {type: :button, label: label, style: style, onSuccess: on_success}.compact
48
52
  end
49
53
 
50
54
  def mw_display_delete_button(url:, label: "Delete", method: :delete, style: :danger, on_success: :backward)
51
55
  validate_on_success!(on_success)
52
56
  validate_button_style!(style)
53
57
 
54
- {type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success}
58
+ {type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success}.compact
55
59
  end
56
60
 
57
- def mw_display_button_for_url(label:, url:, method: :put, style: :primary, on_success: :reload)
61
+ def mw_display_button_for_url(label:, url:, method: :put, style: :primary, confirm_title: nil, confirm_text: nil, on_success: :reload)
58
62
  validate_on_success!(on_success)
59
63
  validate_button_style!(style)
60
64
 
61
- {type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success}
65
+ {type: :button, label: label, url: url, method: method, style: style, confirmTitle: confirm_title, confirmText: confirm_text, onSuccess: on_success}.compact
62
66
  end
63
67
 
64
- def mw_display_button_for_system_url(label:, apple_system_url:, method: :put, style: :primary, on_success: :none)
65
- validate_on_success!(on_success)
68
+ def mw_display_button_for_system_url(label:, apple_system_url: nil, android_deep_link: nil, style: :primary)
66
69
  validate_button_style!(style)
70
+ raise 'Invalid android_deep_link' unless android_deep_link.start_with?('http')
67
71
 
68
- {type: :button, label: label, appleSystemURL: apple_system_url, method: method, style: style, onSuccess: on_success}
72
+ {type: :button, label: label, appleSystemURL: apple_system_url, androidDeepLink: android_deep_link, style: style}.compact
69
73
  end
70
74
 
71
75
  def mw_display_button_for_modal_workflow(label:, modal_workflow_name:, style: :primary, on_success: :none)
72
76
  validate_on_success!(on_success)
73
77
  validate_button_style!(style)
74
78
 
75
- {type: :button, label: label, modalWorkflow: modal_workflow_name, style: style, onSuccess: on_success}
79
+ {type: :button, label: label, modalWorkflow: modal_workflow_name, style: style, onSuccess: on_success}.compact
76
80
  end
77
81
 
78
82
  private
@@ -0,0 +1,5 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ include MobileWorkflow::Displayable
3
+
4
+ self.abstract_class = true
5
+ end
@@ -0,0 +1,9 @@
1
+ desc "Add S3 storage to your environment"
2
+ task add_heroku_s3_storage: :environment do
3
+ require 'mobile_workflow/cli'
4
+ app_name = ENV['APP_NAME']
5
+ aws = MobileWorkflow::Cli::AwsBackend.new(app_name: app_name)
6
+ heroku = MobileWorkflow::Cli::HerokuBackend(app_name: app_name)
7
+ aws.create
8
+ aws.create_topic_subscription(heroku.notifications_endpoint)
9
+ end
@@ -1,7 +1,5 @@
1
1
  <% module_namespacing do -%>
2
2
  class <%= class_name %> < <%= parent_class_name.classify %>
3
- include MobileWorkflow::Displayable
4
-
5
3
  <% attributes.select(&:reference?).each do |attribute| -%>
6
4
  belongs_to :<%= attribute.name %><%= ', polymorphic: true' if attribute.polymorphic? %>
7
5
  <% end -%>
@@ -58,9 +58,9 @@ module MobileWorkflow
58
58
 
59
59
  def model_property_type(property)
60
60
  return property["type"] unless property["type"].blank?
61
- return 'attachment' if property['$ref'] == "#/components/schemas/attachment"
61
+ return 'attachment' if property['$ref'] == "#/components/schemas/MWAttachment"
62
62
 
63
- raise 'Unknown property type'
63
+ raise "Unknown property type: #{property}"
64
64
  end
65
65
 
66
66
  def read_openapi_spec
@@ -1,5 +1,5 @@
1
1
  module MobileWorkflow
2
- VERSION = '0.6.15'
2
+ VERSION = '0.6.20'
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.15
4
+ version: 0.6.20
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-03-06 00:00:00.000000000 Z
11
+ date: 2021-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -112,10 +112,12 @@ files:
112
112
  - lib/generators/mobile_workflow/install/templates/ability.rb
113
113
  - lib/generators/mobile_workflow/install/templates/api_controller.rb.erb
114
114
  - lib/generators/mobile_workflow/install/templates/app/helpers/application_helper.rb
115
+ - lib/generators/mobile_workflow/install/templates/app/models/application_record.rb
115
116
  - lib/generators/mobile_workflow/install/templates/app/views/layouts/application.html.erb
116
117
  - lib/generators/mobile_workflow/install/templates/app/views/sessions/new.html.erb
117
118
  - lib/generators/mobile_workflow/install/templates/create_users.rb
118
119
  - lib/generators/mobile_workflow/install/templates/lib/tasks/mobile_workflow_doorkeeper.rake
120
+ - lib/generators/mobile_workflow/install/templates/lib/tasks/mobile_workflow_s3.rake
119
121
  - lib/generators/mobile_workflow/install/templates/seeds.rb.erb
120
122
  - lib/generators/mobile_workflow/install/templates/sessions_controller.rb.erb
121
123
  - lib/generators/mobile_workflow/install/templates/spec/factories/users.rb