thingtank 0.0.2 → 0.0.3

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 (3) hide show
  1. data/README.md +6 -16
  2. data/VERSION +1 -1
  3. metadata +20 -20
data/README.md CHANGED
@@ -22,15 +22,6 @@ or in rvm:
22
22
  Examples:
23
23
  --------
24
24
 
25
- To simplify the class building we let them all inherit from a role class
26
-
27
- class Born < ThingTank::Role
28
- property :birth_date
29
- property :birth_place
30
-
31
- validates_presence_of :birth_date # make sure a date is given
32
- end
33
-
34
25
  Imagine a Caesar is born
35
26
 
36
27
  class Born < ThingTank::Role
@@ -92,14 +83,14 @@ when he is adult, he wants to marry. now things are getting a bit more complicat
92
83
  validate :spouse_should_be_a_person
93
84
  # ensure that 'spouse' is a doc_id of a Person
94
85
  def spouse_should_be_a_person
95
- Person.get(self["spouse"]).valid? # loads doc as role Person and validates
86
+ Person.get(self["spouse"]).valid? # loads doc as role Person and validates, same as ThingTank.get(self["spouse"]).as(Person).valid?
96
87
  end
97
88
  end
98
89
 
99
90
  we want easy access to the name of the spouse
100
91
 
101
92
  class Spouse < ThingTank::Role
102
- property :married # doc must have "married" property (should be of class married)
93
+ property :married # doc must have "married" property (should be of class married, we don't check this at the moment)
103
94
  property :married_state
104
95
 
105
96
  validate :spouse_should_be_married
@@ -130,7 +121,7 @@ now we could easily get julius married
130
121
  conny = ThingTank.create :gender => "f", :name => 'Cornelia', :roles => ['Person']
131
122
  julius["married"] = {"date" => "84 BC", "spouse" => conny.id}
132
123
  julius["married_state"] = "married"
133
- julius.with("married").is(Married).valid? # => true # "married" is a property that plays the Married
124
+ julius.with("married").is(Married).valid? # => true # "married" is a property that plays the Married role
134
125
  julius.has(Spouse).valid? # #has is an alias of #is
135
126
  julius.save
136
127
  julius.reload
@@ -215,10 +206,9 @@ julius could even marry a second time, i.e. marriage becomes an Array of Marriag
215
206
  # ouch, two women!
216
207
 
217
208
 
218
- we should let Spouse know that Marriage might be an array, so simply overwrite marriage with
219
209
  julius is still married with Cornelia but he should not
220
210
 
221
- if Cornelia died before his second marriage, it should'nt be a problem:
211
+ if Cornelia died before his second marriage, it would not be a problem:
222
212
 
223
213
  class Dead
224
214
  # all callbacks of roles are called and defined like corresponding callbacks of the doc
@@ -288,8 +278,8 @@ since julius is immortal, no one should be able to destroy him:
288
278
 
289
279
  ThingTank.get(id).nil? # => julius is still there
290
280
 
291
- You may subclass Hanswurst to do further separation and mix the
292
- native properties of Hanswursts / its subclasses with the roles properties.
281
+ You may subclass ThingTank to do further separation and mix the
282
+ native properties of ThingTanks / its subclasses with the roles properties.
293
283
 
294
284
 
295
285
  Contributing to thingtank
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thingtank
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-03 00:00:00.000000000Z
12
+ date: 2012-02-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: couchrest
16
- requirement: &24145540 !ruby/object:Gem::Requirement
16
+ requirement: &21199960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *24145540
24
+ version_requirements: *21199960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: couchrest_model
27
- requirement: &24144880 !ruby/object:Gem::Requirement
27
+ requirement: &21198980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *24144880
35
+ version_requirements: *21198980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &24144300 !ruby/object:Gem::Requirement
38
+ requirement: &21198080 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *24144300
46
+ version_requirements: *21198080
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &24143760 !ruby/object:Gem::Requirement
49
+ requirement: &21197160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *24143760
57
+ version_requirements: *21197160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &24143160 !ruby/object:Gem::Requirement
60
+ requirement: &21196200 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *24143160
68
+ version_requirements: *21196200
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &24142560 !ruby/object:Gem::Requirement
71
+ requirement: &21195040 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *24142560
79
+ version_requirements: *21195040
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: linecache19
82
- requirement: &24141960 !ruby/object:Gem::Requirement
82
+ requirement: &21188780 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *24141960
90
+ version_requirements: *21188780
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: ruby-debug19
93
- requirement: &24141360 !ruby/object:Gem::Requirement
93
+ requirement: &21187380 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *24141360
101
+ version_requirements: *21187380
102
102
  description:
103
103
  email: ! 'Base64.decode64(bGludXhAbWFyY3JlbmVhcm5zLmRl
104
104
 
@@ -156,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
156
156
  version: '0'
157
157
  segments:
158
158
  - 0
159
- hash: 309771975574738322
159
+ hash: -648606898342500775
160
160
  required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  version: '0'
166
166
  requirements: []
167
167
  rubyforge_project:
168
- rubygems_version: 1.8.6
168
+ rubygems_version: 1.8.15
169
169
  signing_key:
170
170
  specification_version: 3
171
171
  summary: thin wrapper around couchrest