rubeetup 0.0.3 → 0.0.4

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