traitr 0.0.5 → 0.0.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
  SHA1:
3
- metadata.gz: 617169e1a6b866506fdb0e4804fe7d8e7eb22ad5
4
- data.tar.gz: a54d3fa3d4ce4915eab40f90f89270efd2e7da23
3
+ metadata.gz: 344b8ed96166aea681f7b1bc1f5d824caf0ae95c
4
+ data.tar.gz: 837d71f3b9012e0e8851f70547019e03c95f8196
5
5
  SHA512:
6
- metadata.gz: 8fff94ed87623a0810bfd89ca3076dc8f2d3fd90cf21b284738d32a294dfe2cbd05f582b5fc143327f34ff90ec01bf82cd95e9fa7a00bbdfd1b697fc15240e4e
7
- data.tar.gz: 5dfb5fb4b2af1e00372cddebdfec6b703364a9c20006d653a315d77e7ad6c3e5df8197df1b615ec9814a1b5b7da8b349df3a280bae0391147722fcc67aa80164
6
+ metadata.gz: 7b9577c91836a307873d3037ae981990657cb0d141627e8eefa87b125b4f58f7a3aea3d6621ba07b9612eb487fde4489aa3d800aacc90aba70d3b6c6f4418626
7
+ data.tar.gz: 70125caef20138cd3c21995a6c47910bb2b8ab7b4ddb5d72528a48140188df6e72679e899181395bc93cae1288d4d6e532f251260c64739e8331e92c345a6006
@@ -47,13 +47,19 @@ module Traitor
47
47
  end
48
48
 
49
49
  def create_without_callbacks_pg
50
+ # make sure we stub timestamps to avoid constraints, as those are typically "not null"
51
+ # handle both rails and ruby
52
+ time_method = Time.respond_to?(:current) ? Time.method(:current) : Time.method(:now)
53
+ self.created_at ||= time_method.call if self.respond_to?(:created_at)
54
+ self.updated_at ||= time_method.call if self.respond_to?(:updated_at)
55
+
50
56
  insert_sql = self.class.arel_table.create_insert.tap do |im|
51
57
  im.insert(self.send(:arel_attributes_with_values_for_create, self.attribute_names))
52
58
  end.to_sql
53
59
 
54
- pk = self.class.primary_key
55
- id = self.class.connection.execute(insert_sql + " RETURNING #{pk}")[0][pk]
56
- self.send(:"#{pk}=", id)
60
+ # return and assign everything to gather values created/modified by db triggers
61
+ self.attributes = self.class.connection.execute(insert_sql + " RETURNING *")[0]
62
+ self.instance_variable_set(:@new_record, false)
57
63
  self.clear_changes_information
58
64
  end
59
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traitr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Lome
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-28 00:00:00.000000000 Z
11
+ date: 2016-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler