ShyCouch 0.7.2 → 0.7.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.
- data/VERSION +1 -1
- data/lib/ShyCouch.rb +5 -5
- data/lib/ShyCouch/data.rb +39 -39
- metadata +23 -23
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.3
|
data/lib/ShyCouch.rb
CHANGED
@@ -79,7 +79,7 @@ module ShyCouch
|
|
79
79
|
def create!
|
80
80
|
@server.create_db(@name)
|
81
81
|
end
|
82
|
-
def
|
82
|
+
def getDocumentById(id)
|
83
83
|
@server.get_document_by_id(@name, id)
|
84
84
|
end
|
85
85
|
|
@@ -223,10 +223,10 @@ module ShyCouch
|
|
223
223
|
# Should check that host and port exist
|
224
224
|
# and that database name is specified
|
225
225
|
# and that there is a password if there is a username
|
226
|
-
raise ShyCouch::DatabaseError unless settings["db"]
|
227
|
-
raise ShyCouch::DatabaseError unless settings["db"]["host"]
|
228
|
-
raise ShyCouch::DatabaseError unless settings["db"]["port"]
|
229
|
-
raise ShyCouch::DatabaseError unless settings["db"]["name"]
|
226
|
+
raise ShyCouch::DatabaseError, 'settings has no db attribute' unless settings["db"] or settings[:db]
|
227
|
+
raise ShyCouch::DatabaseError, 'db settings has no host' unless settings["db"]["host"] or settings[:db][:host]
|
228
|
+
raise ShyCouch::DatabaseError, 'db settings has no port' unless settings["db"]["port"] or settings[:db][:port]
|
229
|
+
raise ShyCouch::DatabaseError, 'db settings has no name' unless settings["db"]["name"] or settings[:db][:name]
|
230
230
|
if settings["db"]["user"]
|
231
231
|
raise ShyCouch::DatabaseError unless settings["db"]["password"]
|
232
232
|
end
|
data/lib/ShyCouch/data.rb
CHANGED
@@ -91,14 +91,14 @@ module ShyCouch
|
|
91
91
|
|
92
92
|
def satisfies_needs?
|
93
93
|
# Check everything in constraints that is this class or a superclass of this class
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
94
|
+
self.class.constraints.each do |classKey, constraints|
|
95
|
+
if self.kind_of?(classKey) and constraints[:needs]
|
96
|
+
constraints[:needs].each do |need|
|
97
|
+
return false unless has_key? need.to_sym or has_key? need.to_s
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
return true
|
102
102
|
end
|
103
103
|
|
104
104
|
def satisfies_suggestions?(opts = {})
|
@@ -138,50 +138,50 @@ module ShyCouch
|
|
138
138
|
end
|
139
139
|
|
140
140
|
def missing_suggestions(opts = {})
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
end
|
151
|
-
end
|
141
|
+
missing = []
|
142
|
+
raise ArgumentError if opts.has_key?(:ignore_suggestions) and opts.has_key?(:ignore_suggestion)
|
143
|
+
opts.has_key?(:ignore_suggestions) ? ign = opts[:ignore_suggestions] :
|
144
|
+
opts.has_key?(:ignore_suggestion) ? ign = [opts[:ignore_suggestion]] : ign = []
|
145
|
+
|
146
|
+
@@constraints.each do |classKey, constraints|
|
147
|
+
if self.kind_of?(classKey)
|
148
|
+
constraints[:suggests].each do |suggestion|
|
149
|
+
missing << suggestion unless has_key?(:suggests) or ign.include?(suggestion)
|
152
150
|
end
|
153
|
-
|
151
|
+
end
|
152
|
+
end
|
153
|
+
return missing
|
154
154
|
end
|
155
155
|
|
156
156
|
def needs?(need)
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
157
|
+
@@constraints.each do |classKey, constraints|
|
158
|
+
if self.kind_of?(classKey)
|
159
|
+
return true if constraints[:needs].include?(need)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
return false
|
163
163
|
end
|
164
164
|
|
165
165
|
def suggests?(suggestion)
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
166
|
+
@@constraints.each do |classKey, constraints|
|
167
|
+
if self.kind_of?(classKey)
|
168
|
+
return true if constraints[:suggests].include?(suggestion)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
return false
|
172
172
|
end
|
173
173
|
|
174
174
|
def suggests; self.class.suggests; end
|
175
175
|
def needs; self.class.needs; end
|
176
176
|
|
177
177
|
def attr_keys
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
178
|
+
# TODO - is this needed?
|
179
|
+
# returns the keys for all the attrs that aren't the id or rev
|
180
|
+
attr_keys = []
|
181
|
+
self.map { |k,v|
|
182
|
+
attr_keys << k unless k == "_id" or k == "_rev"
|
183
|
+
}
|
184
|
+
return attr_keys
|
185
185
|
end
|
186
186
|
|
187
187
|
def pull(opts = {})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ShyCouch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-
|
14
|
+
date: 2011-12-01 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
18
|
-
requirement: &
|
18
|
+
requirement: &70205277506120 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70205277506120
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sourcify
|
29
|
-
requirement: &
|
29
|
+
requirement: &70205281690720 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: 0.5.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70205281690720
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: ShyRubyJS
|
40
|
-
requirement: &
|
40
|
+
requirement: &70205281690240 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: 0.2.0
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70205281690240
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: bundler
|
51
|
-
requirement: &
|
51
|
+
requirement: &70205281689760 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ~>
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: 1.0.0
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70205281689760
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: jeweler
|
62
|
-
requirement: &
|
62
|
+
requirement: &70205281689280 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ~>
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: 1.6.4
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70205281689280
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: rcov
|
73
|
-
requirement: &
|
73
|
+
requirement: &70205281688800 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70205281688800
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: ShyRubyJS
|
84
|
-
requirement: &
|
84
|
+
requirement: &70205281688320 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: 0.2.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70205281688320
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rest-client
|
95
|
-
requirement: &
|
95
|
+
requirement: &70205281687840 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ! '>='
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: 1.6.7
|
101
101
|
type: :runtime
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70205281687840
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: sourcify
|
106
|
-
requirement: &
|
106
|
+
requirement: &70205281687360 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ! '>='
|
@@ -111,10 +111,10 @@ dependencies:
|
|
111
111
|
version: '0'
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70205281687360
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: mime-types
|
117
|
-
requirement: &
|
117
|
+
requirement: &70205281686880 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
120
120
|
- - ! '>='
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
version: '0'
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70205281686880
|
126
126
|
description: Ruby API for CouchDB, designed to work with the Camping micro-framework.
|
127
127
|
email: danbryan@gmail.com
|
128
128
|
executables: []
|
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
162
|
version: '0'
|
163
163
|
segments:
|
164
164
|
- 0
|
165
|
-
hash:
|
165
|
+
hash: -517428942183322011
|
166
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
167
|
none: false
|
168
168
|
requirements:
|