care 0.1.5 → 0.1.6

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: 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