pexels 0.2.1 → 0.5.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
  SHA256:
3
- metadata.gz: 1fa972e637620e24f2466be1fa4dea4c68f54e0deae50a40b86adfd6148f6a23
4
- data.tar.gz: b9892dde37db133e3d1e94113a9f00b7a74c21e4a6ac760bd226fcb1160b9d69
3
+ metadata.gz: 640a858dfa54cf40bfa1b9130913504974db246d4725330534f1a332eb8031b5
4
+ data.tar.gz: c45f2aedd96b3a9cdee7b61fb284be1de7bb3f7210fab6673eedb5260e7ee507
5
5
  SHA512:
6
- metadata.gz: c823ada102ccde2f46e9fc8c3d1f82cc8c8914423558ac17f3bcd4168ba1008d83c8f49a479389cd2f1eea2f19b3096eac92cd6d2262c4507439cff5d7450088
7
- data.tar.gz: 29c54e8c7413658efd570604ffe08a024c4af08865d9c3bf3002dcf74c9474d7c4e025924ab239974ce3c2e8ceb3b917ab68ce52084c95f5222b0bbadcdaf023
6
+ metadata.gz: a118ea1244d6232d6737ec4fcfc9e7dbe342042bad0ffd1319a1174a920837c6a499c7f62f0138c6b29e494c49873cd503ca0722eecc218f27ec8c8db7964751
7
+ data.tar.gz: 8a75b15f26dde2b2146877c5b55471798985ea3caba5db14d5702e6fe14410366af2da7d808eecf26136f878627f8a156b54e41e5dcf64eed81256fa42c43b43
data/CHANGES.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Change log
2
2
 
3
+ ## 0.4.0
4
+ * Add support for returning featured collections.
5
+
6
+ ## 0.3.0
7
+ * Add support for photo and video search with filters.
8
+ * Added `avg_color` attribute to `Photo` object.
9
+
3
10
  ## 0.2.1
4
11
  * Added `type`, `photo?` and `video?` helper methods to `Photo` and `Video` classes.
5
12
 
data/README.md CHANGED
@@ -30,6 +30,12 @@ client = Pexels::Client.new('your-access-key')
30
30
  client.photos.search('Cloud')
31
31
  ```
32
32
 
33
+ ### Search for photos with filters
34
+
35
+ ```ruby
36
+ client.photos.search('Dog', color: :yellow, size: :large, orientation: :square)
37
+ ```
38
+
33
39
  ### Find a specific photo
34
40
 
35
41
  ```ruby
@@ -50,6 +56,12 @@ client.photos.curated
50
56
  client.videos.search('waves')
51
57
  ```
52
58
 
59
+ ### Search for videos with filters
60
+
61
+ ```ruby
62
+ client.videos.search('Beach', size: :medium, orientation: :landscape)
63
+ ```
64
+
53
65
  ### Find a specific photo
54
66
 
55
67
  ```ruby
@@ -71,6 +83,11 @@ Note: this is limited to collections belonging to the API user.
71
83
  ```ruby
72
84
  client.collections.all
73
85
  ```
86
+ ### List all featured collections.
87
+
88
+ ```ruby
89
+ client.collections.featured.all
90
+ ```
74
91
 
75
92
  ### Get all media for a collection
76
93
 
@@ -3,24 +3,47 @@ class Pexels::Client::Collections
3
3
  @client = client
4
4
  end
5
5
 
6
- def all(per_page: 15, page: 1)
6
+ def all(per_page: 15, page: 1, timeout: { open: nil, read: nil })
7
7
  response = @client.request(
8
8
  "#{Pexels.api_version}/collections",
9
9
  params: {
10
10
  per_page: per_page,
11
11
  page: page
12
+ },
13
+ options: {
14
+ open_timeout: timeout[:open],
15
+ read_timeout: timeout[:read]
12
16
  })
13
17
 
14
18
  Pexels::CollectionSet.new(response)
15
19
  end
16
20
 
