pinkman 0.9.1.24 → 0.9.1.26

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
  SHA1:
3
- metadata.gz: cb10d76bda62a949e93ea052899855079e0a7aa1
4
- data.tar.gz: 932cd458e17d3534e935a833f6ed34f7f5249c39
3
+ metadata.gz: 0e67efb282a22795bcde07d95c93c2875b520be7
4
+ data.tar.gz: bd67054d547e3ab8a3c302149371dd0969ed7c39
5
5
  SHA512:
6
- metadata.gz: 95319f0e82e999d1f748484cf5e7a65a9438fd2c3ce045c79b60065f65c0894696f12af71f2f63d47a5618cb206aba7a9bac7db06bde9310d9a128cb678b1f08
7
- data.tar.gz: d1761e54da101e5423ff2ee76befd6c97cd6600c863a04bd767bfecc71af42179f25d5ecf251f08f5786e41ab085bb35c445a92513c26a62af9cbc83756b7f33
6
+ metadata.gz: 076ceb22a7d302bf17bc98f243299da856f3bdc4d26267a9dbf58ebcda873df033deea4501413bda02000bcd76f7d5bde059dd407def5c1d8fe11dd66a2264de
7
+ data.tar.gz: d61a793ed823ee530998b4445b5c94347af179561d850798dc90d199ebd40b155a7b204415ff82594e0fade7ee4e98324631c4ad0d584f10f529f228b8bd42ea
@@ -157,7 +157,6 @@ class window.PinkmanObject extends window.PinkmanCommon
157
157
  reload: (callback) ->
158
158
  params = new Object
159
159
  params.scope = Pinkman.scope(this)
160
-
161
160
  Pinkman.ajax.get
162
161
  url: Pinkman.json2url(@api() + @id,params)
163
162
  complete: (response) =>
@@ -186,15 +185,26 @@ class window.PinkmanObject extends window.PinkmanCommon
186
185
  @removeFromAllCollections()
187
186
  Pinkman.ajax.delete
188
187
  url: @api() + @id
188
+ data: { scope: Pinkman.scope(this) }
189
189
  complete: (response) =>
190
190
  @assign(response)
191
191
  delete @errors unless response.errors?
192
- if @errors?
193
- throw new Error(@firstError())
194
- return(false)
195
- else
196
- @id = null
197
- callback(this) if typeof callback=='function'
192
+ @id = null unless @errors?
193
+ callback(this) if callback? and typeof callback=='function'
194
+ return(this)
195
+ else
196
+ return(false)
197
+
198
+ delete: (callback='') ->
199
+ if @id?
200
+ Pinkman.ajax.delete
201
+ url: @api() + @id
202
+ data: { scope: Pinkman.scope(this) }
203
+ complete: (response) =>
204
+ @assign(response)
205
+ delete @errors unless response.errors?
206
+ @id = null unless @errors?
207
+ callback(this) if callback? and typeof callback=='function'
198
208
  return(this)
199
209
  else
200
210
  return(false)
@@ -93,16 +93,13 @@ Pinkman.saveElementScrollPosition = (id) ->
93
93
  a = Pinkman.scrolling.find(id)
94
94
  a = new Pinkman.object unless a?
95
95
  a.set('id',id)
96
- element = $("##{id}")
97
- elementPos = if element? then element.offset().top else 0
98
- referencePos = if element.children()? then element.children().first().offset().top else 0
99
- position = elementPos - referencePos
100
-
96
+ position = if document.getElementById(id) then document.getElementById(id).scrollTop else 0
101
97
  a.set('position', position)
102
98
  Pinkman.scrolling.push(a)
103
99
 
104
100
  Pinkman.restoreElementScrollPosition = (id) ->
105
- document.getElementById(id).scrollTop = Pinkman.scrolling.find(id).position
101
+ if Pinkman.scrolling.include(id: id)
102
+ document.getElementById(id).scrollTop = Pinkman.scrolling.find(id).position
106
103
 
107
104
  Pinkman.reRender = (object) ->
108
105
  if object.renderQueue?
@@ -25,21 +25,14 @@ class Api::<%= controller_name %> < ApiController
25
25
  # post api/<%= api_name %>
26
26
  def create
27
27
  @<%= instance_name %>.assign_attributes <%= params_method_name %>
28
- if @<%= instance_name %>.save
29
- render json: @<%= instance_name %>.json_for(current_scope)
30
- else
31
- render json: {errors: @<%= instance_name %>.errors}
32
- end
28
+ @<%= instance_name %>.save
29
+ render json: @<%= instance_name %>.json_for(current_scope)
33
30
  end
34
31
 
35
32
  # put/patch api/<%= api_name %>/:id
36
33
  def update
37
- @<%= instance_name %>.assign_attributes <%= params_method_name %>
38
- if @<%= instance_name %>.save
39
- render json: @<%= instance_name %>.json_for(current_scope)
40
- else
41
- render json: {errors: @<%= instance_name %>.errors}
42
- end
34
+ @<%= instance_name %>.update <%= params_method_name %>
35
+ render json: @<%= instance_name %>.json_for(current_scope)
43
36
  end
44
37
 
45
38
  # delete api/<%= api_name %>/:id
@@ -6,14 +6,16 @@ module Pinkman
6
6
  module Serializer
7
7
 
8
8
  class Base < ActiveModel::Serializer
9
+ attr_accessor :errors
10
+ attr_accessor :params
9
11
 
10
12
  def initialize *args
11
13
  super(*args)
14
+ @errors = Base.format_errors(args.first.errors.to_h) if args.first.errors.present? and args.first.errors.any?
12
15
  @params = OpenStruct.new(args[1][:params]) if args.length > 1 and args[1].is_a?(Hash) and args[1][:params]
13
16
  self
14
17
  end
15
18
 
16
- attr_accessor :params
17
19
 
18
20
  self.root = false
19
21
 
@@ -65,6 +67,12 @@ module Pinkman
65
67
  end
66
68
  end
67
69
 
70
+ def self.format_errors errors
71
+ e = Hash.new
72
+ errors.each {|k,v| e[k] = [v].flatten}
73
+ e
74
+ end
75
+
68
76
  def attributes *args
69
77
  hash = super(*args)
70
78
  if scope
@@ -74,6 +82,7 @@ module Pinkman
74
82
  model.column_names.each {|attribute| hash[attribute] = object.send(attribute) } if include_all && model && model.methods.include?(:column_names)
75
83
  pinkmanscope.read.each {|attribute| hash[attribute] = object.send(attribute) if object.methods.include?(attribute)}
76
84
  pinkmanscope.read.each {|attribute| hash[attribute] = send(attribute) if self.methods.include?(attribute)}
85
+ hash[:errors] = self.class.format_errors(errors) if errors.present? and errors.any?
77
86
  hash
78
87
  end
79
88
  end
@@ -27,7 +27,7 @@ module Pinkman
27
27
  end
28
28
 
29
29
  def can_read? attribute
30
- read.include?(:all) or read.include?(attribute.to_sym) or attribute == :error or attribute == :errors
30
+ read.include?(:all) or read.include?(attribute.to_sym) or attribute.to_sym == :error or attribute.to_sym == :errors
31
31
  end
32
32
 
33
33
  def can_write? attribute
@@ -1,3 +1,3 @@
1
1
  module Pinkman
2
- VERSION = "0.9.1.24"
2
+ VERSION = "0.9.1.26"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pinkman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1.24
4
+ version: 0.9.1.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agilso Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-22 00:00:00.000000000 Z
11
+ date: 2017-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler