medea 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/medea/jasondb.rb +2 -2
- data/lib/medea/jasondeferredquery.rb +14 -12
- data/lib/medea/jasonlistproperty.rb +9 -10
- data/lib/medea/templates/content.metadata +3 -0
- data/lib/medea/templates/keylist.metadata +3 -0
- data/lib/medea/templates/keylist.template +1 -1
- data/lib/medea/templates/search.metadata +3 -0
- data/lib/medea/templates/search.template +4 -3
- data/lib/medea/version.rb +2 -2
- data/spec/spec_helper.rb +4 -4
- metadata +5 -2
data/lib/medea/jasondb.rb
CHANGED
@@ -38,8 +38,8 @@ module Medea
|
|
38
38
|
'X-VERSION' => TEMPLATE_VERSION}
|
39
39
|
curr_version = TEMPLATE_VERSION.split "."
|
40
40
|
base_url = url ? url : JasonDB::db_auth_url
|
41
|
-
Dir.glob(File.expand_path(File.join(template_dir, "
|
42
|
-
#for each template, we need to post it to ..#{
|
41
|
+
Dir.glob(File.expand_path(File.join(template_dir, "*.*"))).select do |file|
|
42
|
+
#for each template, we need to post it to ..#{filenam e}:html_template
|
43
43
|
file =~ name_pattern
|
44
44
|
template_path = "#{base_url}..#{$1}:#{$2}"
|
45
45
|
|
@@ -92,8 +92,12 @@ module Medea
|
|
92
92
|
#for each k/v in the hash, we want to add an entry to filter_array
|
93
93
|
val.each do |field ,value|
|
94
94
|
if value.is_a? Array
|
95
|
-
|
96
|
-
filter_array << URI.escape("#{name.to_s}
|
95
|
+
if field == :HTTP_X_PARENT
|
96
|
+
filter_array << URI.escape("#{name.to_s}={#{field}:[#{value.join ","}]}", unsafe)
|
97
|
+
else
|
98
|
+
value.each do |i|
|
99
|
+
filter_array << URI.escape("#{name.to_s}=#{field}:#{i}", unsafe)
|
100
|
+
end
|
97
101
|
end
|
98
102
|
else
|
99
103
|
filter_array << URI.escape("#{name.to_s}=#{field.to_s}:#{value.to_s}", unsafe)
|
@@ -144,11 +148,10 @@ module Medea
|
|
144
148
|
def execute_query content=true
|
145
149
|
#hit the URL
|
146
150
|
#fill self.contents with :ghost versions of JasonObjects
|
147
|
-
|
148
|
-
|
149
|
-
|
151
|
+
self.contents = []
|
152
|
+
response = RestClient.get to_url
|
153
|
+
if response.code == 200 #OK
|
150
154
|
result = JSON.parse(response)
|
151
|
-
self.contents = []
|
152
155
|
#results are in a hash, their keys are just numbers
|
153
156
|
result.keys.each do |k|
|
154
157
|
if k =~ /^[0-9]+$/
|
@@ -167,15 +170,14 @@ module Medea
|
|
167
170
|
self.contents << item
|
168
171
|
end
|
169
172
|
end
|
170
|
-
|
171
173
|
self.state = :postfetch
|
172
|
-
|
173
|
-
|
174
|
-
#(currently a problem with the template is causing a parser error when there's no results)
|
175
|
-
self.contents = []
|
174
|
+
self.contents
|
175
|
+
elsif response.code == 204 #No Content
|
176
176
|
self.state = :postfetch
|
177
|
+
self.contents
|
178
|
+
else #response wasn't OK or empty!
|
179
|
+
self.state = :prefetch
|
177
180
|
end
|
178
|
-
result
|
179
181
|
end
|
180
182
|
end
|
181
183
|
end
|
@@ -16,6 +16,10 @@ module Medea
|
|
16
16
|
self.filters[:FILTER][:HTTP_X_CLASS] = list_class.name if list_type == :value
|
17
17
|
@list_name = list_name
|
18
18
|
@parent = parent
|
19
|
+
if @parent.is_a? JasonObject
|
20
|
+
self.filters[:FILTER][:HTTP_X_PARENT] = @parent.jason_key
|
21
|
+
end
|
22
|
+
|
19
23
|
@state = :prefetch
|
20
24
|
@contents = []
|
21
25
|
@list_type = list_type
|
@@ -118,23 +122,18 @@ module Medea
|
|
118
122
|
|
119
123
|
|
120
124
|
def to_url
|
121
|
-
|
122
|
-
|
123
|
-
params << "FILTER=HTTP_X_LIST:#{@list_name.to_s}"
|
124
|
-
|
125
|
-
if @parent.is_a? JasonObject
|
126
|
-
params << "FILTER=HTTP_X_PARENT:#{@parent.jason_key}"
|
127
|
-
else # @parent.is_a? JasonListProperty ##(or DeferredQuery?)
|
125
|
+
if not @parent.is_a? JasonObject
|
126
|
+
# @parent.is_a? JasonListProperty ##(or DeferredQuery?)
|
128
127
|
#we can get the insecure url here, because it will be resolved and executed at JasonDB - on a secure subnet.
|
129
128
|
|
130
129
|
#puts " = Fetching subquery stupidly. (#{@parent.to_url})"
|
131
130
|
@parent.result_format = :keylist
|
132
131
|
subquery = (RestClient.get @parent.to_url).strip
|
133
|
-
|
134
|
-
|
132
|
+
|
133
|
+
self.filters[:FILTER][:HTTP_X_PARENT] = subquery.split ","
|
135
134
|
end
|
136
135
|
|
137
|
-
|
136
|
+
super
|
138
137
|
end
|
139
138
|
end
|
140
139
|
end
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
<!--%item% [%HTTP_X_KEY%][%COMMA%]%item%-->
|
@@ -5,11 +5,12 @@
|
|
5
5
|
"SELF_LINK":"--%SELF_LINK%--",
|
6
6
|
"AUTH_USER":"--%AUTH_USER%--",
|
7
7
|
"RESTFULDB_VERSION":"--%RESTFULDB_VERSION%--",
|
8
|
+
"RESTFULDB_VER":"--%RESTFULDB_VER%--",
|
8
9
|
"QUERY_URL":"--%QUERY_URL%--",
|
9
10
|
"TOTAL_STATE_ERRORS":"--%TOTAL_STATE_ERRORS%--",
|
10
|
-
"TOTAL_VALID_STATES_ERRORS":"--%TOTAL_VALID_STATES_ERRORS%--"
|
11
|
+
"TOTAL_VALID_STATES_ERRORS":"--%TOTAL_VALID_STATES_ERRORS%--"
|
11
12
|
<!--%item%
|
12
|
-
"[%ITEM_NUMBER%]":
|
13
|
+
,"[%ITEM_NUMBER%]":
|
13
14
|
{
|
14
15
|
"POST_TO":"[%POST_TO%]",
|
15
16
|
"RELATIVE_VERSION":"[%RELATIVE_VERSION%]",
|
@@ -24,6 +25,6 @@
|
|
24
25
|
"HTTP_X_KEY":"[%HTTP_X_KEY%]",
|
25
26
|
"HTTP_X_PARENT":"[%HTTP_X_PARENT%]",
|
26
27
|
"CONTENT":[%CONTENT%]
|
27
|
-
}
|
28
|
+
}
|
28
29
|
%item%-->
|
29
30
|
}
|
data/lib/medea/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -6,6 +6,10 @@ require 'medea'
|
|
6
6
|
class Message < Medea::JasonObject
|
7
7
|
end
|
8
8
|
|
9
|
+
ENV["jason_user"] = "michael"
|
10
|
+
ENV["jason_topic"] = "medea-test"
|
11
|
+
ENV["jason_password"] = "password"
|
12
|
+
|
9
13
|
class User < Medea::JasonObject
|
10
14
|
has_location
|
11
15
|
has_many :followees, User
|
@@ -21,7 +25,3 @@ class DummyResponse
|
|
21
25
|
:timestamp => "12345678"}
|
22
26
|
end
|
23
27
|
end
|
24
|
-
|
25
|
-
ENV["jason_user"] = "michael"
|
26
|
-
ENV["jason_topic"] = "medea-test"
|
27
|
-
ENV["jason_password"] = "password"
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: medea
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.7.
|
5
|
+
version: 0.7.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Michael Jensen
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-29 00:00:00 +11:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -84,8 +84,11 @@ files:
|
|
84
84
|
- lib/medea/jasonlistproperty.rb
|
85
85
|
- lib/medea/jasonobject.rb
|
86
86
|
- lib/medea/meta_properties.rb
|
87
|
+
- lib/medea/templates/content.metadata
|
87
88
|
- lib/medea/templates/content.template
|
89
|
+
- lib/medea/templates/keylist.metadata
|
88
90
|
- lib/medea/templates/keylist.template
|
91
|
+
- lib/medea/templates/search.metadata
|
89
92
|
- lib/medea/templates/search.template
|
90
93
|
- lib/medea/version.rb
|
91
94
|
- medea.gemspec
|