random_org_http_api 0.0.3 → 0.0.3.1

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: 467e2abb74244f0f471b85fd48166f1e0c0261fd
4
- data.tar.gz: f26795a3c1ff117a12e6a228fd6c529c65d457c2
3
+ metadata.gz: 87cf6a543500185e6d40cf14dca165293ab0a10a
4
+ data.tar.gz: 20ed9d531372a7d75c311091b441f3bd77c4d021
5
5
  SHA512:
6
- metadata.gz: 47d7b7ffbbde6c941fb3e74dd926184b81ca39dd3cec6af4d8b88987b04499b110aedae61aebd75753c0fcfa5d987b7655958670d9b8483be2da64be9c2f827b
7
- data.tar.gz: 464d646843b502f4a20c08d6193953f04888c1b905d1939134f94f79059a358a77b6e333c207c07ff6672400fd6af234586f1b346b7d54042b51db682a885b7b
6
+ metadata.gz: 5ee6fccefdb7e4d2ad4bfe3bb51f971614321323876100ca50d81af235935fd9d5bde4131856e2c06d61f5dd9d1cf23766ebebf31d0a5fcf33f33315d80d04ab
7
+ data.tar.gz: 36aafa91b88db009501db467309e9fd148660bd83244d5f7109f18c7ade44990ab6ba3741c98dbaf8add1be3387bbdad76c4527095906cb7a5c8fd6d86e9fc77
data/.travis.yml CHANGED
@@ -1,8 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.1
3
+ - 2.2.4
6
4
  branches:
7
5
  only:
8
6
  - master
@@ -1,6 +1,6 @@
1
1
  module RandomOrgHttpApi
2
2
  module Configuration
3
- DOMAIN = 'www.random.org'
3
+ DOMAIN = 'https://www.random.org'
4
4
  DEFAULT_QUERY_PARAMS = {
5
5
  format: 'plain',
6
6
  base: '10',
@@ -16,15 +16,15 @@ module RandomOrgHttpApi
16
16
  # Query templates
17
17
  # Integer
18
18
  INTEGER_QUERY_KEYS = [:num, :min, :max, :col, :base, :format, :rnd]
19
- INTEGER_QUERY_TEMPLATE = "/integers/?num=%{num}&min=%{min}&max=%{max}&col=%{col}&base=%{base}&format=%{format}&rnd=%{rnd}"
19
+ INTEGER_QUERY_TEMPLATE = "integers/?num=%{num}&min=%{min}&max=%{max}&col=%{col}&base=%{base}&format=%{format}&rnd=%{rnd}"
20
20
 
21
21
  # String
22
22
  STRING_QUERY_KEYS = [:num, :len, :digits, :upperalpha, :loweralpha, :unique, :format, :rnd]
23
- STRING_QUERY_TEMPLATE = "/strings/?num=%{num}&len=%{len}&digits=%{digits}&upperalpha=%{upperalpha}&loweralpha=%{loweralpha}&unique=%{unique}&format=%{format}&rnd=%{rnd}"
23
+ STRING_QUERY_TEMPLATE = "strings/?num=%{num}&len=%{len}&digits=%{digits}&upperalpha=%{upperalpha}&loweralpha=%{loweralpha}&unique=%{unique}&format=%{format}&rnd=%{rnd}"
24
24
 
25
25
  # Sequence
26
26
  SEQUENCE_QUERY_KEYS = [:min, :max, :col, :format, :rnd]
27
- SEQUENCE_QUERY_TEMPLATE = "/sequences/?min=%{min}&max=%{max}&col=%{col}&format=%{format}&rnd=%{rnd}"
27
+ SEQUENCE_QUERY_TEMPLATE = "sequences/?min=%{min}&max=%{max}&col=%{col}&format=%{format}&rnd=%{rnd}"
28
28
 
29
29
  end
30
30
  end
@@ -20,7 +20,7 @@ module RandomOrgHttpApi
20
20
 
21
21
  # Quota Checker
22
22
  def quota
23
- quota_query = "/quota/?ip=#{ip}&format=plain"
23
+ quota_query = "quota/?ip=#{ip}&format=plain"
24
24
  request(DOMAIN, quota_query).first.to_i
25
25
  end
26
26
 
@@ -29,7 +29,10 @@ module RandomOrgHttpApi
29
29
  # Метод запроса на сайт random.org
30
30
  def request(domain, query)
31
31
  # Создаем запрос
32
- res = Net::HTTP.get_response(domain, query)
32
+ uri = URI.join(domain, query)
33
+ http = Net::HTTP.new(uri.host, uri.port)
34
+ http.use_ssl = true
35
+ res = http.get(uri.request_uri)
33
36
  # Если все хорошо, то возвращаем форматированный ответ,
34
37
  # если нет, то показываем ответ ошибки сервера.
35
38
  res.is_a?(Net::HTTPSuccess) ? res.body.split : res.body.strip
@@ -1,3 +1,3 @@
1
1
  module RandomOrgHttpApi
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.3.1"
3
3
  end
@@ -25,36 +25,36 @@ describe RandomOrgHttpApi::Generator do
25
25
  it 'should do generate right query for integer' do
26
26
  object_type = 'integer'
27
27
  params = {num: 4, max: 100}
28
- right_query = '/integers/?num=4&min=1&max=100&col=1&base=10&format=plain&rnd=new'
28
+ right_query = 'integers/?num=4&min=1&max=100&col=1&base=10&format=plain&rnd=new'
29
29
  expect(@generator.send(:query, object_type, params)).to eq(right_query)
30
30
  end
31
31
 
32
32
  it 'should do generate right query for string' do
33
33
  object_type = 'string'
34
34
  params = {min: 1, max: 10, num: 3, len: 5}
35
- right_query = '/strings/?num=3&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
35
+ right_query = 'strings/?num=3&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
36
36
  expect(@generator.send(:query, object_type, params)).to eq(right_query)
37
37
  end
38
38
 
39
39
  it 'should do generate right query for sequence' do
40
40
  object_type = 'sequence'
41
41
  params = {num: 5, len: 10, max: 10}
42
- right_query = '/sequences/?min=1&max=10&col=1&format=plain&rnd=new'
42
+ right_query = 'sequences/?min=1&max=10&col=1&format=plain&rnd=new'
43
43
  expect(@generator.send(:query, object_type, params)).to eq(right_query)
44
44
  end
45
45
  end
46
46
 
47
47
  describe '#request' do
48
- domain = 'www.random.org'
48
+ domain = 'https://www.random.org'
49
49
 
50
50
  it 'should do return string with error message if request have bad response' do
51
- bad_query = '/strings/?num=HelloWorld&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
51
+ bad_query = 'strings/?num=HelloWorld&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
52
52
  expect(@generator.send(:request, domain, bad_query).class).to eq(String)
53
53
  end
54
54
 
55
55
  it 'should do return array if request have good response' do
56
56
  if @generator.quota > 0
57
- good_query = '/strings/?num=3&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
57
+ good_query = 'strings/?num=3&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new'
58
58
  expect(@generator.send(:request, domain, good_query).class).to eq(Array)
59
59
  end
60
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random_org_http_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Temur Fatkulin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-25 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  requirements: []
96
96
  rubyforge_project:
97
- rubygems_version: 2.2.2
97
+ rubygems_version: 2.4.5.1
98
98
  signing_key:
99
99
  specification_version: 4
100
100
  summary: Realization of old HTTP API provided by the random.org service