reddit-base 0.6.3 → 0.7.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.
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