mem_model 0.4.0 → 0.5.0

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