smugmugapi 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.9.6 / 2007-12-13
2
+
3
+ * Added support in XMLStruct for each_[elem] processing
4
+ * Added support in XMLStruct for elem? processing as boolean checks
5
+
1
6
  == 0.9.5 / 2007-12-09
2
7
 
3
8
  * Added cookie handling to REST calls
@@ -43,7 +43,13 @@ class SmugMugAPI
43
43
  if attrib.is_a?(Fixnum)
44
44
  XMLStruct.new(@xml.elements[attrib], @feed)
45
45
  else
46
- @xml.attributes[XMLStruct.attrib_key(attrib, @feed)]
46
+ attrib = XMLStruct.attrib_key(attrib, @feed)
47
+ if attrib.match(/(.*)\?$/)
48
+ # special processing for boolean (ends with?) lookups
49
+ @xml.attributes[$1] == "1"
50
+ else
51
+ @xml.attributes[attrib]
52
+ end
47
53
  end
48
54
  end
49
55
 
@@ -83,12 +89,24 @@ class SmugMugAPI
83
89
  if @feed && args.first == :entries
84
90
  entries = @xml.get_elements("//entry").map { |e| XMLStruct.new(e, true) }
85
91
  else
86
- path = XMLStruct.attrib_key(args.shift, @feed)
87
- node = @xml.elements[path] rescue nil
88
- if node
89
- XMLStruct.new(node, @feed)
92
+ method = args.first.to_s
93
+ if method.match(/each_(.*)/)
94
+ if block_given?
95
+ node = XMLStruct.attrib_key($1, @feed)
96
+ @xml.elements.each("//#{node}") do |xml|
97
+ yield XMLStruct.new(xml, @feed)
98
+ end
99
+ else
100
+ @xml.get_elements("//{#{node}}").map { |e| XMLStruct.new(e, @feed) }
101
+ end
90
102
  else
91
- self[path]
103
+ path = XMLStruct.attrib_key(args.shift, @feed)
104
+ node = @xml.elements[path] rescue nil
105
+ if node
106
+ XMLStruct.new(node, @feed)
107
+ else
108
+ self[path]
109
+ end
92
110
  end
93
111
  end
94
112
  end
data/lib/smugmugapi.rb CHANGED
@@ -7,7 +7,7 @@ require File.join(File.dirname(__FILE__), "smugmug/logon")
7
7
  require File.join(File.dirname(__FILE__), "smugmug/feed")
8
8
 
9
9
  class SmugMugAPI
10
- VERSION = "0.9.5"
10
+ VERSION = "0.9.6"
11
11
 
12
12
  def nickname=(name)
13
13
  SmugMugAPI.nickname = name
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: smugmugapi
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.9.5
7
- date: 2007-12-10 00:00:00 -05:00
6
+ version: 0.9.6
7
+ date: 2007-12-13 00:00:00 -05:00
8
8
  summary: A very light wrapper around the SmugMug REST API
9
9
  require_paths:
10
10
  - lib
metadata.gz.sig CHANGED
Binary file