m4dbi 0.8.0 → 0.8.1
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.
- data/lib/m4dbi/model.rb +7 -4
- data/lib/m4dbi/version.rb +1 -1
- data/spec/database.rb +2 -2
- data/spec/hash.rb +2 -2
- data/spec/model.rb +14 -1
- metadata +50 -44
data/lib/m4dbi/model.rb
CHANGED
@@ -281,13 +281,13 @@ module M4DBI
|
|
281
281
|
|
282
282
|
# ------------------- :nodoc:
|
283
283
|
|
284
|
-
def initialize( row )
|
284
|
+
def initialize( row = Hash.new )
|
285
285
|
if ! row.respond_to?( "[]".to_sym ) || ! row.respond_to?( "[]=".to_sym )
|
286
286
|
raise M4DBI::Error.new( "Attempted to instantiate M4DBI::Model with an invalid argument (#{row.inspect}). (Expecting something accessible with [] and []= .)" )
|
287
287
|
end
|
288
|
-
if caller[ 1 ] !~ %r{/m4dbi/model\.rb:}
|
289
|
-
warn "Do not call M4DBI::Model#new directly; use M4DBI::Model#create instead."
|
290
|
-
end
|
288
|
+
# if caller[ 1 ] !~ %r{/m4dbi/model\.rb:}
|
289
|
+
# warn "Do not call M4DBI::Model#new directly; use M4DBI::Model#create instead."
|
290
|
+
# end
|
291
291
|
@row = row
|
292
292
|
@st = Hash.new
|
293
293
|
end
|
@@ -384,6 +384,9 @@ module M4DBI
|
|
384
384
|
def save
|
385
385
|
nil
|
386
386
|
end
|
387
|
+
def save!
|
388
|
+
nil
|
389
|
+
end
|
387
390
|
end
|
388
391
|
|
389
392
|
# Define a new M4DBI::Model like this:
|
data/lib/m4dbi/version.rb
CHANGED
data/spec/database.rb
CHANGED
data/spec/hash.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require File.join(File.dirname(__FILE__), 'helper')
|
2
2
|
|
3
3
|
describe 'Hash' do
|
4
4
|
it 'is convertible to an SQL subclause and matching value Array' do
|
@@ -44,4 +44,4 @@ describe 'Hash' do
|
|
44
44
|
h.slice.should.equal Hash.new
|
45
45
|
h.slice( :g, :h ).should.equal Hash.new
|
46
46
|
end
|
47
|
-
end
|
47
|
+
end
|
data/spec/model.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require File.join(File.dirname(__FILE__), 'helper')
|
2
2
|
|
3
3
|
describe 'M4DBI::Model' do
|
4
4
|
it 'raises an exception when trying to define a model before connecting to a database' do
|
@@ -377,6 +377,12 @@ describe 'A M4DBI::Model subclass' do
|
|
377
377
|
n.should.equal 3
|
378
378
|
end
|
379
379
|
|
380
|
+
it 'can be instantiated with no argument' do
|
381
|
+
lambda {
|
382
|
+
@m_empty.new
|
383
|
+
}.should.not.raise(Exception)
|
384
|
+
end
|
385
|
+
|
380
386
|
it 'provides a means to create a new record from a Hash' do
|
381
387
|
num_authors = @m_author.count
|
382
388
|
|
@@ -938,6 +944,13 @@ describe 'A found M4DBI::Model subclass instance' do
|
|
938
944
|
end
|
939
945
|
end
|
940
946
|
|
947
|
+
it 'does nothing on #save!' do
|
948
|
+
p = @m_post[ 1 ]
|
949
|
+
should.not.raise do
|
950
|
+
p.save!
|
951
|
+
end
|
952
|
+
end
|
953
|
+
|
941
954
|
end
|
942
955
|
|
943
956
|
describe 'M4DBI::Model (relationships)' do
|
metadata
CHANGED
@@ -1,50 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: m4dbi
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.8.1
|
4
5
|
prerelease:
|
5
|
-
version: 0.8.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Pistos
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: metaid
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
24
22
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: rdbi
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rdbi
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
30
33
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
35
38
|
type: :runtime
|
36
|
-
|
37
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: M4DBI provides models, associations and some convenient extensions to
|
47
|
+
RDBI.
|
38
48
|
email: m4dbi dot pistos at purepistos dot net
|
39
49
|
executables: []
|
40
|
-
|
41
50
|
extensions: []
|
42
|
-
|
43
|
-
extra_rdoc_files:
|
51
|
+
extra_rdoc_files:
|
44
52
|
- README.rdoc
|
45
53
|
- CHANGELOG
|
46
54
|
- LICENCE
|
47
|
-
files:
|
55
|
+
files:
|
48
56
|
- README.rdoc
|
49
57
|
- CHANGELOG
|
50
58
|
- LICENCE
|
@@ -64,32 +72,30 @@ files:
|
|
64
72
|
- spec/hash.rb
|
65
73
|
homepage: https://github.com/Pistos/m4dbi
|
66
74
|
licenses: []
|
67
|
-
|
68
75
|
post_install_message:
|
69
76
|
rdoc_options: []
|
70
|
-
|
71
|
-
require_paths:
|
77
|
+
require_paths:
|
72
78
|
- lib
|
73
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
80
|
none: false
|
75
|
-
requirements:
|
76
|
-
- -
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version:
|
79
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
86
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version:
|
85
|
-
requirements:
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
requirements:
|
86
92
|
- bacon (optional)
|
87
93
|
rubyforge_project:
|
88
|
-
rubygems_version: 1.8.
|
94
|
+
rubygems_version: 1.8.18
|
89
95
|
signing_key:
|
90
96
|
specification_version: 3
|
91
97
|
summary: Models (and More) for RDBI
|
92
|
-
test_files:
|
98
|
+
test_files:
|
93
99
|
- spec/database.rb
|
94
100
|
- spec/model.rb
|
95
101
|
- spec/helper.rb
|