resty 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/resty +7 -2
  2. data/lib/resty/attributes.rb +10 -2
  3. metadata +5 -5
data/bin/resty CHANGED
@@ -21,8 +21,13 @@ until ARGV.empty?
21
21
  command = ARGV.shift
22
22
  puts "*** #{object._href} <- #{command}"
23
23
  # json_puts object
24
- object = object.send(command)
24
+
25
+ if command =~ /^\d+$/
26
+ object = object[command.to_i]
27
+ else
28
+ object = object.send(command)
29
+ end
25
30
  end
26
31
 
27
- puts "*** #{object._href}"
32
+ puts "*** #{object._href if object.respond_to?(:_href)}"
28
33
  json_puts object
@@ -39,12 +39,20 @@ class Resty::Attributes
39
39
  end
40
40
 
41
41
  def populate!
42
- @data = Resty::Transport.request_json(@href)
42
+ new_data = Resty::Transport.request_json(@href)
43
+
44
+ @data = case new_data
45
+ when Array
46
+ { ':href' => @href, ':items' => new_data }
47
+ else
48
+ new_data
49
+ end
50
+
43
51
  @populated = true
44
52
  end
45
53
 
46
54
  def populated_data
47
- populate!
55
+ populate! unless populated?
48
56
  @data
49
57
  end
50
58
 
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.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
17
- requirement: &16275520 !ruby/object:Gem::Requirement
17
+ requirement: &15484860 !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: *16275520
25
+ version_requirements: *15484860
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: json
28
- requirement: &16275040 !ruby/object:Gem::Requirement
28
+ requirement: &15484380 !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: *16275040
36
+ version_requirements: *15484380
37
37
  description:
38
38
  email:
39
39
  executables: