uniform_invoice_lottery 0.0.2 → 0.0.3
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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/README.md +4 -27
- data/lib/uniform_invoice_lottery.rb +16 -0
- data/lib/uniform_invoice_lottery/prizes.rb +5 -1
- data/lib/uniform_invoice_lottery/version.rb +1 -1
- data/spec/support_spec.rb +21 -0
- data/spec/uniform_invoice_lottery_spec.rb +42 -1
- metadata +5 -4
- data/spec/data_crawler_spec.rb +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e89798e7823c640221b8a2ac0b49d226164aad6a
|
4
|
+
data.tar.gz: f9c02a59ffe7973b2f74a77a00ce654e65d1de17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fdf534694afaef64454d4c19de3cb8024dea810f6b43cd4c08e2dcf9a8b071ce5591ee42e7726e7e12e2772783f98452852a3f0c57e3e5485fb12b52cda6763
|
7
|
+
data.tar.gz: 7b9018af7d2333a2d8ac038d27f7bb1d221abf6310df29c37f1572679732fc039309d8ab10cefa87cd4d0c2806543732bfefd881ee7e3675096aea6004526500
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -20,38 +20,15 @@ Or install it yourself as:
|
|
20
20
|
$ gem install uniform_invoice_lottery
|
21
21
|
|
22
22
|
## Usage
|
23
|
-
|
24
|
-
回傳號碼結果字串,例如:
|
25
23
|
```ruby
|
26
24
|
require 'uniform_invoice_lottery'
|
27
|
-
UniformInvoiceLottery.check '82930261', time: Time.new(2015, 7, 26)
|
28
|
-
|
29
|
-
|
30
|
-
嫌太長就這樣寫
|
25
|
+
prize = UniformInvoiceLottery.check '82930261', time: Time.new(2015, 7, 26)
|
26
|
+
prize = UniformInvoiceLottery.check '82930261', year: 2015, month: 7 day: 26
|
31
27
|
|
32
|
-
|
33
|
-
|
34
|
-
uni_invoice.check '82930261', time: Time.new(2015, 7, 26)
|
28
|
+
puts prize.amount # => "10000000"
|
29
|
+
puts prize.title # => "特別獎"
|
35
30
|
```
|
36
31
|
|
37
|
-
上面這段回傳 `"特別獎"`。
|
38
|
-
|
39
|
-
|
40
|
-
總共有這幾個回傳值:
|
41
|
-
|
42
|
-
特別獎
|
43
|
-
特獎
|
44
|
-
頭獎
|
45
|
-
二獎
|
46
|
-
三獎
|
47
|
-
四獎
|
48
|
-
五獎
|
49
|
-
六獎
|
50
|
-
增開六獎
|
51
|
-
下次再來,兩個月後又是一條好漢
|
52
|
-
|
53
|
-
XD。
|
54
|
-
|
55
32
|
## Contributing
|
56
33
|
|
57
34
|
1. Fork it ( https://github.com/Yukaii/uniform_invoice_lottery/fork )
|
@@ -14,5 +14,21 @@ module UniformInvoiceLottery
|
|
14
14
|
def check invoice_code, opts={}
|
15
15
|
LotteryCheckService.new.check(invoice_code, opts)
|
16
16
|
end
|
17
|
+
|
18
|
+
def records
|
19
|
+
LotteryCrawler.crawler.records
|
20
|
+
end
|
21
|
+
|
22
|
+
def find_record_by(year: nil, start_month: nil)
|
23
|
+
record = LotteryCrawler.find_record_by(
|
24
|
+
year: year,
|
25
|
+
start_month: start_month,
|
26
|
+
end_month: start_month + 1
|
27
|
+
)
|
28
|
+
|
29
|
+
yield(record) if block_given?
|
30
|
+
|
31
|
+
record
|
32
|
+
end
|
17
33
|
end
|
18
34
|
end
|
@@ -11,6 +11,10 @@ module UniformInvoiceLottery
|
|
11
11
|
def priority
|
12
12
|
self.class.const_get(:PRIORITY)
|
13
13
|
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
"#{title}: NT$ #{amount}"
|
17
|
+
end
|
14
18
|
end
|
15
19
|
|
16
20
|
class SpecialPrize < Prize
|
@@ -68,7 +72,7 @@ module UniformInvoiceLottery
|
|
68
72
|
end
|
69
73
|
|
70
74
|
class NullPrize < Prize
|
71
|
-
TITLE = "
|
75
|
+
TITLE = "沒中獎"
|
72
76
|
AMOUNT = 0
|
73
77
|
PRIORITY = 999
|
74
78
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'uniform_invoice_lottery/support'
|
3
|
+
require 'uniform_invoice_lottery/exceptions'
|
4
|
+
|
5
|
+
describe UniformInvoiceLottery::Support do
|
6
|
+
before do
|
7
|
+
@object = Object.new
|
8
|
+
@object.extend(UniformInvoiceLottery::Support)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should calculate correct lottery month" do
|
12
|
+
expect( @object.get_draw_month( Time.new(2015, 1, 15) )).to eq(11)
|
13
|
+
expect( @object.get_draw_month( Time.new(2015, 1, 25) )).to eq( 1)
|
14
|
+
expect( @object.get_draw_month( Time.new(2015, 2, 28) )).to eq( 1)
|
15
|
+
|
16
|
+
expect( @object.get_lottery_months(3)).to eq([1,2])
|
17
|
+
expect( @object.get_lottery_months(1)).to eq([11,12])
|
18
|
+
# 奇數月開獎的說
|
19
|
+
expect{ @object.get_lottery_months(2) }.to raise_error(UniformInvoiceLottery::InvalidLotteryMonthError)
|
20
|
+
end
|
21
|
+
end
|
@@ -3,6 +3,47 @@ require 'uniform_invoice_lottery'
|
|
3
3
|
|
4
4
|
describe UniformInvoiceLottery do
|
5
5
|
it "can check lottery" do
|
6
|
-
|
6
|
+
special_prize = UniformInvoiceLottery.check('82930261', time: Time.new(2015, 7, 26))
|
7
|
+
expect(special_prize.title).to eq("特別獎")
|
8
|
+
expect(special_prize.amount).to eq(10_000_000)
|
9
|
+
expect(special_prize.to_s).to eq("特別獎: NT$ 10000000")
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should load records' do
|
13
|
+
records = UniformInvoiceLottery.records
|
14
|
+
|
15
|
+
expect(records.class).to eq(Array)
|
16
|
+
|
17
|
+
unless records.empty?
|
18
|
+
expect(records.first.class).to eq(Hash)
|
19
|
+
%w(year start_month end_month special_prize grand_prize first_prizes additional_sixth_prizes).each {|k|
|
20
|
+
expect(records.first).to have_key(k)
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'can find record by year and start_month' do
|
26
|
+
_r = {
|
27
|
+
'year' => 104,
|
28
|
+
'start_month' => 1,
|
29
|
+
'end_month' => 2,
|
30
|
+
'special_prize' => '60538935',
|
31
|
+
'grand_prize' => '50887710',
|
32
|
+
'first_prizes' => [
|
33
|
+
'63856949',
|
34
|
+
'39459262',
|
35
|
+
'61944942',
|
36
|
+
],
|
37
|
+
'additional_sixth_prizes' => [
|
38
|
+
'022',
|
39
|
+
'355',
|
40
|
+
'038',
|
41
|
+
]
|
42
|
+
}
|
43
|
+
expect(UniformInvoiceLottery.find_record_by(year: 104, start_month: 1)).to eq(_r)
|
44
|
+
|
45
|
+
UniformInvoiceLottery.find_record_by(year: 104, start_month: 1) do |record|
|
46
|
+
expect(record).not_to be_nil
|
47
|
+
end
|
7
48
|
end
|
8
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uniform_invoice_lottery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yukai Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -201,6 +201,7 @@ extra_rdoc_files: []
|
|
201
201
|
files:
|
202
202
|
- ".gitignore"
|
203
203
|
- ".pryrc"
|
204
|
+
- ".travis.yml"
|
204
205
|
- Gemfile
|
205
206
|
- Guardfile
|
206
207
|
- LICENSE.txt
|
@@ -214,8 +215,8 @@ files:
|
|
214
215
|
- lib/uniform_invoice_lottery/prizes.rb
|
215
216
|
- lib/uniform_invoice_lottery/support.rb
|
216
217
|
- lib/uniform_invoice_lottery/version.rb
|
217
|
-
- spec/data_crawler_spec.rb
|
218
218
|
- spec/spec_helper.rb
|
219
|
+
- spec/support_spec.rb
|
219
220
|
- spec/uniform_invoice_lottery_spec.rb
|
220
221
|
- uniform_invoice_lottery.gemspec
|
221
222
|
homepage: https://github.com/Yukaii/uniform-invoice-lottery
|
@@ -243,7 +244,7 @@ signing_key:
|
|
243
244
|
specification_version: 4
|
244
245
|
summary: "一個統一發票的查詢、兌獎 gem"
|
245
246
|
test_files:
|
246
|
-
- spec/data_crawler_spec.rb
|
247
247
|
- spec/spec_helper.rb
|
248
|
+
- spec/support_spec.rb
|
248
249
|
- spec/uniform_invoice_lottery_spec.rb
|
249
250
|
has_rdoc:
|
data/spec/data_crawler_spec.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# require 'spec_helper'
|
2
|
-
# require 'uniform_invoice_lottery'
|
3
|
-
|
4
|
-
# describe UniformInvoiceLottery::DataCrawler do
|
5
|
-
|
6
|
-
# let(:data_crawler) {
|
7
|
-
# UniformInvoiceLottery::DataCrawler
|
8
|
-
# }
|
9
|
-
|
10
|
-
# describe "test DataCrawler module" do
|
11
|
-
# it "should have DataCrawler sub module" do
|
12
|
-
# records = data_crawler.records
|
13
|
-
|
14
|
-
# expect(records.class).to eq(Array)
|
15
|
-
|
16
|
-
# unless records.empty?
|
17
|
-
# expect(records.first.class).to eq(Hash)
|
18
|
-
# %w(year start_month end_month so_special_price special_price head_prices additional_sixth_prices).each {|k|
|
19
|
-
# expect(records.first).to have_key(k)
|
20
|
-
# }
|
21
|
-
# end
|
22
|
-
# end
|
23
|
-
|
24
|
-
# it "should calculate correct lottery month" do
|
25
|
-
# expect(data_crawler.get_draw_month( Time.new(2015, 1, 15) )).to eq(11)
|
26
|
-
# expect(data_crawler.get_draw_month( Time.new(2015, 1, 25) )).to eq( 1)
|
27
|
-
# expect(data_crawler.get_draw_month( Time.new(2015, 2, 28) )).to eq( 1)
|
28
|
-
|
29
|
-
# expect(data_crawler.get_lottery_months(3)).to eq([1,2])
|
30
|
-
# expect(data_crawler.get_lottery_months(1)).to eq([11,12])
|
31
|
-
# # 奇數月開獎的說
|
32
|
-
# expect{ data_crawler.get_lottery_months(2) }.to raise_error(UniformInvoiceLottery::InvalidLotteryMonthError)
|
33
|
-
# end
|
34
|
-
# end
|
35
|
-
|
36
|
-
# end
|