mem_model 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzRhNWZjNTkwOWFiYWVjNzNjNzdkNTNjZDVkYWRjNTRiOWE5YWEzZQ==
4
+ N2RlY2YxMjZlNWIyNzA1MTliM2FlZDI5N2ZjNTZlNjYyOTI2MjM0Ng==
5
5
  data.tar.gz: !binary |-
6
- NWIwNDI4NWZmZDU1Y2EyMjJlMzA3ZTZhYTQ2OGM2Y2FmNGVmY2M0Yg==
6
+ ZGYyNWYyMjY2MTI1ODkzZDg1ZGMxMGYwYmNkMjA1ZmI1MTY5OGYyNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YjQxNjZiY2UyNWUyMWVmYTJkOTBkMDgzN2JlZWFjMGMzMjU5NjZjMDJiNzlk
10
- MjZjNmY3ZjNhNDI1ZGZlMGM1NWE1MDZjYzY2ZDBmMTNkNDMwMmU2MjAzMTFm
11
- ODNjMGE1MDgxMWZiNTJlNjQ0ZDAyZWZjOGFlODBhZmI4YjEzNjk=
9
+ Y2I1ZjJlNmZmMTI0ZDhkYjU5ZjQ3NzE2NWUwNDlmMzU2MmFlNGEwNjYwMzFj
10
+ ODE4OGY3NzVlYzE3MTgwM2U3MGQxMjQ0ZmIyZWY3OTJmNmI1MjY1NzE4NDcw
11
+ ZjkxYTE5MzcwY2VkYzRjMmZmYWJhYzU2MjI2YzFlNzA3M2Y5ZDM=
12
12
  data.tar.gz: !binary |-
13
- NjA0ZDQ1MWJkMGE0YTE2NGJhNmFjMjlkZDkwNDBhMDJmZmIwZTQzODM0NGJl
14
- NjI3NGIzNzJiNTlhZGNjYTY5ZWIwNDE1ZTRkZjViYzE2M2IxZTcxZTk3ZTAw
15
- ODk1Njc2ZjU1Nzg3NzlmY2UxYmQwYmU2Yjg2MTZiZGY2ZGQwZDM=
13
+ ZjY0YWZkMDY3ZDNmZjQwYTEyNWE1M2U2YjEzNmY4MDM3ZDMyOGY1ZjJmZWU0
14
+ NGQ1NzY4NmJmNTg4ZjcyY2VlZmJmZmZmZTNhYzA0NDczM2IzODczMTA0OWY5
15
+ NmZjZDgxNjU2ZThkZjgxMTIyYWE0ZTI4M2M1MzY3MTVjNjg3Zjg=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 0.5.0 / 2014-01-02
2
+
3
+ * 1 enhancement:
4
+
5
+ * Use native Maglev #committed? if available
6
+
7
+
1
8
  ### 0.4.0 / 2014-01-02
2
9
 
3
10
  * 1 enhancement:
@@ -19,11 +19,11 @@ module MemModel
19
19
  end
20
20
 
21
21
  def store_class
22
- MemModel.maglev? ? IdentitySet : Set
22
+ maglev? ? IdentitySet : Set
23
23
  end
24
24
 
25
25
  def store
26
- @@store ||= store_class.new
26
+ @store ||= store_class.new
27
27
  end
28
28
 
29
29
  def size
@@ -91,14 +91,19 @@ module MemModel
91
91
  end
92
92
 
93
93
  def initialize(attributes = {})
94
- @persisted = false
94
+ @persisted = false unless maglev?
95
95
  self.id = self.class.generate_id
96
96
  load_attributes(attributes)
97
97
  end
98
98
 
99
99
 
100
100
  def model_name; self.class.model_name; end
101
- def persisted?; true; end
101
+
102
+ unless MemModel.maglev?
103
+ def committed?; @persisted == true; end
104
+ end
105
+ alias_method :persisted?, :committed?
106
+ alias_method :exists?, :committed?
102
107
 
103
108
  def to_key; end
104
109
  def to_param; end
@@ -125,14 +130,10 @@ module MemModel
125
130
  end
126
131
 
127
132
  def new?
128
- !exists?
133
+ !persisted?
129
134
  end
130
135
  alias_method :new_record?, :new?
131
136
 
132
- def exists?
133
- @persisted == true
134
- end
135
-
136
137
  def save
137
138
  new? ? create : update
138
139
  end
@@ -141,7 +142,7 @@ module MemModel
141
142
  self.id ||= generate_id
142
143
  persistent do
143
144
  self.class.store << self
144
- @persisted = true
145
+ @persisted = true unless maglev?
145
146
  end
146
147
  self.id
147
148
  end
@@ -1,3 +1,3 @@
1
1
  module MemModel
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
data/mem_model.gemspec CHANGED
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mem_model 0.4.0.20140102120535 ruby lib
2
+ # stub: mem_model 0.5.0.20140102213025 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mem_model"
6
- s.version = "0.4.0.20140102120535"
6
+ s.version = "0.5.0.20140102213025"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["JohnnyT"]
10
- s.date = "2014-01-02"
10
+ s.date = "2014-01-03"
11
11
  s.description = "MemModel persists Ruby objects using MagLev as a data storage engine. It's an ActiveModel implementation so it works stand-alone or in Rails 3 as a drop-in replacement for ActiveRecord or DataMapper. If MemModel is used in non-MagLev platforms, objects will be persisted to in-memory sets."
12
12
  s.email = ["ubergeek3141@gmail.com"]
13
13
  s.extra_rdoc_files = ["CHANGELOG.md", "CONTRIBUTING.md", "LICENSE.md", "Manifest.txt", "README.md"]
@@ -24,6 +24,7 @@ class TestRootedBase < Minitest::Test
24
24
  assert_raises TransactionError, 'The test Account class is transient' do
25
25
  @account.save
26
26
  end
27
+ @account.abort
27
28
  end
28
29
 
29
30
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mem_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JohnnyT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-02 00:00:00.000000000 Z
11
+ date: 2014-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest