resty 0.1.0 → 0.2.0

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.
Files changed (3) hide show
  1. data/lib/resty/attributes.rb +6 -1
  2. data/lib/resty.rb +11 -0
  3. metadata +6 -6
@@ -29,6 +29,11 @@ class Resty::Attributes
29
29
  @wrapped[name] ||= Resty.wrap(@data[name])
30
30
  end
31
31
 
32
+ def items
33
+ populate! unless populated?
34
+ @wrapped[':items'] ||= (@data[':items'] || []).map { |item| Resty.wrap(item) }
35
+ end
36
+
32
37
  def populated?
33
38
  @populated
34
39
  end
@@ -57,5 +62,5 @@ class Resty::Attributes
57
62
  def camelize_key(key)
58
63
  key.gsub(/_([a-z])/) { $1.upcase }
59
64
  end
60
-
65
+
61
66
  end
data/lib/resty.rb CHANGED
@@ -3,6 +3,7 @@ require 'json'
3
3
  require 'base64'
4
4
 
5
5
  class Resty
6
+ include Enumerable
6
7
 
7
8
  def initialize(attributes)
8
9
  @attributes = attributes
@@ -23,6 +24,16 @@ class Resty
23
24
  def to_param
24
25
  Resty.encode_param(_href)
25
26
  end
27
+
28
+ def each
29
+ @attributes.items.each do |x|
30
+ yield x
31
+ end
32
+ end
33
+
34
+ def [](index)
35
+ @attributes.items[index]
36
+ end
26
37
 
27
38
  def method_missing(name, *args)
28
39
  if name =~ /^(.+)!$/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-09 00:00:00.000000000 +10:00
12
+ date: 2011-06-16 00:00:00.000000000 +10:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
17
- requirement: &12942680 !ruby/object:Gem::Requirement
17
+ requirement: &16275520 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.6.3
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *12942680
25
+ version_requirements: *16275520
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: json
28
- requirement: &12942200 !ruby/object:Gem::Requirement
28
+ requirement: &16275040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 1.5.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *12942200
36
+ version_requirements: *16275040
37
37
  description:
38
38
  email:
39
39
  executables: