reddit-base 0.6.3 → 0.7.0

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: e5434f47ac110ea444713ddca6eb0393cb75ff4e
4
- data.tar.gz: 3844171cdc216c6c08f143202bc4430692977d96
3
+ metadata.gz: 22cf96662f97d08874eaca33478a1eea082a5b67
4
+ data.tar.gz: 5bcabd1ae1d1949aaa1bf5faf2b208e334b8343a
5
5
  SHA512:
6
- metadata.gz: 64544c4706f902fcd802f1f885477cb3feea9e04b51883a077bdea1b2fc934c25539de1310da2945af8836db027f2e43da8a509f9f5f7729e2badafecfa4d5b9
7
- data.tar.gz: d530557664951a96a1043ed46f749b7bca59bbbffe2c318b7c9f16dc98f87b565b4d8a2b9e649126fabd440ac94a5892e42d3c6a5a418e320104e1f8c216e944
6
+ metadata.gz: 1fc583f852ff640970db260a09ffdf54ce52f2891cf738fdec8c3ff2236fafef73c14a48b698e1cd64009c1e140e52176da31bb14b3dcdd068c25d5450c3f144
7
+ data.tar.gz: b6a25e569393e30b88cb9fa0d3e378b2efd13e25842461589d0347e99832dd62e2b454ea7434faf3c4cef504b63a2cd57c6b1558f796eebd5d78cbfc86c4c931
data/README.md CHANGED
@@ -104,20 +104,13 @@ client.post('/api/upload_sr_img.json', r: SUBREDDIT, file: image_upload, header:
104
104
  `Client` returns a type of `Hashie::Mash` so instead of:
105
105
 
106
106
  ```ruby
107
- client.get('/r/AskReddit')['data']['children']
107
+ client.get('/r/AskReddit').body['data']['children']
108
108
  ```
109
109
 
110
110
  You can do:
111
111
 
112
112
  ```ruby
113
- client.get('/r/AskReddit').data.children
114
- ```
115
-
116
- As a bonus it also forwards any missed methods along to its `data` attribute,
117
- so you can take it a step further and just do:
118
-
119
- ```ruby
120
- client.get('/r/AskReddit').children
113
+ client.get('/r/AskReddit').body.data.children
121
114
  ```
122
115
 
123
116
  ### Caching
@@ -8,7 +8,6 @@ require 'reddit/base/version'
8
8
  require 'reddit/base/basic_client'
9
9
  require 'reddit/base/client'
10
10
  require 'reddit/base/helpers'
11
- require 'reddit/base/mash'
12
11
  require 'reddit/base/upload_io'
13
12
 
14
13
  module Reddit
@@ -1,5 +1,3 @@
1
- require 'hashie'
2
-
3
1
  module Reddit
4
2
  module Base
5
3
  # Client that does everything BasicClient does but also attempts to
@@ -9,6 +7,7 @@ module Reddit
9
7
  super(options)
10
8
 
11
9
  connection.builder.insert_before FaradayMiddleware::FollowRedirects, FaradayMiddleware::ParseJson
10
+ connection.builder.insert_before FaradayMiddleware::ParseJson, FaradayMiddleware::Mashify
12
11
  connection.builder.insert_before FaradayMiddleware::Reddit::Modhash, Faraday::ManualCache, expires_in: 30
13
12
  connection.builder.insert_before Faraday::ManualCache, FaradayMiddleware::Reddit::ForceJson
14
13
  end
@@ -16,48 +15,29 @@ module Reddit
16
15
  def delete(url, **options)
17
16
  nocache = options.delete(:nocache)
18
17
 
19
- response = connection.delete(url, **options)
20
- mashify response
18
+ connection.delete(url, **options)
21
19
  end
22
20
 
23
21
  def get(url, **options)
24
22
  nocache = options.delete(:nocache)
25
23
 
26
- response = connection.get do |req|
24
+ connection.get do |req|
27
25
  req.url url
28
26
  req.headers['x-faraday-manual-cache'] = 'NOCACHE' if nocache
29
27
  req.params = options
30
28
  end
31
-
32
- mashify response
33
29
  end
34
30
 
35
31
  def post(url, **options)
36
32
  nocache = options.delete(:nocache)
37
33
 
38
- response = connection.post(url, **options)
39
- mashify response
34
+ connection.post(url, **options)
40
35
  end
41
36
 
42
37
  def put(url, **options)
43
38
  nocache = options.delete(:nocache)
44
39
 
45
- response = connection.put(url, **options)
46
- mashify response
47
- end
48
-
49
- def mashify(response)
50
- if response.body.is_a? Array
51
- response.body.map do |x|
52
- output = Mash.new x
53
- output.response = response
54
- output
55
- end
56
- else
57
- output = Mash.new response.body
58
- output.response = response
59
- output
60
- end
40
+ connection.put(url, **options)
61
41
  end
62
42
  end
63
43
  end
@@ -1,5 +1,5 @@
1
1
  module Reddit
2
2
  module Base
3
- VERSION = '0.6.3'
3
+ VERSION = '0.7.0'
4
4
  end
5
5
  end
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.5"
25
25
  spec.add_development_dependency "rake", '~> 0'
26
26
 
27
- spec.add_dependency 'faraday-manual-cache', '~> 0.1.1'
28
- spec.add_dependency 'faraday_middleware-reddit', '~> 0.4.1'
29
- spec.add_dependency 'hashie', '~> 2.1'
27
+ spec.add_dependency 'faraday-manual-cache', '~> 0.1'
28
+ spec.add_dependency 'faraday_middleware-reddit', '~> 0.4'
30
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reddit-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel O'Brien
@@ -44,42 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.1
47
+ version: '0.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.1
54
+ version: '0.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday_middleware-reddit
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 0.4.1
61
+ version: '0.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 0.4.1
69
- - !ruby/object:Gem::Dependency
70
- name: hashie
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '2.1'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- version: '2.1'
68
+ version: '0.4'
83
69
  description: |-
84
70
  A minimal reddit API client for Ruby that
85
71
  simplifies concerns such as authentication, rate limiting and extracting
@@ -99,7 +85,6 @@ files:
99
85
  - lib/reddit/base/basic_client.rb
100
86
  - lib/reddit/base/client.rb
101
87
  - lib/reddit/base/helpers.rb
102
- - lib/reddit/base/mash.rb
103
88
  - lib/reddit/base/upload_io.rb
104
89
  - lib/reddit/base/version.rb
105
90
  - reddit-base.gemspec
@@ -1,19 +0,0 @@
1
- module Reddit
2
- module Base
3
- class Mash < Hashie::Mash
4
- include Hashie::Extensions::DeepFetch
5
-
6
- def method_missing(method, *args, &block)
7
- if self['data'] && self['data'].has_key?(method)
8
- self['data'].send(method, *args, &block)
9
- else
10
- super
11
- end
12
- end
13
-
14
- def respond_to?(method)
15
- (self.respond_to?(:data) && self.data.respond_to?(method)) || super
16
- end
17
- end
18
- end
19
- end