care 0.1.5 → 0.1.6

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: f6d03b8aa20a846551e3e1319fa161a703b179c94f00137195393509ee266612
4
- data.tar.gz: 41a319cc5cf7648f99b7448d532adfebb030017503d975524005357cfcf3960d
3
+ metadata.gz: e0d173cca687ef272ba0759ff347995723a34052af354aa01a22fac55614bbd9
4
+ data.tar.gz: f4975d1110fe9eed49cb1e1964a716be88d78fb012faba92472576371bfa7658
5
5
  SHA512:
6
- metadata.gz: 489aefd3f93e031cfeec9ae6ffa748f94a2d69cd3ffa50b9a1f730a05119b6d1d09eb60ddc66818a53e560aeca9d351b948848a9c33206d66c2de9f9c0c72882
7
- data.tar.gz: 9b343fb18f63030afede812e4d78e14fd612e8c18fefb89f1ea15212c92f7409c0495f11d39b73503176c7ad75e137a181c4dc26d20e6897f1fad1cef25344ee
6
+ metadata.gz: db5fac70a2cf214bf2294077411da7924f6c25c6dd3b458d48eab4338cbbe4cf2a20fe5e37f69e55c9c9992fa28e3e319d7b2c33fdfccf3827bf99a78909a244
7
+ data.tar.gz: c8f3cd3169d948c88a1ec55fefc14fab39c74eed92e564e46e51e62dfcef832b72b7819d0da03888f7915592da59dda0c7ba1ea147553307c34d88de9e78eff5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- care (0.1.5)
4
+ care (0.1.6)
5
5
  active_model_serializers (~> 0.10.10)
6
6
  activerecord-import
7
7
  cancancan
data/lib/care/seed.rb CHANGED
@@ -5,13 +5,15 @@ module Care
5
5
  table_name = path.split("/").last.gsub(".json", "").gsub(/^\d*_/, "")
6
6
  puts "*** Преднаполнение таблицы #{table_name} ***"
7
7
  items = ActiveSupport::JSON.decode(File.read(path))
8
- begin
9
- items_class = table_name.classify.constantize
8
+ table_name = table_name.gsub('dictionary_', 'dictionary/') || table_name
9
+ if (items_class = table_name.classify.safe_constantize)
10
10
  items_class.import(items, on_duplicate_key_update: :all)
11
- rescue NameError => _e # Не обнаружен класс с описанием модели
12
- keys = items[0].keys.join(",")
11
+ else
12
+ keys = items[0].keys
13
+ v_keys = keys.join(",")
13
14
  values = items.map { |i| "(#{i.values.map { |v| "'#{v}'" }.join(",")})" }.join(",")
14
- sql = "insert into #{table_name}(#{keys}) values #{values} on conflict (id) do nothing"
15
+ set_keys = keys.map{|k| "#{k} = excluded.#{k}"}.join(", ")
16
+ sql = "insert into #{table_name}(#{v_keys}) values #{values} on conflict (id) do update set #{set_keys}"
15
17
  puts sql
16
18
  ActiveRecord::Base.connection.execute sql
17
19
  end
data/lib/care/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Care
4
- VERSION = "0.1.5"
4
+ VERSION = "0.1.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: care
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Валерий Маханов
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-24 00:00:00.000000000 Z
11
+ date: 2021-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -314,7 +314,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
314
314
  - !ruby/object:Gem::Version
315
315
  version: '0'
316
316
  requirements: []
317
- rubygems_version: 3.0.8
317
+ rubygems_version: 3.1.2
318
318
  signing_key:
319
319
  specification_version: 4
320
320
  summary: Care