phone_sites 0.0.5 → 0.1.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: 9898ab3982cee69ab8bf486ba88777fc2a3f6142
4
- data.tar.gz: dcab81f21305f31d52a3d4d229765ca28efa46f0
3
+ metadata.gz: ba8dfd339658d482be5e287e40dc9f78e7fdcdbe
4
+ data.tar.gz: de8586482c20f169fa84433f92ef9d883db58f2e
5
5
  SHA512:
6
- metadata.gz: 19f4d390b1cd6bb3c6dfd26a19b81e7ea92955dce39c93a5700a69a45b36084d1464786e49c9fa9759333061036f405a099fef7e5e4bee90f803bff521e20303
7
- data.tar.gz: 53d12e26b318eb833ca1a8d481c25e45b7f8b1f8fb1e5b6c94c1a4cbf78c4a1ae6593e5587c09991b2ea7dc095e3ef48d90c7daa076f7da7d7c3c2663cf51257
6
+ metadata.gz: 6f0421711fc6a578e72f8646308cc6d6d274bb58a5fe87e42c433673b2cb3ab749298a028eff3711207cc27058a5ed8b543d6547269341669177fe7830202373
7
+ data.tar.gz: 123b7e1d557b9201b2a62cabc8625e2d2e17e5ce6f1502d05ce1fc941e272ae3e330f20d8b70e1ba5866d4cbd2c05872d26bd8d78d702a40637736caf9d9aa30
@@ -8,6 +8,8 @@ require_relative '../phone_sites/gsm_arena/manufacturer'
8
8
  require_relative '../phone_sites/gsm_arena/phone_model'
9
9
  require_relative '../phone_sites/gsm_arena/model_list_response'
10
10
  require_relative '../phone_sites/gsm_arena/model_info_response'
11
+ require_relative '../phone_sites/gsm_arena/search_response'
12
+
11
13
  module PhoneSites
12
14
  module GsmArena
13
15
  BASE_URL = 'http://www.gsmarena.com/'
@@ -9,6 +9,10 @@ module PhoneSites
9
9
  def self.get_models(manufacturer)
10
10
  manufacturer.models
11
11
  end
12
+
13
+ def self.search(name)
14
+ SearchResponse.new.perform(name)
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -20,7 +20,7 @@ module PhoneSites
20
20
 
21
21
  def models
22
22
  pages_count.times.inject([]) do |sum, i|
23
- sum.concat(self.class.models_response.perform(self, build_url(i)))
23
+ sum.concat(self.class.models_response.perform(build_url(i)))
24
24
  end
25
25
  end
26
26
 
@@ -2,10 +2,10 @@
2
2
  module PhoneSites
3
3
  module GsmArena
4
4
  class ModelListResponse < ::PhoneSites::BaseResponse
5
- def perform(manufacturer, url, method = 'get', options = {})
5
+ def perform(url, method = 'get', options = {})
6
6
  response = super(url, method, options)
7
7
  Nokogiri::HTML(response.body).css('.makers li a').map do |elem|
8
- PhoneSites::GsmArena::PhoneModel.new(elem, manufacturer)
8
+ PhoneSites::GsmArena::PhoneModel.new(elem)
9
9
  end
10
10
  end
11
11
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ module PhoneSites
3
+ module GsmArena
4
+ class SearchResponse < ::PhoneSites::BaseResponse
5
+ def perform(name, method = 'get', options = {})
6
+
7
+ url = "http://www.gsmarena.com/results.php3?sQuickSearch=yes&sName="+ URI::encode(name)
8
+ response = super(url, method, options)
9
+ Nokogiri::HTML(response.body).css('.makers li a').map do |elem|
10
+ PhoneSites::GsmArena::PhoneModel.new(elem)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+
@@ -3,10 +3,8 @@ module PhoneSites
3
3
  class PhoneModel < Base
4
4
 
5
5
  parseable_attributes :name, :url, :picture_url, :description
6
- attr_accessor :manufacturer
7
6
 
8
- def initialize(data, manufacturer)
9
- self.manufacturer = manufacturer
7
+ def initialize(data)
10
8
  super(data)
11
9
  end
12
10
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module PhoneSites
3
- VERSION = "0.0.5"
3
+ VERSION = "0.1.0"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phone_sites
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Pavlov
@@ -153,6 +153,7 @@ files:
153
153
  - lib/phone_sites/gsm_arena/model_info_response.rb
154
154
  - lib/phone_sites/gsm_arena/model_list_response.rb
155
155
  - lib/phone_sites/gsm_arena/phone_model.rb
156
+ - lib/phone_sites/gsm_arena/search_response.rb
156
157
  - lib/phone_sites/manufacturer.rb
157
158
  - lib/phone_sites/phone_model.rb
158
159
  - lib/phone_sites/version.rb