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 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