agilibox 1.2.1 → 1.2.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
  SHA256:
3
- metadata.gz: b42ef5b03fc57fe2ff9cb01ac9aaf7b784b574eafe4ee68859501e088ff39e88
4
- data.tar.gz: 782675f5041b1e5b41690217b995fdcc0b1ef225ad81d25489ca0f1e9a0db5ee
3
+ metadata.gz: 9afd5fa0b38899ffcac6b91b77a4f3b1809d00e11826ea887bdc9ee40cb73c27
4
+ data.tar.gz: 4f5cc4e36f0c50fbead856f2bbeba35db23bba0952a2ea4fa1c6c5a3dec2f3a7
5
5
  SHA512:
6
- metadata.gz: 812c848c24e8e85dcf7da2b743fc7be4f2ea992fb5c77f2e352f5793e0a59b66127d07d4662f54563f879ad1061474e4e80bf6b6585ab8163f1f583cc44e699d
7
- data.tar.gz: 83dfd77a0e25e0734e5294006a52def01817eb28c5fca6bddf36669454e0137cb29ff92321098890e5a95d3263dea9ac4829795a3c141ab03fecf53ad631296c
6
+ metadata.gz: e5aba37b08a4fe936afee156cd1138a7881a468d7210498482e5b662ab57db3d93c7421486f5e5261a65afe54953c2ec85ba4fd1af27e4ec2034923130125118
7
+ data.tar.gz: 3d889541d3fc5f8167618db3d75c5344a737b1813de715f7118e7c7448e620648a2e125fa2e25639a81d7d9216e690f173880a27059dc3b9591ff0573ba6c54d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.2
4
+
5
+ - Add CollectionUpdate
6
+ - Rename Agilibox::SortableUUIDGenerator::generate to ::call
7
+
3
8
  ## 1.2.1
4
9
 
5
10
  - Fix flash partial
@@ -5,5 +5,4 @@
5
5
 
6
6
  // .btn-default has been removed in Bootstrap 4
7
7
  .btn-default
8
- @extend .btn-outline-secondary !optional
9
- background: white
8
+ @extend .btn-outline-primary !optional
@@ -0,0 +1,32 @@
1
+ class Agilibox::CollectionUpdate < Agilibox::Service
2
+ initialize_with :scope, :params_array
3
+
4
+ def call
5
+ update
6
+ end
7
+
8
+ def update!
9
+ ApplicationRecord.transaction do
10
+ params_array.each do |object_param|
11
+ if object_param[:id].present?
12
+ object = scope.find(object_param[:id])
13
+ else
14
+ object = scope.new
15
+ end
16
+
17
+ if object_param.delete(:_destroy).to_i == 1
18
+ object.destroy!
19
+ else
20
+ object.update!(object_param)
21
+ end
22
+ end
23
+ end
24
+ true
25
+ end
26
+
27
+ def update
28
+ update!
29
+ rescue ActiveRecord::RecordInvalid
30
+ false
31
+ end
32
+ end
@@ -3,9 +3,14 @@ class Agilibox::SortableUUIDGenerator
3
3
  REGEX_WITH_DASHES = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/
4
4
  REGEX_WITHOUT_DASHES = /^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/
5
5
 
6
- def self.generate
6
+ def self.call
7
7
  prefix = Time.zone.now.strftime("%s%9N").to_i.to_s(16)
8
8
  suffix = SecureRandom.hex(8)
9
9
  (prefix + suffix).gsub(REGEX_WITHOUT_DASHES, '\1-\2-\3-\4-\5')
10
10
  end
11
+
12
+ def self.generate
13
+ warn "#{self}::generate is deprecared, please use ::call"
14
+ call
15
+ end
11
16
  end
@@ -1,3 +1,3 @@
1
1
  module Agilibox
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agilibox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - agilidée
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-11 00:00:00.000000000 Z
11
+ date: 2018-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails-i18n
@@ -108,6 +108,7 @@ files:
108
108
  - app/helpers/agilibox/sorting_helper.rb
109
109
  - app/helpers/agilibox/text_helper.rb
110
110
  - app/helpers/h.rb
111
+ - app/libs/agilibox/collection_update.rb
111
112
  - app/libs/agilibox/initialize_with.rb
112
113
  - app/libs/agilibox/mini_model_serializer/serialize.rb
113
114
  - app/libs/agilibox/mini_model_serializer/serializer.rb