rubeetup 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9ae098cad767d4172df98db6430d54ed3bc8359
4
- data.tar.gz: 7811a1a3e908857d231813a553232797b6760561
3
+ metadata.gz: 3be2334b8cec910e58253f4dd6f4a64149b9cca9
4
+ data.tar.gz: 01d88d2c73ade25d50781780146784908f0ce722
5
5
  SHA512:
6
- metadata.gz: 2dafadd89687cadf78591bbafdfd76e5fe94d24c51b74925a889f2df091f240108b08fd4ae69162e6fc237550376ed59a1f141210dc957b2c3e62f41ed686472
7
- data.tar.gz: 04f191ad5a28d16f821b17c887d68ac17b62a6f3dbbe3c7db0d2398825bddc83669341262f7644bbb7d9a05c21d222cac79932df97c79b3148c6c1e075a9db6b
6
+ metadata.gz: e799840bf0a0cc5492f7f4cb53f105521b49da50719f092726d555d107c6cfc5b2870da470340f6bebdcee2a9f6f6f348259a45deaff9e343805df4611930290
7
+ data.tar.gz: dbd46b3f93cb5e014bdb810beadc8a5d3cae0b4f9f5fdf5249c58bd07319d39730a022a80e4fb12db9add38361f063524745d43f4e0ff8f89cf0c290a48e9487
data/README.md CHANGED
@@ -78,8 +78,7 @@ events.each do |event|
78
78
  puts event.name, event.time, event.duration, ...
79
79
 
80
80
  venue = event.venue
81
- puts venue[:address_1]
82
- puts venue[:city]
81
+ puts venue.address_1, venue.city, ...
83
82
  end
84
83
 
85
84
  pic = requester.create_member_photo(photo: 'spec/test_files/cat.png').first
@@ -41,7 +41,7 @@ module Rubeetup
41
41
  def data
42
42
  fail error_class.new(self), error_message unless success?
43
43
  collection = collectionize(parsed_body)
44
- collection.map {|elem| wrapper_class.new(elem)}
44
+ collection.map {|elem| wrapper_class.wrapperize!(elem)}
45
45
  end
46
46
 
47
47
  # Consider implementing pagination
@@ -7,7 +7,7 @@ module Rubeetup
7
7
  ##
8
8
  # @param [Hash{Symbol=> ...}] data hash of response data
9
9
  #
10
- def initialize(data)
10
+ def initialize(data = {})
11
11
  @hash = data
12
12
  end
13
13
 
@@ -18,12 +18,33 @@ module Rubeetup
18
18
  def method_missing(name, *args)
19
19
  if name == :[]
20
20
  key = args.first
21
- @hash.include?(key) ? @hash[key] : super
21
+ @hash.include?(key) ? @hash[key] :
22
+ (raise ArgumentError, "#{key} is not a valid argument")
22
23
  elsif @hash.include? name
23
24
  @hash[name]
25
+ elsif @hash.respond_to? name
26
+ @hash.send name
24
27
  else
25
28
  super
26
29
  end
27
30
  end
31
+
32
+ ##
33
+ # Wraps itself over a Hash, and it does so recursively as long as it finds
34
+ # nested Hashes
35
+ # @note it modifies the input data
36
+ # @param [Hash{Symbol=> ...}] data hash of response data
37
+ #
38
+ def self.wrapperize!(data)
39
+ if data.is_a? Hash
40
+ obj = Rubeetup::ResponseWrapper.new(data)
41
+ data.each do |key, val|
42
+ data[key] = wrapperize!(val)
43
+ end
44
+ obj
45
+ else
46
+ data
47
+ end
48
+ end
28
49
  end
29
50
  end
@@ -2,5 +2,5 @@ module Rubeetup
2
2
  ##
3
3
  # Current gem version
4
4
  #
5
- VERSION = '0.0.3'
5
+ VERSION = '0.0.4'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubeetup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Vascelli
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-10 00:00:00.000000000 Z
11
+ date: 2015-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler