corm 0.0.17 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/corm/model.rb +7 -5
- metadata +3 -3
data/lib/corm/model.rb
CHANGED
@@ -225,7 +225,7 @@ module Corm
|
|
225
225
|
def initialize(opts = {})
|
226
226
|
@record = opts.delete(:_cassandra_record) ||
|
227
227
|
opts.delete('_cassandra_record')
|
228
|
-
@
|
228
|
+
@raw_values = opts
|
229
229
|
opts.each { |k, v| send("#{k}=", v) } if @record.nil?
|
230
230
|
end
|
231
231
|
|
@@ -246,17 +246,19 @@ module Corm
|
|
246
246
|
@record ||= {}
|
247
247
|
end
|
248
248
|
|
249
|
-
def save(exclude_nil_values = false
|
249
|
+
def save(exclude_nil_values = false)
|
250
250
|
keys = fields.keys.map do |k|
|
251
|
-
|
252
|
-
exclude_nil_values
|
251
|
+
raw_value = @raw_values[k.to_s] || @raw_values[k.to_sym]
|
252
|
+
v = !exclude_nil_values || @raw_values.empty? ? record[k] : raw_value
|
253
|
+
exclude_nil_values && v.nil? ? nil : k
|
253
254
|
end.compact
|
254
255
|
execute(
|
255
256
|
session.prepare(
|
256
257
|
"INSERT INTO #{keyspace}.#{table} (#{keys.join(',')}) VALUES (#{keys.map { '?' }.join(',')});"
|
257
258
|
),
|
258
259
|
arguments: keys.map do |k|
|
259
|
-
|
260
|
+
raw_value = @raw_values[k.to_s] || @raw_values[k.to_sym]
|
261
|
+
!exclude_nil_values || @raw_values.empty? ? record[k] : raw_value
|
260
262
|
end
|
261
263
|
)
|
262
264
|
nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: corm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
94
|
version: '0'
|
95
95
|
segments:
|
96
96
|
- 0
|
97
|
-
hash:
|
97
|
+
hash: 4061803966628673022
|
98
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
99
|
none: false
|
100
100
|
requirements:
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
segments:
|
105
105
|
- 0
|
106
|
-
hash:
|
106
|
+
hash: 4061803966628673022
|
107
107
|
requirements: []
|
108
108
|
rubyforge_project:
|
109
109
|
rubygems_version: 1.8.23.2
|