lotto 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +54 -0
- data/.coveralls.yml +1 -0
- data/Gemfile.lock +19 -1
- data/README.md +8 -1
- data/lib/lotto/draw.rb +25 -0
- data/lib/lotto/version.rb +1 -1
- data/lib/lotto.rb +1 -0
- data/lotto.gemspec +1 -0
- metadata +18 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d796e6c0590d5377579f4d128564ca3429fd3bb339373529567977f78a9f1ed
|
4
|
+
data.tar.gz: fde17fa4dd669399e217a439c316d5b028e99a859391fbbb706ec8f2f644052e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 426e38ab95d59e31057342d77f45bcc43d563537aa659ccb663db77e780014965f623238a359949d582277ff270816a1bacb82abb54c2457a49b618df76e6c19
|
7
|
+
data.tar.gz: 40ad39b58ab74f7a078358c3e50ba336d65dfa96586109df404948845bee46e468f7b88be90024442aa9435c2814f307cafd62fac292539fb88f27f3f913c8fd
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
2
|
+
#
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
+
#
|
5
|
+
version: 2
|
6
|
+
jobs:
|
7
|
+
build:
|
8
|
+
docker:
|
9
|
+
# specify the version you desire here
|
10
|
+
- image: circleci/ruby:2.5.1-node-browsers
|
11
|
+
|
12
|
+
# Specify service dependencies here if necessary
|
13
|
+
# CircleCI maintains a library of pre-built images
|
14
|
+
# documented at https://circleci.com/docs/2.0/circleci-images/
|
15
|
+
# - image: circleci/postgres:9.4
|
16
|
+
|
17
|
+
working_directory: ~/repo
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- checkout
|
21
|
+
|
22
|
+
# Download and cache dependencies
|
23
|
+
- restore_cache:
|
24
|
+
keys:
|
25
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
26
|
+
# fallback to using the latest cache if no exact match is found
|
27
|
+
- v1-dependencies-
|
28
|
+
|
29
|
+
- run:
|
30
|
+
name: install dependencies
|
31
|
+
command: |
|
32
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
33
|
+
|
34
|
+
- save_cache:
|
35
|
+
paths:
|
36
|
+
- ./vendor/bundle
|
37
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
38
|
+
|
39
|
+
# run tests!
|
40
|
+
- run:
|
41
|
+
name: run tests
|
42
|
+
command: |
|
43
|
+
mkdir /tmp/test-results
|
44
|
+
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
45
|
+
|
46
|
+
bundle exec rspec --format progress \
|
47
|
+
$TEST_FILES
|
48
|
+
|
49
|
+
# collect reports
|
50
|
+
- store_test_results:
|
51
|
+
path: /tmp/test-results
|
52
|
+
- store_artifacts:
|
53
|
+
path: /tmp/test-results
|
54
|
+
destination: test-results
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
repo_token: $COVERALLS_TOKEN
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lotto (0.
|
4
|
+
lotto (0.2.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
+
coveralls (0.8.21)
|
10
|
+
json (>= 1.8, < 3)
|
11
|
+
simplecov (~> 0.14.1)
|
12
|
+
term-ansicolor (~> 1.3)
|
13
|
+
thor (~> 0.19.4)
|
14
|
+
tins (~> 1.6)
|
9
15
|
diff-lcs (1.3)
|
16
|
+
docile (1.1.5)
|
17
|
+
json (2.1.0)
|
10
18
|
rake (10.5.0)
|
11
19
|
rspec (3.7.0)
|
12
20
|
rspec-core (~> 3.7.0)
|
@@ -21,12 +29,22 @@ GEM
|
|
21
29
|
diff-lcs (>= 1.2.0, < 2.0)
|
22
30
|
rspec-support (~> 3.7.0)
|
23
31
|
rspec-support (3.7.1)
|
32
|
+
simplecov (0.14.1)
|
33
|
+
docile (~> 1.1.0)
|
34
|
+
json (>= 1.8, < 3)
|
35
|
+
simplecov-html (~> 0.10.0)
|
36
|
+
simplecov-html (0.10.2)
|
37
|
+
term-ansicolor (1.6.0)
|
38
|
+
tins (~> 1.0)
|
39
|
+
thor (0.19.4)
|
40
|
+
tins (1.16.3)
|
24
41
|
|
25
42
|
PLATFORMS
|
26
43
|
ruby
|
27
44
|
|
28
45
|
DEPENDENCIES
|
29
46
|
bundler (~> 1.16)
|
47
|
+
coveralls
|
30
48
|
lotto!
|
31
49
|
rake (~> 10.0)
|
32
50
|
rspec (~> 3.0)
|
data/README.md
CHANGED
@@ -22,7 +22,14 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
```ruby
|
26
|
+
lotto = Lotto::Draw.new
|
27
|
+
lotto.play({ pick: 6, of: 49 }) # will return an array
|
28
|
+
lotto.play({ pick: 6, of: 49 }).sort.join(' - ')
|
29
|
+
|
30
|
+
# Multiple draws
|
31
|
+
lotto.play({ pick: 6, of: 49, for: 5 })
|
32
|
+
````
|
26
33
|
|
27
34
|
## Development
|
28
35
|
|
data/lib/lotto/draw.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Lotto
|
2
|
+
class Draw
|
3
|
+
def play(options)
|
4
|
+
@options = options
|
5
|
+
@options[:for].nil? ? draw : draw_multiple
|
6
|
+
end
|
7
|
+
|
8
|
+
def pick(drawns=[])
|
9
|
+
return rand(1..@options[:of]) if drawns.length == 0
|
10
|
+
(1..@options[:of]).reject{ |n| drawns.include? n }.sample
|
11
|
+
end
|
12
|
+
|
13
|
+
def draw
|
14
|
+
drawns = []
|
15
|
+
@options[:pick].times{ drawns << pick(drawns) }
|
16
|
+
drawns
|
17
|
+
end
|
18
|
+
|
19
|
+
def draw_multiple
|
20
|
+
coupons = []
|
21
|
+
@options[:for].times{ coupons << draw }
|
22
|
+
coupons
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/lotto/version.rb
CHANGED
data/lib/lotto.rb
CHANGED
data/lotto.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lotto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onur Kucukkece
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coveralls
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description:
|
56
70
|
email:
|
57
71
|
- onurkucukkece@gmail.com
|
@@ -59,6 +73,8 @@ executables: []
|
|
59
73
|
extensions: []
|
60
74
|
extra_rdoc_files: []
|
61
75
|
files:
|
76
|
+
- ".circleci/config.yml"
|
77
|
+
- ".coveralls.yml"
|
62
78
|
- ".gitignore"
|
63
79
|
- ".rspec"
|
64
80
|
- ".travis.yml"
|
@@ -71,6 +87,7 @@ files:
|
|
71
87
|
- bin/console
|
72
88
|
- bin/setup
|
73
89
|
- lib/lotto.rb
|
90
|
+
- lib/lotto/draw.rb
|
74
91
|
- lib/lotto/version.rb
|
75
92
|
- lotto.gemspec
|
76
93
|
homepage: https://github.com/onurkucukkece/lotto
|