corm 0.0.17 → 0.0.18

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.
Files changed (2) hide show
  1. data/lib/corm/model.rb +7 -5
  2. 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
- @opts = opts
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, use_raw_values = false)
249
+ def save(exclude_nil_values = false)
250
250
  keys = fields.keys.map do |k|
251
- value = use_raw_values ? (@opts[k.to_s] || @opts[k.to_sym]) : record[k]
252
- exclude_nil_values && value.nil? ? nil : k
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
- use_raw_values ? (@opts[k.to_s] || @opts[k.to_sym]) : record[k]
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.17
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: 3410364360089494380
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: 3410364360089494380
106
+ hash: 4061803966628673022
107
107
  requirements: []
108
108
  rubyforge_project:
109
109
  rubygems_version: 1.8.23.2