webink 1.2.7 → 1.2.9

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/webink/model.rb +18 -4
  2. metadata +2 -2
@@ -94,9 +94,11 @@ module Ink
94
94
  if self.class.respond_to? :fields
95
95
  self.class.fields.each do |k,v|
96
96
  raise NameError.new("Model cannot use #{k} as field, it already exists") if self.class.respond_to? k or k.to_s.downcase == "pk"
97
- raise LoadError.new("Model cannot be loaded, argument missing: #{k}") if not data[k.to_s] and self.class.primary_key[0] != k
97
+ raise LoadError.new("Model cannot be loaded, argument missing: #{k}") if not data.key?(k.to_s) and self.class.primary_key[0] != k
98
98
  entry = nil
99
- if data[k.to_s].is_a? String
99
+ if data[k.to_s].nil?
100
+ entry = nil
101
+ elsif data[k.to_s].is_a? String
100
102
  entry = data[k.to_s].gsub(/'/, ''')
101
103
  elsif data[k.to_s].is_a? Numeric
102
104
  entry = data[k.to_s]
@@ -110,7 +112,9 @@ module Ink
110
112
  end
111
113
  if self.class.primary_key[0] != k
112
114
  self.class.send(:define_method, "#{k}=") do |val|
113
- if val.is_a? String
115
+ if data[k.to_s].nil?
116
+ val = nil
117
+ elsif val.is_a? String
114
118
  val = val.gsub(/'/, ''')
115
119
  elsif val.is_a? Numeric
116
120
  val = val
@@ -139,7 +143,17 @@ module Ink
139
143
  end
140
144
  else
141
145
  data.each do |k,v|
142
- instance_variable_set "@#{k}", (v.is_a?(Numeric)) ? v : "\'#{v}\'"
146
+ entry = nil
147
+ if v.nil?
148
+ entry = nil
149
+ elsif v.is_a? String
150
+ entry = v.gsub(/'/, ''')
151
+ elsif v.is_a? Numeric
152
+ entry = v
153
+ else
154
+ entry = "\'#{v}\'"
155
+ end
156
+ instance_variable_set "@#{k}", entry
143
157
  end
144
158
  end
145
159
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: webink
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.7
5
+ version: 1.2.9
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matthias Geier
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-08-23 00:00:00 Z
13
+ date: 2012-08-25 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: fcgi