torckapi 0.0.14 → 0.0.15

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: 146de8f36529a36d19b6c31bf0cc3db2e4df945b
4
- data.tar.gz: 632d8cbb3b34f871a593caf454044cc45d913417
3
+ metadata.gz: dba9414160066c19b9561d9b2e9b2740164b4ccd
4
+ data.tar.gz: 5b9a310aa5397565fa4fcf88024f218d7b83aebc
5
5
  SHA512:
6
- metadata.gz: df12478369270ec572cc28e5faa599aa2f1adcfce84d89830d562dfced6d391af7529e62db2f953521d6e612f188a9f3c8ff3dd53d24440dd7c6a5540c217107
7
- data.tar.gz: f507f6057952a51ed1e6858e51d9fe32ff0ba8ad7238f8e9febe42be5be12e0e92f80bda239e2d35e98767a7c95cf8468fab4dff6f21dc518489554b930a99f1
6
+ metadata.gz: 8dc4126661eca699ff3f6d1a8aa54eb6bade43abd7d1513a2811ee5d3bd11f5655fb736246e67b3791d90a513bdd282686bef951cf505a97243a6ad3c207224a
7
+ data.tar.gz: 92905271cfba39a8e38927f7eceb9ae7c42d48018c044e61ea6fde597dbf0360b8bcce1f7357aa5cecac6c1522c1be4cdae9011b185469a1cd70fad8544ab5dd
@@ -1,7 +1,6 @@
1
1
  module Torckapi
2
2
  class Error < StandardError; end
3
3
  class InvalidInfohashError < Error; end
4
- class ArgumentError < Error; end
5
4
 
6
5
  module Tracker
7
6
  class Error < Torckapi::Error; end
@@ -29,7 +29,8 @@ module Torckapi
29
29
  # @return [Torckapi::Response::Announce] response
30
30
  def self.from_http info_hash, data, compact=true
31
31
  bdecoded_data = BEncode.load(data)
32
- new info_hash, *bdecoded_data.values_at("incomplete", "complete"), peers_from_compact(bdecoded_data["peers"])
32
+ raise Torckapi::MalformedResponseError unless bdecoded_data.is_a? Hash and bdecoded_data.has_key? 'peers'
33
+ new info_hash, *bdecoded_data.values_at("incomplete", "complete"), peers_from_compact(bdecoded_data['peers'])
33
34
  end
34
35
 
35
36
  private
@@ -13,13 +13,13 @@ module Torckapi
13
13
  # @param data [String] UDP response data (omit action and transaction_id)
14
14
  # @return [Torckapi::Response::Scrape] response
15
15
  def self.from_udp info_hashes, data
16
- raise Torckapi::ArgumentError, "data does not match info_hashes" if data.length != info_hashes.count * 12
16
+ raise Torckapi::MalformedResponseError if data.length != info_hashes.count * 12
17
17
  new Hash[info_hashes.zip(data.unpack('a12' * info_hashes.count).map { |i| counts_unpacked(i) })]
18
18
  end
19
19
 
20
20
  def self.from_http data
21
21
  bdecoded_data = BEncode.load(data)
22
- raise Torckapi::ArgumentError, "invalid data" unless bdecoded_data.is_a? Hash and bdecoded_data.has_key? 'files'
22
+ raise Torckapi::MalformedResponseError unless bdecoded_data.is_a? Hash and bdecoded_data.has_key? 'files'
23
23
  new Hash[bdecoded_data["files"].map { |info_hash, counts| [info_hash.unpack('H*').join, counts_translated(counts) ]}]
24
24
  end
25
25
 
@@ -1,3 +1,3 @@
1
1
  module Torckapi
2
- VERSION = "0.0.14"
2
+ VERSION = "0.0.15"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: torckapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Krupenik