mobile_workflow 0.3.1 → 0.4.0

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: afd70f8306883bf02437d339e139b700a03bc857002a858b913589ad356a81ee
4
- data.tar.gz: b600bd3e81c28f76f32eb927fdd8fbb7c678797f51f5e9df056495a7dad9612c
3
+ metadata.gz: 24275da71a904cd964d375ab0eea9678d71cda4c6aaba01d9f6bcb0c8c122d48
4
+ data.tar.gz: 5fea2ff0337152f12bb11a8e4e0dad5193d17bb6a44644b3f7b5800de213f7c8
5
5
  SHA512:
6
- metadata.gz: 6eeccc0de8e02f651c6f838cf35fe9408353f29e1bfbf97bf92487e78d8c3f407802a9e52389162e894fd5cafde30197077a73a88a8965674c30466feac4317e
7
- data.tar.gz: 6261a5fa26b4dc7d5b7822d258dc86567e12780a4cfa90f6bcdfe8303895c59dee20fdb83631fe528e7d130b2b8fc58d9810dcf30522bda36adb5c46f7b54dd6
6
+ metadata.gz: 26e0e811ed07bd4bfc616ac938ef549e6ad9a5a1335dd1f601c34411fb595a0aa8813c219103cf2ede81eedfa935a195440d9a62a03b97fbe8384db0520e65cb
7
+ data.tar.gz: 1aab026098618375eae9fe91311fa2771111be6f72cfc3436cf6b8f9de274aba158fe5bf87b1b3cd648118570e92dde2ee22724379a16b1b0699c26ceb339da0
@@ -17,11 +17,20 @@ module MobileWorkflow
17
17
  end
18
18
 
19
19
  def mw_display_image(attachment)
20
- {type: :image, previewURL: preview_url(attachment, height: 300, width: 600), url: attachment_url(attachment)}
20
+ {type: :image, previewURL: preview_url(attachment, height: 600, width: 1200), url: attachment_url(attachment)}
21
+ end
22
+
23
+ def mw_display_unsplash_image(image_url)
24
+ if image_url.start_with? "https://unsplash.com/photos"
25
+ unsplash_id = image_url.split('/').last
26
+ image_url = "https://source.unsplash.com/#{unsplash_id}/800x600"
27
+ end
28
+
29
+ {type: :image, previewURL: image_url, url: image_url}
21
30
  end
22
31
 
23
32
  def mw_display_video(attachment)
24
- {type: :video, previewURL: preview_url(attachment, height: 300, width: 600), url: attachment_url(attachment)}
33
+ {type: :video, previewURL: preview_url(attachment, height: 600, width: 1200), url: attachment_url(attachment)}
25
34
  end
26
35
 
27
36
  def mw_display_button(label:, style: :primary, on_success: :forward)
@@ -45,11 +54,11 @@ module MobileWorkflow
45
54
  {type: :button, label: label, url: url, method: method, style: style, onSuccess: on_success}
46
55
  end
47
56
 
48
- def mw_display_button_for_modal_workflow(label:, modal_workflow:, style: :primary, on_success: :none)
57
+ def mw_display_button_for_modal_workflow(label:, modal_workflow_name:, style: :primary, on_success: :none)
49
58
  validate_on_success!(on_success)
50
59
  validate_button_style!(style)
51
60
 
52
- {type: :button, label: label, modalWorkflow: modal_workflow, style: style, onSuccess: on_success}
61
+ {type: :button, label: label, modalWorkflow: modal_workflow_name, style: style, onSuccess: on_success}
53
62
  end
54
63
 
55
64
  private
@@ -23,14 +23,6 @@ module MobileWorkflow
23
23
  params = attributes_names.map{ |name| ":#{name}" }
24
24
  params.join(", ")
25
25
  end
26
-
27
- def rewrite_params
28
- if attributes_names
29
- init_params = "\n\t\tparams[:#{singular_table_name}] = {}\n"
30
- rewrite_params = attributes_names.map {|name| "params[:#{singular_table_name}][:#{name}] = params.dig(:payload, :#{name}, :answer)" }.join("\n\t\t")
31
- init_params + rewrite_params
32
- end
33
- end
34
26
  end
