ar-check 0.2.1 → 0.2.2

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: 4b230c37484f56b7ee6b3667932b4a8528bc21e88af27fc756c58b0d2608ebca
4
- data.tar.gz: ed519738ce183904c7727910e0affb632504f11e17b8b38a8c00b268719f28b9
3
+ metadata.gz: d4c10451212d47e496312679519b81d3ddcf2f0c173280cbc6640aa8c99ee931
4
+ data.tar.gz: 0b0f473be9aec29e9e99de73def7541d4f4fe7aa0cf6710f07d3a8664fa33ffa
5
5
  SHA512:
6
- metadata.gz: 691e46724f893e56caac886627ed37147d6c67b728caf5cceb353bbeb562b81b013a1292e42c2b6a0e80e1d5774230efdaab41f183e432b00d8cf59c9519f81b
7
- data.tar.gz: 182074c4c9528412fefe94542e07a4f69823bc82cfbcdc81da8bcc6e44b15714df5544b61463780f2c8c360b37f8b70780c5782c6f9837ffad04f865ae07ee57
6
+ metadata.gz: bf56a9ed50106b580e19e4da1843cb92436fc42aa6bbddf9f3b929448ddebd9aee4e0e58d2e0bced8744798b2872cb973a8f6c19da510c30be35e116c33171ef
7
+ data.tar.gz: aa96a9f9c7e36b7db04509e21948730a99b5bfd0e95afa79a82a9f3b4deb401b46e699a127effc29bf1e2f719203eaa99d2e17b0d3371d1992b565760ba6b936
@@ -0,0 +1,18 @@
1
+ ---
2
+ inherit_gem:
3
+ rubocop-fnando: .rubocop.yml
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.6
7
+
8
+ Naming/FileName:
9
+ Exclude:
10
+ - lib/ar-check.rb
11
+
12
+ Metrics/LineLength:
13
+ Exclude:
14
+ - ar-check.gemspec
15
+ - test/**/*_test.rb
16
+
17
+ Metrics/MethodLength:
18
+ Enabled: false
data/Rakefile CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "bundler/gem_tasks"
4
4
  require "rake/testtask"
5
+ require "rubocop/rake_task"
5
6
 
6
7
  Rake::TestTask.new(:test) do |t|
7
8
  t.libs << "test"
@@ -11,4 +12,6 @@ Rake::TestTask.new(:test) do |t|
11
12
  t.warning = false
12
13
  end
13
14
 
14
- task default: :test
15
+ RuboCop::RakeTask.new(:rubocop)
16
+
17
+ task default: %i[test rubocop]
@@ -27,5 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "pg"
28
28
  spec.add_development_dependency "pry-meta"
29
29
  spec.add_development_dependency "rake"
30
+ spec.add_development_dependency "rubocop"
31
+ spec.add_development_dependency "rubocop-fnando"
30
32
  spec.add_development_dependency "simplecov"
31
33
  end
@@ -4,9 +4,9 @@ module AR
4
4
  module Check
5
5
  module Adapter
6
6
  def check_constraints(table)
7
- result = select_all <<-SQL.strip_heredoc
7
+ result = select_all <<~SQL
8
8
  SELECT c.conname AS name,
9
- c.consrc AS expression,
9
+ pg_get_constraintdef(c.oid) AS expression,
10
10
  t1.relname AS table
11
11
  FROM pg_constraint c
12
12
  JOIN pg_class t1 ON c.conrelid = t1.oid
@@ -13,11 +13,15 @@ module AR
13
13
  return if constraints.empty?
14
14
 
15
15
  constraints.each do |constraint|
16
+ expression = constraint["expression"]
17
+ .gsub(/^\s*CHECK\s+\(/i, "")
18
+ .gsub(/\)$/, "")
19
+
16
20
  statement = [
17
21
  "add_check",
18
22
  ":#{constraint['table']},",
19
23
  ":#{constraint['name'].gsub("_on_#{table}", '')},",
20
- constraint["expression"][1..-2].inspect
24
+ expression.inspect
21
25
  ].join(" ")
22
26
 
23
27
  stream.puts " #{statement}"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module AR
4
4
  module Check
5
- VERSION = "0.2.1"
5
+ VERSION = "0.2.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-26 00:00:00.000000000 Z
11
+ date: 2019-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-fnando
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: simplecov
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +144,7 @@ extensions: []
116
144
  extra_rdoc_files: []
117
145
  files:
118
146
  - ".gitignore"
147
+ - ".rubocop.yml"
119
148
  - ".travis.yml"
120
149
  - CHANGELOG.md
121
150
  - CODE_OF_CONDUCT.md