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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87cf6a543500185e6d40cf14dca165293ab0a10a
|
|
4
|
+
data.tar.gz: 20ed9d531372a7d75c311091b441f3bd77c4d021
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5ee6fccefdb7e4d2ad4bfe3bb51f971614321323876100ca50d81af235935fd9d5bde4131856e2c06d61f5dd9d1cf23766ebebf31d0a5fcf33f33315d80d04ab
|
|
7
|
+
data.tar.gz: 36aafa91b88db009501db467309e9fd148660bd83244d5f7109f18c7ade44990ab6ba3741c98dbaf8add1be3387bbdad76c4527095906cb7a5c8fd6d86e9fc77
|
data/.travis.yml
CHANGED
|
@@ -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 = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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
|
-
|
|
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
|
|
@@ -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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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:
|
|
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.
|
|
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
|