cassilds-model 0.1.4 → 0.1.5

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.
@@ -145,6 +145,14 @@ module CassandraModel
145
145
  attrs.each {|k, v| send("#{k}=", v) if respond_to? "#{k}=".to_sym }
146
146
  end
147
147
 
148
+ def method_missing(symbol, *args, &block)
149
+ if symbol[-1] == '='
150
+ @attributes[symbol[0..-2]] = args[0]
151
+ else
152
+ @attributes[symbol.to_s]
153
+ end
154
+ end
155
+
148
156
  def valid?
149
157
  @errors << "key required" if key.to_s !~ /\S/
150
158
  self.instance_eval(&self.class.validation) unless self.class.validation.nil?
@@ -135,6 +135,8 @@ module CassandraModel
135
135
  res = {}
136
136
  attrs.each do |key, item|
137
137
  res[key] = case item
138
+ when Hash
139
+ ::JSON.dump(item)
138
140
  when ::Integer
139
141
  Cassandra::Long.new(item).bytes
140
142
  when ::Time
@@ -142,7 +144,7 @@ module CassandraModel
142
144
  when ::DateTime
143
145
  Cassandra::Long.new(item.to_time.utc.to_i).bytes
144
146
  else
145
- # String, Cassandra::Long, Float, Boolean
147
+ # String, Cassandra::Long, Float, Boolean, TimeuuidType
146
148
  item.to_s
147
149
  end
148
150
  end
@@ -87,7 +87,7 @@ module CassandraModel
87
87
  end
88
88
 
89
89
  def self.load(v)
90
- SimpleUUID::UUID.new(v)
90
+ v && SimpleUUID::UUID.new(v)
91
91
  end
92
92
  end
93
93
  end
@@ -1,3 +1,3 @@
1
1
  class CassandraModel
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassilds-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-09-24 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: shoulda
17
- requirement: &5139740 !ruby/object:Gem::Requirement
17
+ requirement: &11489860 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *5139740
25
+ version_requirements: *11489860
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: cassilds
28
- requirement: &5137460 !ruby/object:Gem::Requirement
28
+ requirement: &11487960 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.12.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *5137460
36
+ version_requirements: *11487960
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: cassilds-connection-pool
39
- requirement: &5135600 !ruby/object:Gem::Requirement
39
+ requirement: &11465120 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.0.2
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *5135600
47
+ version_requirements: *11465120
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: simple_uuid
50
- requirement: &5113460 !ruby/object:Gem::Requirement
50
+ requirement: &11435440 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *5113460
58
+ version_requirements: *11435440
59
59
  description: Cassandra-model allows you to map ColumnFamily/SuperColumnFamily in Cassandra
60
60
  to Ruby objects. It was designed to be fast and simple.
61
61
  email: