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 CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -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.0"
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{2009-12-28}
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
- (!items.is_a?(Array) || items.size < 1) and return []
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.0
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: 2009-12-28 00:00:00 +01:00
12
+ date: 2010-03-29 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency