directed-edge 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/directed-edge.gemspec +2 -2
- data/lib/directed_edge.rb +15 -4
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/directed-edge.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{directed-edge}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Directed Edge"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-03-29}
|
13
13
|
s.description = %q{Bindings for the Directed Edge webservices API}
|
14
14
|
s.email = %q{info@directededge.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/directed_edge.rb
CHANGED
@@ -47,6 +47,17 @@ class Hash
|
|
47
47
|
end
|
48
48
|
self
|
49
49
|
end
|
50
|
+
|
51
|
+
def []=(key, value)
|
52
|
+
store(key, value)
|
53
|
+
@insert_order = [] if @insert_order.nil?
|
54
|
+
@insert_order.delete(key) if @insert_order.include?(key)
|
55
|
+
@insert_order.push(key)
|
56
|
+
end
|
57
|
+
|
58
|
+
def insert_order_each
|
59
|
+
@insert_order.each { |key| yield key, fetch(key) } unless @insert_order.nil?
|
60
|
+
end
|
50
61
|
end
|
51
62
|
|
52
63
|
# The DirectedEdge module contains three classes:
|
@@ -62,13 +73,11 @@ module DirectedEdge
|
|
62
73
|
|
63
74
|
class Resource
|
64
75
|
|
65
|
-
private
|
66
|
-
|
67
76
|
# Reads an item from the database and puts it into an XML document.
|
68
77
|
|
69
78
|
def read_document(method='', params={})
|
70
79
|
method << '?' << params.map { |key, value| "#{URI.encode(key)}=#{URI.encode(value)}" }.join('&')
|
71
|
-
REXML::Document.new(@resource[method].get(:accept => 'text/xml'))
|
80
|
+
REXML::Document.new(@resource[method].get(:accept => 'text/xml').to_s)
|
72
81
|
end
|
73
82
|
|
74
83
|
# Returns an array of the elements from the document matching the given
|
@@ -165,7 +174,9 @@ module DirectedEdge
|
|
165
174
|
# aggregate, commonly used to do recommendations for a basket of items.
|
166
175
|
|
167
176
|
def group_related(items=Set.new, tags=Set.new, params={})
|
168
|
-
|
177
|
+
if !items.is_a?(Array) || items.size < 1
|
178
|
+
return (params['includeProperties'] == 'true') ? {} : []
|
179
|
+
end
|
169
180
|
params['items'] = items.to_a.join(',')
|
170
181
|
params['tags'] = tags.to_a.join(',')
|
171
182
|
params['union'] = true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: directed-edge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Directed Edge
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-03-29 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|