17
- def [](id, type: nil, per_page: 15, page: 1)
21
+ def featured(per_page: 15, page: 1, timeout: { open: nil, read: nil })
22
+ response = @client.request(
23
+ "#{Pexels.api_version}/collections/featured",
24
+ params: {
25
+ per_page: per_page,
26
+ page: page
27
+ },
28
+ options: {
29
+ open_timeout: timeout[:open],
30
+ read_timeout: timeout[:read]
31
+ })
32
+
33
+ Pexels::CollectionSet.new(response)
34
+ end
35
+
36
+ def [](id, type: nil, per_page: 15, page: 1, timeout: { open: nil, read: nil })
18
37
  response = @client.request(
19
38
  "#{Pexels.api_version}/collections/#{id}",
20
39
  params: {
21
40
  per_page: per_page,
22
41
  page: page,
23
42
  type: type
43
+ },
44
+ options: {
45
+ open_timeout: timeout[:open],
46
+ read_timeout: timeout[:read]
24
47
  })
25
48
 
26
49
  Pexels::CollectionMediaSet.new(response)
@@ -1,38 +1,67 @@
1
- class Pexels::Client::Photos
1
+ module Pexels
2
+ class Client
3
+ class Photos
4
+ include SearchFilters
2
5
 
3
- def initialize(client)
4
- @client = client
5
- end
6
+ def initialize(client)
7
+ @client = client
8
+ end
6
9
 
7
- def [](id)
8
- response = @client.request("#{Pexels.api_version}/photos/#{id}")
9
- Pexels::Photo.new(response.body)
10
- end
11
- alias_method :find, :[]
12
-
13
- def search(query, per_page: 15, page: 1, locale: 'en-US')
14
- response = @client.request(
15
- "#{Pexels.api_version}/search",
16
- params: {
17
- query: query,
18
- per_page: per_page,
19
- page: page,
20
- locale: locale
21
- }
22
- )
23
-
24
- Pexels::PhotoSet.new(response)
25
- end
10
+ def [](id, timeout: { open: nil, read: nil })
11
+ response = @client.request(
12
+ "#{Pexels.api_version}/photos/#{id}",
13
+ options: { open_timeout: timeout[:open], read_timeout: timeout[:read] }
14
+ )
15
+ Pexels::Photo.new(response.body)
16
+ end
17
+ alias_method :find, :[]
18
+
19
+ def search(query, per_page: 15, page: 1, locale: 'en-US', orientation: nil, size: nil, color: nil, timeout: { open: nil, read: nil })
20
+ validate_search_params(orientation, size, color)
21
+
22
+ response = @client.request(
23
+ "#{Pexels.api_version}/search",
24
+ params: {
25
+ query: query,
26
+ per_page: per_page,
27
+ page: page,
28
+ locale: locale,
29
+ orientation: orientation,
30
+ size: size,
31
+ color: color
32
+ }.compact,
33
+ options: {
34
+ open_timeout: timeout[:open],
35
+ read_timeout: timeout[:read]
36
+ }
37
+ )
38
+
39
+ Pexels::PhotoSet.new(response)
40
+ end
41
+
42
+ def curated(per_page: 15, page: 1, timeout: { open: nil, read: nil })
43
+ response = @client.request(
44
+ "#{Pexels.api_version}/curated",
45
+ params: {
46
+ per_page: per_page,
47
+ page: page
48
+ },
49
+ options: {
50
+ open_timeout: timeout[:open],
51
+ read_timeout: timeout[:read]
52
+ }
53
+ )
54
+
55
+ Pexels::PhotoSet.new(response)
56
+ end
26
57
 
27
- def curated(per_page: 15, page: 1)
28
- response = @client.request(
29
- "#{Pexels.api_version}/curated",
30
- params: {
31
- per_page: per_page,
32
- page: page,
33
- }
34
- )
58
+ private
35
59
 
36
- Pexels::PhotoSet.new(response)
60
+ def validate_search_params(orientation, size, color)
61
+ validate_orientation(orientation) &&
62
+ validate_size(size) &&
63
+ validate_color(color)
64
+ end
65
+ end
37
66
  end
38
67
  end
@@ -3,13 +3,14 @@ require 'requests'
3
3
  module Pexels
4
4
  class Client
5
5
  class Request
6
- attr_reader :api_key, :path, :method, :params
6
+ attr_reader :api_key, :path, :method, :params, :options
7
7
 
8
- def initialize(api_key, path, method, params)
8
+ def initialize(api_key, path, method, params, options)
9
9
  @api_key = api_key
10
10
  @path = path
11
11
  @method = method
12
12
  @params = params
13
+ @options = options
13
14
  end
14
15
 
15
16
  def call
@@ -28,7 +29,8 @@ module Pexels
28
29
  method,
29
30
  url,
30
31
  params: params,
31
- headers: headers
32
+ headers: headers,
33
+ options: options
32
34
  )
33
35
  end
34
36
 
@@ -0,0 +1,31 @@
1
+ module Pexels
2
+ class Client
3
+ module SearchFilters
4
+ ORIENTATIONS = %w(portrait landscape square).freeze
5
+ SIZES = %w(small medium large).freeze
6
+ COLORS = %w(red orange yellow green turquoise blue violet pink brown black gray white).freeze
7
+
8
+ def validate_orientation(orientation)
9
+ return true unless orientation
10
+ return true if ORIENTATIONS.include?(orientation.to_s)
11
+
12
+ raise ArgumentError, "`orientation` must be one of #{ORIENTATIONS.join(', ')}."
13
+ end
14
+
15
+ def validate_size(size)
16
+ return true unless size
17
+ return true if SIZES.include?(size.to_s)
18
+
19
+ raise ArgumentError, "`size` must be one of #{SIZES.join(', ')}."
20
+ end
21
+
22
+ def validate_color(color)
23
+ return true unless color
24
+ return true if COLORS.include?(color.to_s)
25
+ return true if color.to_s =~ /\A#?(?:[0-9a-f]{3}){1,2}\z/i
26
+
27
+ raise ArgumentError, "`color` must be one of #{COLORS.join(', ')} or a valid hex code."
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,37 +1,67 @@
1
- class Pexels::Client::Videos
1
+ module Pexels
2
+ class Client
3
+ class Videos
4
+ include SearchFilters
2
5
 
3
- def initialize(client)
4
- @client = client
5
- end
6
+ def initialize(client)
7
+ @client = client
8
+ end
6
9
 
7
- def [](id)
8
- response = @client.request("/videos/videos/#{id}")
9
- Pexels::Video.new(response.body)
10
- end
11
- alias_method :find, :[]
12
-
13
- def search(query, per_page: 15, page: 1)
14
- response = @client.request(
15
- '/videos/search',
16
- params: {
17
- query: query,
18
- per_page: per_page,
19
- page: page,
20
- }
21
- )
22
-
23
- Pexels::VideoSet.new(response)
24
- end
10
+ def [](id, timeout: { open: nil, read: nil })
11
+ response = @client.request(
12
+ "/videos/videos/#{id}",
13
+ options: {
14
+ open_timeout: timeout[:open],
15
+ read_timeout: timeout[:read]
16
+ }
17
+ )
18
+ Pexels::Video.new(response.body)
19
+ end
20
+ alias_method :find, :[]
21
+
22
+ def search(query, per_page: 15, page: 1, orientation: nil, size: nil, timeout: { open: nil, read: nil })
23
+ validate_search_params(orientation, size)
24
+
25
+ response = @client.request(
26
+ '/videos/search',
27
+ params: {
28
+ query: query,
29
+ per_page: per_page,
30
+ page: page,
31
+ orientation: orientation,
32
+ size: size
33
+ }.compact,
34
+ options: {
35
+ open_timeout: timeout[:open],
36
+ read_timeout: timeout[:read]
37
+ }
38
+ )
39
+
40
+ Pexels::VideoSet.new(response)
41
+ end
42
+
43
+ def popular(per_page: 15, page: 1, timeout: { open: nil, read: nil })
44
+ response = @client.request(
45
+ '/videos/popular',
46
+ params: {
47
+ per_page: per_page,
48
+ page: page
49
+ },
50
+ options: {
51
+ open_timeout: timeout[:open],
52
+ read_timeout: timeout[:read]
53
+ }
54
+ )
55
+
56
+ Pexels::VideoSet.new(response)
57
+ end
25
58
 
26
- def popular(per_page: 15, page: 1)
27
- response = @client.request(
28
- '/videos/popular',
29
- params: {
30
- per_page: per_page,
31
- page: page,
32
- }
33
- )
59
+ private
34
60
 
35
- Pexels::VideoSet.new(response)
61
+ def validate_search_params(orientation, size)
62
+ validate_orientation(orientation) &&
63
+ validate_size(size)
64
+ end
65
+ end
36
66
  end
37
67
  end
data/lib/pexels/client.rb CHANGED
@@ -19,8 +19,8 @@ module Pexels
19
19
  @collections ||= Pexels::Client::Collections.new(self)
20
20
  end
21
21
 
22
- def request(path, method: 'GET', params: {})
23
- request = Request.new(api_key, path, method, params)
22
+ def request(path, method: 'GET', params: {}, options: {})
23
+ request = Request.new(api_key, path, method, params, options)
24
24
  request.call.tap do |response|
25
25
  @ratelimit_remaining = response.ratelimit_remaining
26
26
  end
data/lib/pexels/photo.rb CHANGED
@@ -4,8 +4,8 @@ class Pexels::Photo
4
4
  :height,
5
5
  :url,
6
6
  :user,
7
- :src
8
-
7
+ :src,
8
+ :avg_color
9
9
 
10
10
  def initialize(attrs)
11
11
  @id = attrs.fetch('id')
@@ -18,6 +18,7 @@ class Pexels::Photo
18
18
  url: attrs.fetch('photographer_url')
19
19
  )
20
20
  @src = attrs.fetch('src')
21
+ @avg_color = attrs.fetch('avg_color')
21
22
 
22
23
  rescue KeyError => exception
23
24
  raise Pexels::MalformedAPIResponseError.new(exception)
@@ -1,3 +1,3 @@
1
1
  module Pexels
2
- VERSION = '0.2.1'
2
+ VERSION = '0.5.0'
3
3
  end
data/lib/pexels.rb CHANGED
@@ -25,6 +25,7 @@ end
25
25
  require_relative 'pexels/client'
26
26
  require_relative 'pexels/client/request'
27
27
  require_relative 'pexels/client/response'
28
+ require_relative 'pexels/client/search_filters'
28
29
  require_relative 'pexels/client/collections'
29
30
  require_relative 'pexels/client/photos'
30
31
  require_relative 'pexels/client/videos'
@@ -27,6 +27,25 @@ class TestCollections < Minitest::Test
27
27
  assert_kind_of Pexels::CollectionSet, collection_with_params.prev_page
28
28
  end
29
29
 
30
+ def test_featured
31
+ collection = @client.collections.featured
32
+
33
+ assert_kind_of Pexels::CollectionSet, collection
34
+ assert_equal collection.per_page, 15
35
+ assert_equal collection.page, 1
36
+
37
+ assert collection.collections.is_a? Array
38
+ assert collection.collections.any?
39
+ assert collection.first.is_a? Pexels::Collection
40
+
41
+ collection_with_params = @client.collections.featured(per_page: 1, page: 2)
42
+ assert_equal collection_with_params.per_page, 1
43
+ assert_equal collection_with_params.page, 2
44
+ assert_equal collection_with_params.collections.length, 1
45
+ assert_kind_of Pexels::CollectionSet, collection_with_params.next_page
46
+ assert_kind_of Pexels::CollectionSet, collection_with_params.prev_page
47
+ end
48
+
30
49
  def test_get_collection_media
31
50
  collection = @client.collections[@collection.id]
32
51
  assert_kind_of Pexels::CollectionMediaSet, collection
@@ -74,10 +93,57 @@ class TestCollections < Minitest::Test
74
93
  end
75
94
 
76
95
  def test_invalid_get_collection
77
- @client.collections['this-is-not-a-valid-id']
78
- raise 'This should not happen'
79
- rescue StandardError => exception
80
- assert exception.is_a? Pexels::APIError
81
- assert_equal exception.message, 'Not Found'
96
+ error = assert_raises(Pexels::APIError) do
97
+ @client.collections['this-is-not-a-valid-id']
98
+ end
99
+ assert error.message, 'Not Found'
100
+ end
101
+
102
+ def test_get_collection_open_timeout
103
+ error = assert_raises Pexels::APIError do
104
+ @client.collections[@collection.id, timeout: { open: 0.0000001 }]
105
+ end
106
+
107
+ assert_equal 'execution expired', error.message
108
+ end
109
+
110
+ def test_get_collection_read_timeout
111
+ error = assert_raises Pexels::APIError do
112
+ @client.collections[@collection.id, timeout: { read: 0.0000001 }]
113
+ end
114
+
115
+ assert_equal 'Net::ReadTimeout', error.message
116
+ end
117
+
118
+ def test_all_open_timeout
119
+ error = assert_raises Pexels::APIError do
120
+ @client.collections.all(timeout: { open: 0.0000001 })
121
+ end
122
+
123
+ assert_equal 'execution expired', error.message
124
+ end
125
+
126
+ def test_all_read_timeout
127
+ error = assert_raises Pexels::APIError do
128
+ @client.collections.all(timeout: { read: 0.0000001 })
129
+ end
130
+
131
+ assert_equal 'Net::ReadTimeout', error.message
132
+ end
133
+
134
+ def test_featured_open_timeout
135
+ error = assert_raises Pexels::APIError do
136
+ @client.collections.featured(timeout: { open: 0.0000001 })
137
+ end
138
+
139
+ assert_equal 'execution expired', error.message
140
+ end
141
+
142
+ def test_featured_read_timeout
143
+ error = assert_raises Pexels::APIError do
144
+ @client.collections.featured(timeout: { read: 0.0000001 })
145
+ end
146
+
147
+ assert_equal 'Net::ReadTimeout', error.message
82
148
  end
83
149
  end
data/test/photo_test.rb CHANGED
@@ -60,6 +60,7 @@ class TestPhoto < Minitest::Test
60
60
  assert_equal photo.user.url, @photo.user.url
61
61
  assert_equal photo.user.id, @photo.user.id
62
62
  assert_equal photo.src, @photo.src
63
+ assert_equal photo.avg_color, @photo.avg_color
63
64
 
64
65
  assert photo.photo?
65
66
  assert_equal photo.type, 'Photo'
@@ -67,10 +68,91 @@ class TestPhoto < Minitest::Test
67
68
  end
68
69
 
69
70
  def test_invalid_get_photo
70
- photo = @client.photos['this-is-not-a-valid-id']
71
- raise 'This should not happen'
72
- rescue StandardError => exception
73
- assert exception.is_a? Pexels::APIError
74
- assert_equal exception.message, 'Not Found'
71
+ error = assert_raises(Pexels::APIError) do
72
+ @client.photos['this-is-not-a-valid-id']
73
+ end
74
+ assert_equal 'Not Found', error.message
75
+ end
76
+
77
+ def test_invalid_orientation
78
+ error = assert_raises(ArgumentError) do
79
+ @client.photos.search('dog', orientation: 'foo')
80
+ end
81
+ assert_match '`orientation` must be one of', error.message
82
+ end
83
+
84
+ def test_invalid_size
85
+ error = assert_raises(ArgumentError) do
86
+ @client.photos.search('dog', size: 'foo')
87
+ end
88
+ assert_match '`size` must be one of', error.message
89
+ end
90
+
91
+ def test_invalid_color
92
+ error = assert_raises(ArgumentError) do
93
+ @client.photos.search('dog', color: 'foo')
94
+ end
95
+ assert_match '`color` must be one of', error.message
96
+ end
97
+
98
+ def test_invalid_color_hex
99
+ error = assert_raises(ArgumentError) do
100
+ @client.photos.search('dog', color: '#gggggg')
101
+ end
102
+ assert_match '`color` must be one of', error.message
103
+ end
104
+
105
+ def test_search_filters
106
+ search_result = @client.photos.search('dog', color: '#FF0000', size: :large, orientation: :square)
107
+ assert_kind_of Pexels::PhotoSet, search_result
108
+ assert search_result.photos.any?
109
+ end
110
+
111
+ def test_get_photo_open_timeout
112
+ error = assert_raises Pexels::APIError do
113
+ @client.photos[@photo.id, timeout: { open: 0.0000001 }]
114
+ end
115
+
116
+ assert_equal 'execution expired', error.message
117
+ end
118
+
119
+ def test_get_photo_read_timeout
120
+ error = assert_raises Pexels::APIError do
121
+ @client.photos[@photo.id, timeout: { read: 0.0000001 }]
122
+ end
123
+
124
+ assert_equal 'Net::ReadTimeout', error.message
125
+ end
126
+
127
+ def test_search_open_timeout
128
+ error = assert_raises Pexels::APIError do
129
+ @client.photos.search('test', timeout: { open: 0.0000001 })
130
+ end
131
+
132
+ assert_equal 'execution expired', error.message
133
+ end
134
+
135
+ def test_search_read_timeout
136
+ error = assert_raises Pexels::APIError do
137
+ @client.photos.search('test', timeout: { read: 0.0000001 })
138
+ end
139
+
140
+ assert_equal 'Net::ReadTimeout', error.message
141
+ end
142
+
143
+ def test_curated_open_timeout
144
+ error = assert_raises Pexels::APIError do
145
+ @client.photos.curated(timeout: { open: 0.0000001 })
146
+ end
147
+
148
+ assert_equal 'execution expired', error.message
149
+ end
150
+
151
+ def test_curated_read_timeout
152
+ error = assert_raises Pexels::APIError do
153
+ @client.photos.curated(timeout: { read: 0.0000001 })
154
+ end
155
+
156
+ assert_equal 'Net::ReadTimeout', error.message
75
157
  end
76
158
  end
data/test/video_test.rb CHANGED
@@ -74,10 +74,77 @@ class TestVideo < Minitest::Test
74
74
  end
75
75
 
76
76
  def test_invalid_get_video
77
- video = @client.videos['this-is-not-a-valid-id']
78
- raise 'This should not happen'
79
- rescue StandardError => exception
80
- assert exception.is_a? Pexels::APIError
81
- assert_equal exception.message, 'Not Found'
77
+ error = assert_raises(Pexels::APIError) do
78
+ @client.videos['this-is-not-a-valid-id']
79
+ end
80
+ assert_equal 'Not Found', error.message
81
+ end
82
+
83
+ def test_invalid_orientation
84
+ error = assert_raises(ArgumentError) do
85
+ @client.photos.search('dog', orientation: 'foo')
86
+ end
87
+ assert_match '`orientation` must be one of', error.message
88
+ end
89
+
90
+ def test_invalid_size
91
+ error = assert_raises(ArgumentError) do
92
+ @client.photos.search('dog', size: 'foo')
93
+ end
94
+ assert_match '`size` must be one of', error.message
95
+ end
96
+
97
+ def test_search_filters
98
+ search_result = @client.videos.search('cat', size: :medium, orientation: :square)
99
+ assert_kind_of Pexels::VideoSet, search_result
100
+ assert search_result.videos.any?
101
+ end
102
+
103
+ def test_get_video_open_timeout
104
+ error = assert_raises Pexels::APIError do
105
+ @client.videos[@video.id, timeout: { open: 0.0000001 }]
106
+ end
107
+
108
+ assert_equal 'execution expired', error.message
109
+ end
110
+
111
+ def test_get_video_read_timeout
112
+ error = assert_raises Pexels::APIError do
113
+ @client.videos[@video.id, timeout: { read: 0.0000001 }]
114
+ end
115
+
116
+ assert_equal 'Net::ReadTimeout', error.message
117
+ end
118
+
119
+ def test_search_open_timeout
120
+ error = assert_raises Pexels::APIError do
121
+ @client.videos.search('cat', timeout: { open: 0.0000001 })
122
+ end
123
+
124
+ assert_equal 'execution expired', error.message
125
+ end
126
+
127
+ def test_search_read_timeout
128
+ error = assert_raises Pexels::APIError do
129
+ @client.videos.search('cat', timeout: { read: 0.0000001 })
130
+ end
131
+
132
+ assert_equal 'Net::ReadTimeout', error.message
133
+ end
134
+
135
+ def test_featured_open_timeout
136
+ error = assert_raises Pexels::APIError do
137
+ @client.videos.popular(timeout: { open: 0.0000001 })
138
+ end
139
+
140
+ assert_equal 'execution expired', error.message
141
+ end
142
+
143
+ def test_featured_read_timeout
144
+ error = assert_raises Pexels::APIError do
145
+ @client.videos.popular(timeout: { read: 0.0000001 })
146
+ end
147
+
148
+ assert_equal 'Net::ReadTimeout', error.message
82
149
  end
83
150
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pexels
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pexels dev team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-15 00:00:00.000000000 Z
11
+ date: 2022-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: requests
@@ -44,6 +44,7 @@ files:
44
44
  - lib/pexels/client/photos.rb
45
45
  - lib/pexels/client/request.rb
46
46
  - lib/pexels/client/response.rb
47
+ - lib/pexels/client/search_filters.rb
47
48
  - lib/pexels/client/videos.rb
48
49
  - lib/pexels/collection.rb
49
50
  - lib/pexels/collection_media_set.rb
@@ -82,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
83
  - !ruby/object:Gem::Version
83
84
  version: '0'
84
85
  requirements: []
85
- rubygems_version: 3.0.3
86
+ rubygems_version: 3.0.3.1
86
87
  signing_key:
87
88
  specification_version: 4
88
89
  summary: A simple Ruby wrapper for the Pexels API