corm 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
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