35
27
  end
36
28
  end
@@ -94,14 +94,10 @@ module MobileWorkflow
94
94
  end
95
95
 
96
96
  def model_property_type(property)
97
- case property['$ref']
98
- when "#/components/schemas/answer"
99
- 'string'
100
- when "#/components/schemas/attachment"
101
- 'attachment'
102
- else
103
- 'string'
104
- end
97
+ return property["type"] unless property["type"].blank?
98
+ return 'attachment' if property['$ref'] == "#/components/schemas/attachment"
99
+
100
+ raise 'Unknown property type'
105
101
  end
106
102
  end
107
103
  end
@@ -1,9 +1,14 @@
1
1
  class ApiController < ActionController::API
2
+ rescue_from CanCan::AccessDenied do |exception|
3
+ Rails.logger.debug "Access denied on #{exception.action} #{exception.subject.inspect}"
4
+ head :forbidden
5
+ end
6
+
2
7
  <% if options[:doorkeeper_oauth] %>
3
8
  before_action :doorkeeper_authorize!, unless: :anonymous_action?
4
9
 
5
10
  def current_resource_owner
6
- User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
11
+ User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token&.accessible?
7
12
  end
8
13
  alias_method :current_user, :current_resource_owner
9
14
 
@@ -24,19 +24,16 @@ class <%= controller_class_name %>Controller < ApiController
24
24
  private
25
25
  def rewrite_payload
26
26
  # Use this method to make any changes to params to make them compatible with ActiveRecord
27
-
28
- # 1. Example to get properties from question
29
- # params[:payload][:name] = params.dig(:payload, :name, :answer)
30
-
31
- # 2. Example to get selected id from a list
27
+
28
+ # 1. Example to get selected id from a list
32
29
  # passport_id = params.dig(:payload, :choose_passport, :selected, :id)
33
30
 
34
31
  Rails.logger.debug "Pre-rewrite params: #{params}"
35
- <%= rewrite_params %>
32
+ # Do your rewriting here
36
33
  end
37
34
 
38
35
  def <%= singular_table_name.underscore %>_params
39
- params.require(:<%= singular_table_name %>).permit(<%= permitted_params %>)
36
+ params.require(:payload).permit(<%= permitted_params %>)
40
37
  end
41
38
  end
42
39
  <% end %>
@@ -8,7 +8,7 @@ RSpec.describe <%= controller_class_name %>Controller do
8
8
  let(:json_response) { JSON.parse(response.body, symbolize_names: true) }
9
9
 
10
10
  describe 'GET #index' do
11
- let!(:<%= controller_class_name.singularize.underscore %>) { <%= controller_class_name.singularize %>.create }
11
+ let!(:<%= controller_class_name.singularize.underscore %>) { create(:<%= controller_class_name.singularize.underscore %>) }
12
12
  before(:each) { get :index, params: params }
13
13
 
14
14
  context 'ok' do
@@ -18,7 +18,7 @@ RSpec.describe <%= controller_class_name %>Controller do
18
18
  end
19
19
 
20
20
  describe 'GET #show' do
21
- let(:<%= controller_class_name.singularize.underscore %>) { <%= controller_class_name.singularize %>.create }
21
+ let(:<%= controller_class_name.singularize.underscore %>) { create(:<%= controller_class_name.singularize.underscore %>) }
22
22
  let(:params) { { id: <%= controller_class_name.singularize.underscore %>.id } }
23
23
  before(:each) { get :show, params: params }
24
24
 
@@ -1,3 +1,3 @@
1
1
  module MobileWorkflow
2
- VERSION = '0.3.1'
2
+ VERSION = '0.4.0'
3
3
  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.3.1
4
+ version: 0.4.0
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: 2020-12-01 00:00:00.000000000 Z
11
+ date: 2020-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails