rails-add_ons 0.3.0 → 0.3.2

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
  SHA1:
3
- metadata.gz: ec60bb83abbf6700fdc1e9d9bad0aeab41c0d42d
4
- data.tar.gz: 6768f210ab47e3c60bf57dcfecea186f1a4998e8
3
+ metadata.gz: b8a915102878fc7b3b90f8fa1eaee71e4adcd496
4
+ data.tar.gz: a2c2167c5e4f76d9ff265a640d8b4c164e06bd10
5
5
  SHA512:
6
- metadata.gz: 12e994afc0b6ab5eb2f0731f7c1454866b2af87b19b7f95dc38afdeee55d3854aaad261e97864c3a2141cd96b0c76f2977b8165b04a7253052b759964a67a290
7
- data.tar.gz: 6756eff8bcde2f8b3fe5c1b638815215132e660864edefe8f539eecd5a263a00014308d6034e708c9f4e0c233150fcac0d6d23ad40e5ec9aa124ad3ec559280f
6
+ metadata.gz: bcd7f4201424418fceac6cf114559bef248ad628275ff7985b15a54875e69df45f2484c1a6ad763f02bff7ae7c68df4da2c6dc25e4441a327bd3bb5b715a12c4
7
+ data.tar.gz: a18661c6099af2c0ca8e4c66dcd1b4a98b3dce15aade3d6a703f07af5425d2e57ff6c85bb6938a82ff36ccd232462511faba2962385fa648d97e8a12d68146ef
@@ -1,3 +1,4 @@
1
- .table-monospaced {
1
+ .table-monospaced * {
2
2
  font-family: monospace;
3
- }
3
+ white-space: pre;
4
+ }
@@ -4,19 +4,25 @@ module ApiControllerConcerns
4
4
 
5
5
  included do
6
6
  rescue_from Exception do |exception|
7
- if Rails.env.development? || Rails.env.test?
8
- error = { message: exception.message }
7
+ handle_exception(exception)
8
+ end
9
+ end
10
+
11
+ private
9
12
 
10
- error[:application_trace] = Rails.backtrace_cleaner.clean(exception.backtrace)
11
- error[:full_trace] = exception.backtrace
13
+ def handle_exception(exception)
14
+ if Rails.env.development? || Rails.env.test?
15
+ error = { message: exception.message }
12
16
 
13
- respond_to do |format|
14
- format.json { render json: error, status: 500 }
15
- end
16
- else
17
- respond_to do |format|
18
- format.json { render json: { error: 'Internal server error.' }, status: 500 }
19
- end
17
+ error[:application_trace] = Rails.backtrace_cleaner.clean(exception.backtrace)
18
+ error[:full_trace] = exception.backtrace
19
+
20
+ respond_to do |format|
21
+ format.json { render json: error, status: 500 }
22
+ end
23
+ else
24
+ respond_to do |format|
25
+ format.json { render json: { error: 'Internal server error.' }, status: 500 }
20
26
  end
21
27
  end
22
28
  end
@@ -314,6 +314,26 @@ module Api
314
314
  include FirstAction
315
315
  include LastAction
316
316
  include ApiControllerConcerns::ExceptionHandling
317
+
318
+ if ActionController.const_defined?('Parameters')
319
+ class PatchedParameters < ActionController::Parameters
320
+ def require key
321
+ begin
322
+ super key
323
+ rescue ActionController::ParameterMissing => e
324
+ if self[key].nil? || self[key].empty?
325
+ return PatchedParameters.new
326
+ else
327
+ raise e
328
+ end
329
+ end
330
+ end
331
+ end
332
+
333
+ def params
334
+ @_params ||= PatchedParameters.new(request.parameters)
335
+ end
336
+ end
317
337
  end
318
338
  end
319
339
  end
@@ -32,6 +32,7 @@ module ServiceController
32
32
  def perform
33
33
  @result = @resource.perform
34
34
  if @result.success?
35
+ flash.now[:success] = t('flash.actions.perform.notice', resource_name: @resource.class.model_name.human)
35
36
  render :create
36
37
  else
37
38
  render :new
@@ -43,7 +44,15 @@ module ServiceController
43
44
  end
44
45
 
45
46
  def initialize_service_for_create
46
- @resource = service_class.new(permitted_params)
47
+ @resource = service_class.new(hashified_params)
48
+ end
49
+
50
+ def hashified_params
51
+ if permitted_params.respond_to?(:to_h)
52
+ permitted_params.to_h
53
+ else
54
+ permitted_params
55
+ end
47
56
  end
48
57
 
49
58
  def permitted_params
@@ -1,6 +1,11 @@
1
- = bootstrap_button(to: edit_resource_path(resource), context: :secondary) do
2
- = fa_icon(:pencil)
3
- = t('.edit')
1
+ = bootstrap_button_group do
2
+ = bootstrap_button(to: edit_resource_path(resource), context: :secondary) do
3
+ = fa_icon(:pencil)
4
+ = t('.edit')
5
+
6
+ = bootstrap_button(to: resource_path(resource), context: :danger, method: :delete, data: { confirm: 'Are you sure?' }) do
7
+ = fa_icon :trash
8
+ = t('.delete')
4
9
 
5
10
  = bootstrap_button(to: collection_path, context: :link) do
6
- = t('.back')
11
+ = t('.back')
@@ -11,4 +11,4 @@
11
11
 
12
12
  = bootstrap_button(to: new_resource_path, context: :success) do
13
13
  = fa_icon :back
14
- = t('.back')
14
+ = t('.back')
@@ -33,6 +33,7 @@ de:
33
33
  title: "%{resource_name} erstellen"
34
34
  show_actions:
35
35
  back: "Zurück"
36
+ delete: "Löschen"
36
37
  edit: "Bearbeiten"
37
38
  service_controller:
38
39
  base:
@@ -33,6 +33,7 @@ en:
33
33
  title: "New %{resource_name}"
34
34
  show_actions:
35
35
  back: "Back"
36
+ delete: "Delete"
36
37
  edit: "Edit"
37
38
  service_controller:
38
39
  base:
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module AddOns
3
- VERSION = '0.3.0'
3
+ VERSION = '0.3.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-add_ons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-19 00:00:00.000000000 Z
11
+ date: 2017-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails