image_searcher 0.1.3 → 0.1.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: bc294a4d85ccfa2fa6b2e8350b22e4f63563a41e
4
- data.tar.gz: 7d7aed9c8d22231db92ec1ef03496b64f71cea21
3
+ metadata.gz: 093042c5007de3e38b446c9411769f78d17e3674
4
+ data.tar.gz: e8a24e871ec2a4a54ab6ab305cfb312f3f95d781
5
5
  SHA512:
6
- metadata.gz: ddfdee7ef492714ba94a17f9250a5081dd8fa2fe9d7455ab11b02f371f26a884f3ffc6b010add9b321835909da0cccf8036991a6362e343b920e1072e2fc3fb5
7
- data.tar.gz: 9a690f4defc62814870587d47e309832633a9b62403f61ab330c4162faff7eb4db1df9ce6219736e9fb38f2c6b09e1f687b4620d1d9e0ad084c18d78e9021829
6
+ metadata.gz: c4da65fa188fac36cc448e187d47f19ea64c57766b24042850ae64b9a51b7e5db0378bf301d3de2c806da0d636c87ab51545c951ddeea8c67f3a25f7ea5eb4f2
7
+ data.tar.gz: 9565e7c7fc49bba02f81a7be70f1522d4aec3bfcf00ae5775055486095cc1ba0c1f4e233081f0b22abe6719bd62ebae50191f80cf2632a9d4e151c44e38e525e
data/.DS_Store ADDED
Binary file
data/README.md CHANGED
@@ -7,7 +7,7 @@ A ruby wrapper for the [Ababeen](http://api.ababeen.com) Image Search API v1.0 -
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```ruby
10
- gem 'image_searcher', '~> 0.1.3'
10
+ gem 'image_searcher', '~> 0.1.4'
11
11
  ```
12
12
 
13
13
  And then execute:
@@ -24,16 +24,23 @@ Or install it yourself as:
24
24
  images = ImageSearcher.search(query: "New York")
25
25
  ```
26
26
 
27
- And you've got an array of objects. By default the result has `10` nested arrays(objects).
27
+ And you've got an array of objects. By default the result has `100` nested arrays.
28
28
 
29
29
  **Available options**:
30
30
  ```
31
31
  query(String)
32
32
  count(Integer) - maximum 100(10 by default)
33
+ format(String) - if you need a certain format of images(jpg, png, etc.)
34
+ formats(Array) - array of allow formats
33
35
  ```
34
- For example: `ImageSearcher.search(query: "New York", count: 66)`
36
+ Examples:
35
37
 
36
- Also you can see a nice preview of a result http://api.ababeen.com/api/images.php?q=tiger&preview=true&count=100
38
+ `ImageSearcher.search(query: 'New York', count: 66)`
39
+ `ImageSearcher.search(query: 'New York', format: 'jpg')`
40
+ `ImageSearcher.search(query: 'New York', formats: ['jpg', 'png'])`
41
+
42
+ Also you can see a nice preview of a result:
43
+ http://api.ababeen.com/api/images.php?q=New%York&preview=true&count=100
37
44
 
38
45
  ## Contributing
39
46
 
@@ -5,7 +5,7 @@ require 'image_searcher/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "image_searcher"
8
- spec.version = ImageSearcher::VERSION
8
+ spec.version = '0.1.4'
9
9
  spec.authors = ["Vitaliy"]
10
10
  spec.email = ["vitaliy.fry@gmail.com"]
11
11
 
@@ -3,6 +3,4 @@ require 'httparty'
3
3
  require 'image_searcher/api'
4
4
  require 'image_searcher/search'
5
5
 
6
- module ImageSearcher
7
- # Your code goes here...
8
- end
6
+ module ImageSearcher; end
@@ -0,0 +1,14 @@
1
+ module ImageSearcher::Filter
2
+
3
+ def filter_by_format(result, format)
4
+ result.keep_if { |h| h["url"].match(/.#{format}/i) }
5
+ end
6
+
7
+ def filter_by_formats(result, formats)
8
+ formats.each do |f|
9
+ result = result.keep_if { |h| h['url'].match(/.#{f}/i) }
10
+ end
11
+
12
+ result
13
+ end
14
+ end
@@ -1,11 +1,35 @@
1
1
  module ImageSearcher
2
+
3
+ require_relative 'filter'
4
+ extend Filter
5
+
2
6
  def self.search(options = {})
3
- raise "Missing query" unless options[:query]
7
+ raise_errors(options)
8
+ url = build_json_url(options)
9
+ result = ImageSearcher::API.get_json(url)
10
+ perform_filter_params(result, options)
11
+ result
12
+ end
4
13
 
14
+ def self.raise_errors(options)
15
+ raise "Missing params" if options[:query].nil?
16
+ raise "Missing query" if options[:query].empty?
17
+ end
18
+
19
+ def self.build_json_url(options)
5
20
  base_uri = ImageSearcher::API::BASE_URI
6
21
  url = "#{base_uri}?q=#{options[:query]}"
7
22
  url += "&count=#{options[:count]}" if options[:count]
23
+ url
24
+ end
25
+
26
+ def self.perform_filter_params(result, options)
27
+ if options[:format]
28
+ result = filter_by_format(result, options[:format])
29
+ end
8
30
 
9
- ImageSearcher::API.get_json(url)
31
+ if options[:formats]
32
+ result = filter_by_formats(result, options[:formats])
33
+ end
10
34
  end
11
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_searcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitaliy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-09 00:00:00.000000000 Z
11
+ date: 2016-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -73,6 +73,7 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".DS_Store"
76
77
  - ".gitignore"
77
78
  - CODE_OF_CONDUCT.md
78
79
  - Gemfile
@@ -84,6 +85,7 @@ files:
84
85
  - image_searcher.gemspec
85
86
  - lib/image_searcher.rb
86
87
  - lib/image_searcher/api.rb
88
+ - lib/image_searcher/filter.rb
87
89
  - lib/image_searcher/search.rb
88
90
  - lib/image_searcher/version.rb
89
91
  homepage: https://github.com/Frylock13/image_searcher
@@ -106,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
108
  version: '0'
107
109
  requirements: []
108
110
  rubyforge_project:
109
- rubygems_version: 2.6.6
111
+ rubygems_version: 2.5.1
110
112
  signing_key:
111
113
  specification_version: 4
112
114
  summary: A ruby wrapper for the Ababeen images search API