webink 1.2.7 → 1.2.9

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/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