phone_sites 0.0.5 → 0.1.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: 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