annotato 0.1.1 → 0.1.3

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: ac0837452e53297fdbfcd1d6dd66b262ae44d46e33af3257ed81c5f201cb756d
4
- data.tar.gz: c940822a61d22d2dd2cda535db81a7fccbb396c6aece59ca529c6d96ad5c8642
3
+ metadata.gz: 3fc032579335784d2fef64d554eb97d7a726749535dc6ceb7af6fb2977387cc4
4
+ data.tar.gz: 2f4541f7bf902702312863801f9d056d9a8fd4cd18ac74c488ad0421bcbb3ce5
5
5
  SHA512:
6
- metadata.gz: c81ae2485567dc511bdb626d3d361f6f5e00d6a59a24c8616bb54fe662988b05762a1d9dc98ad6db2e26fc7d20ddc6eb3e8f9314d5dbe088f3f8ec0a3247d057
7
- data.tar.gz: f475f7424d8d9504509b15ed6c337a065344584b1ae177dd0563c231e11e085b64175350a87b01e4ab68ca61d7d6535cc68e1f810aaf4654b7aad7f259acdf72
6
+ metadata.gz: 6e83a8511599b40aaf3ddd613273b3a99f2fe4d6478e8601636f45b5629fffcb59899947c7fb615dd63d856fcc0faf64394e4bf0f42b9ad475ecaf2451074581
7
+ data.tar.gz: ebbcc2bb08d245dc19030a48a5f4e6a3b6c58f20c2f12b7bcd535fc85cc03eec67fb4c06bc9310db9f5c969c12f72fe106f01b422f5c630d6a79fc4a0e8da3d6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- annotato (0.1.1)
4
+ annotato (0.1.3)
5
5
  rails (>= 6.0)
6
6
 
7
7
  GEM
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.3
@@ -13,7 +13,10 @@ module Annotato
13
13
  type = col.sql_type
14
14
  options = []
15
15
 
16
- options << "default(#{col.default.inspect})" unless col.default.nil?
16
+ if formatted = format_default(col.default)
17
+ options << formatted
18
+ end
19
+
17
20
  options << "not null" unless col.null
18
21
  options << "primary key" if name == primary_key
19
22
  options << "is an Array" if type.end_with?("[]")
@@ -32,5 +35,19 @@ module Annotato
32
35
  line.rstrip
33
36
  end
34
37
  end
38
+
39
+ def self.json_like?(value)
40
+ value.is_a?(String) && value.strip.start_with?('{', '[') && value.strip.end_with?('}', ']')
41
+ end
42
+
43
+ def self.format_default(value)
44
+ return nil if value.nil?
45
+
46
+ if json_like?(value)
47
+ "default(#{value.strip.gsub(/\s+/, ' ')})"
48
+ else
49
+ "default(#{value.inspect})"
50
+ end
51
+ end
35
52
  end
36
53
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Annotato
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: annotato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serhii Bodnaruk