better_record 0.12.5 → 0.13.0

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: 1470dbdca165e377c201cff485547bc40e23c97cfad90041c232293bb2aa72c7
4
- data.tar.gz: b6b8d88d04fd452691d8feafc07c623ffcbb3440c4b75aff8e5005f702ac54be
3
+ metadata.gz: 21977d959c121c40a33fba8d9ce2672e542c591c9140c56e1f8252441eb82260
4
+ data.tar.gz: 758ad406a6f5527c615fb79f3f0a7d273962a05808ac13d504d21bb7e063cab3
5
5
  SHA512:
6
- metadata.gz: 0db2c6f37a2e504f395f34d16318bc8304611e160cec0175da6d1b66ae2f57e9105257939223071a124c5628a2b018e22f58f5820ec4f2c920e04095c1530b26
7
- data.tar.gz: 800207491ed76785907cb171e14796a3b02814e798a34f51c83a56ecc816fcf0fcbf06dc71db8d9246df7e8db990c232d8d22474e79a0b92ae08270cfb5c6b7b
6
+ metadata.gz: 8cb7081304de5466efcb5717a4a20baec1591bdc68ef92566cfd00ac426b880f93b1b142d458f40e2f8f8f1ede9b098629681ff4a1d5db87ca27c77a41433966
7
+ data.tar.gz: 151b00bf0f2fcf80ec0b36d794b95c823442bef76d842b49c94f6c162d35abfab3abc0bffb54c6cd7bbdb93beacb9949966ddf6f19e8ecade041bf81b57ab995
@@ -33,7 +33,15 @@ module BetterRecord
33
33
  end
34
34
 
35
35
  def self.user_type
36
- BetterRecord::PolymorphicOverride.polymorphic_value(self.user.class) if self.user
36
+ self.user ? BetterRecord::PolymorphicOverride.polymorphic_value(self.user.class) : 'NULL'
37
+ end
38
+
39
+ def self.user_id
40
+ self.user ? user.id : 'NULL'
41
+ end
42
+
43
+ def self.user_ip
44
+ self.ip_address ? "'#{self.ip_address}'" : 'NULL'
37
45
  end
38
46
 
39
47
  # == Boolean Methods ======================================================
@@ -42,6 +42,14 @@ module BetterRecord
42
42
  BetterRecord::Current.user_type
43
43
  end
44
44
 
45
+ def current_user_id
46
+ BetterRecord::Current.user_id
47
+ end
48
+
49
+ def current_user_ip
50
+ BetterRecord::Current.user_ip
51
+ end
52
+
45
53
  def default_print
46
54
  column_names
47
55
  end
@@ -90,29 +98,25 @@ module BetterRecord
90
98
 
91
99
  def transaction(*args)
92
100
  super(*args) do
93
- if BetterRecord::Current.user
94
- ip = BetterRecord::Current.ip_address ? "'#{BetterRecord::Current.ip_address}'" : 'NULL'
95
-
96
- ActiveRecord::Base.connection.execute <<-SQL
97
- CREATE TEMP TABLE IF NOT EXISTS
98
- "_app_user" (user_id integer, user_type text, ip_address inet);
99
-
100
- UPDATE
101
- _app_user
102
- SET
103
- user_id=#{BetterRecord::Current.user.id},
104
- user_type='#{current_user_type}',
105
- ip_address=#{ip};
106
-
107
- INSERT INTO
108
- _app_user (user_id, user_type, ip_address)
109
- SELECT
110
- #{BetterRecord::Current.user.id},
111
- '#{current_user_type}',
112
- #{ip}
113
- WHERE NOT EXISTS (SELECT * FROM _app_user);
114
- SQL
115
- end
101
+ ActiveRecord::Base.connection.execute <<-SQL
102
+ CREATE TEMP TABLE IF NOT EXISTS
103
+ "_app_user" (user_id integer, user_type text, ip_address inet);
104
+
105
+ UPDATE
106
+ _app_user
107
+ SET
108
+ user_id=#{current_user_id},
109
+ user_type='#{current_user_type}',
110
+ ip_address=#{current_user_ip};
111
+
112
+ INSERT INTO
113
+ _app_user (user_id, user_type, ip_address)
114
+ SELECT
115
+ #{current_user_id},
116
+ '#{current_user_type}',
117
+ #{current_user_ip}
118
+ WHERE NOT EXISTS (SELECT * FROM _app_user);
119
+ SQL
116
120
 
117
121
  yield
118
122
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BetterRecord
4
- VERSION = '0.12.5'
4
+ VERSION = '0.13.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.5
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampson Crowley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-18 00:00:00.000000000 Z
11
+ date: 2018-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails