twitter 5.13.0 → 5.14.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 +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/twitter/media/animated_gif.rb +8 -0
- data/lib/twitter/media/video.rb +32 -0
- data/lib/twitter/media/video_info.rb +23 -0
- data/lib/twitter/media_factory.rb +2 -0
- data/lib/twitter/null_object.rb +4 -0
- data/lib/twitter/value.rb +40 -0
- data/lib/twitter/variant.rb +12 -0
- data/lib/twitter/version.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d6e26a619945618f7765e590a90debefc4ae1a3
|
4
|
+
data.tar.gz: 704ea457d4e963094a28314c3683ddd36f7565d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9831e99f3e7a8244581cd5328ca118e9180039076ef82d1295c6b219472b26287a85e686b84faa9810bba9fe3e773afb466eccfb7f9e97791336d6b05538d659
|
7
|
+
data.tar.gz: 6e5943dad0b823655e33af044fabb2ba40354baf143c3dce735ef4a0c1ea33f230ac73afd325d48ba1a9e91207f9ab5c37b19d547a15515bb473793f857a0e5c
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
5.14.0
|
2
|
+
------
|
3
|
+
* [Add `Twitter::NullObject#respond_to?`](https://github.com/sferik/twitter/commit/438e311d93f382960650e20898203c880ade6b25)
|
4
|
+
* [Add `Twitter::Media::Video`, `Twitter::Media::VideoInfo`, and `Twitter::Media::Variant`](https://github.com/sferik/twitter/commit/158193f85843ebac7b3188bbad26d73907577f6a)
|
5
|
+
* [Add `Twitter::Media::AnimatedGif` media entity](https://github.com/sferik/twitter/commit/76cb6645a54969edc7c9195e9e27e3728f5fd683) ([@nidev](https://twitter.com/nidev))
|
6
|
+
|
1
7
|
5.13.0
|
2
8
|
------
|
3
9
|
* [Deprecate `Twitter::REST::Client#get` and `Twitter::REST::Client#post`](https://github.com/sferik/twitter/commit/65773c7d741098490f4164fae9e4433365cd4292)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'twitter/identity'
|
2
|
+
require 'twitter/media/video_info'
|
3
|
+
|
4
|
+
module Twitter
|
5
|
+
module Media
|
6
|
+
class Video < Twitter::Identity
|
7
|
+
# @return [Array<Integer>]
|
8
|
+
attr_reader :indices
|
9
|
+
display_uri_attr_reader
|
10
|
+
uri_attr_reader :expanded_uri, :media_uri, :media_uri_https, :uri
|
11
|
+
|
12
|
+
# Returns an array of photo sizes
|
13
|
+
#
|
14
|
+
# @return [Array<Twitter::Size>]
|
15
|
+
def sizes
|
16
|
+
@attrs.fetch(:sizes, []).inject({}) do |object, (key, value)|
|
17
|
+
object[key] = Size.new(value)
|
18
|
+
object
|
19
|
+
end
|
20
|
+
end
|
21
|
+
memoize :sizes
|
22
|
+
|
23
|
+
# Returns video info
|
24
|
+
#
|
25
|
+
# @return [Twitter::Media::VideoInfo]
|
26
|
+
def video_info
|
27
|
+
VideoInfo.new(@attrs[:video_info]) unless @attrs[:video_info].nil?
|
28
|
+
end
|
29
|
+
memoize :video_info
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'twitter/variant'
|
2
|
+
|
3
|
+
module Twitter
|
4
|
+
module Media
|
5
|
+
class VideoInfo < Twitter::Base
|
6
|
+
# @return [Array<Integer]
|
7
|
+
attr_reader :aspect_ratio
|
8
|
+
|
9
|
+
# @return [Integer]
|
10
|
+
attr_reader :duration_millis
|
11
|
+
|
12
|
+
# Returns an array of video variants
|
13
|
+
#
|
14
|
+
# @return [Array<Twitter::Variant>]
|
15
|
+
def variants
|
16
|
+
@attrs.fetch(:variants, []).map do |variant|
|
17
|
+
Variant.new(variant)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
memoize :variants
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/twitter/null_object.rb
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
module Twitter
|
2
|
+
class Value
|
3
|
+
def self.new(*fields, &block)
|
4
|
+
Class.new do
|
5
|
+
attr_reader(:hash, *fields)
|
6
|
+
|
7
|
+
const_set :VALUE_ATTRS, fields
|
8
|
+
|
9
|
+
define_method(:initialize) do |hash|
|
10
|
+
unexpected_keys = hash.keys - self::VALUE_ATTRS
|
11
|
+
if unexpected_keys.any?
|
12
|
+
fail ArgumentError.new("Unexpected hash keys: #{unexpected_keys}")
|
13
|
+
end
|
14
|
+
|
15
|
+
hash.values_at(*self::VALUE_ATTRS).zip(hash.values) do |field, value|
|
16
|
+
instance_variable_set(:"@#{field}", value)
|
17
|
+
end
|
18
|
+
|
19
|
+
@hash = self.class.hash ^ hash.values.hash
|
20
|
+
|
21
|
+
freeze
|
22
|
+
end
|
23
|
+
|
24
|
+
def ==(other)
|
25
|
+
eql?(other)
|
26
|
+
end
|
27
|
+
|
28
|
+
def eql?(other)
|
29
|
+
self.class == other.class && values == other.values
|
30
|
+
end
|
31
|
+
|
32
|
+
def values
|
33
|
+
self.class::VALUE_ATTRS.map { |field| send(field) }
|
34
|
+
end
|
35
|
+
|
36
|
+
class_eval(&block) if block
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/twitter/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Michaels-Ober
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2015-02-14 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: addressable
|
@@ -207,7 +207,10 @@ files:
|
|
207
207
|
- lib/twitter/identity.rb
|
208
208
|
- lib/twitter/language.rb
|
209
209
|
- lib/twitter/list.rb
|
210
|
+
- lib/twitter/media/animated_gif.rb
|
210
211
|
- lib/twitter/media/photo.rb
|
212
|
+
- lib/twitter/media/video.rb
|
213
|
+
- lib/twitter/media/video_info.rb
|
211
214
|
- lib/twitter/media_factory.rb
|
212
215
|
- lib/twitter/metadata.rb
|
213
216
|
- lib/twitter/null_object.rb
|
@@ -263,6 +266,8 @@ files:
|
|
263
266
|
- lib/twitter/tweet.rb
|
264
267
|
- lib/twitter/user.rb
|
265
268
|
- lib/twitter/utils.rb
|
269
|
+
- lib/twitter/value.rb
|
270
|
+
- lib/twitter/variant.rb
|
266
271
|
- lib/twitter/version.rb
|
267
272
|
- twitter.gemspec
|
268
273
|
homepage: http://sferik.github.com/twitter/
|
@@ -285,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
285
290
|
version: 1.3.5
|
286
291
|
requirements: []
|
287
292
|
rubyforge_project:
|
288
|
-
rubygems_version: 2.
|
293
|
+
rubygems_version: 2.4.5
|
289
294
|
signing_key:
|
290
295
|
specification_version: 4
|
291
296
|
summary: A Ruby interface to the Twitter API.
|