directed-edge 0.1.0 → 0.1.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/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
|