booking_trick 0.1.0 → 0.1.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 +4 -4
- data/Gemfile.lock +26 -0
- data/bin/console +23 -2
- data/booking_trick.gemspec +2 -0
- data/lib/booking_trick.rb +32 -1
- data/lib/booking_trick/room.rb +43 -0
- data/lib/booking_trick/user.rb +79 -0
- data/lib/booking_trick/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1035a64038b5f5379bcc1bb14f4ed6629d95bf727ba1844e63f2b57d495e4822
|
|
4
|
+
data.tar.gz: a988ca1ce7a1503ce2e0d9559203b513213937f3c0f23d6af2d8612c7f98f596
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d6a50406368ec94bae6747534349db453b2b9d83d8c84a492c62cfd9a207fdd7aa457949ce72e938af54eab6e12a4cec2390178521f304879a3af81464f5bcf7
|
|
7
|
+
data.tar.gz: 06f7acb50a15fe6995735950a49a9f19fb29d88dc4e756b2e4e7a8845caff05e5170ef8c3b7625fbaa71865ff5e68c90dee252b7571c5173e52c0043b69fe3ba
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
booking_trick (0.1.1)
|
|
5
|
+
|
|
6
|
+
GEM
|
|
7
|
+
remote: https://rubygems.org/
|
|
8
|
+
specs:
|
|
9
|
+
coderay (1.1.3)
|
|
10
|
+
method_source (1.0.0)
|
|
11
|
+
pry (0.14.0)
|
|
12
|
+
coderay (~> 1.1)
|
|
13
|
+
method_source (~> 1.0)
|
|
14
|
+
rake (10.5.0)
|
|
15
|
+
|
|
16
|
+
PLATFORMS
|
|
17
|
+
ruby
|
|
18
|
+
|
|
19
|
+
DEPENDENCIES
|
|
20
|
+
booking_trick!
|
|
21
|
+
bundler (~> 1.17)
|
|
22
|
+
pry
|
|
23
|
+
rake (~> 10.0)
|
|
24
|
+
|
|
25
|
+
BUNDLED WITH
|
|
26
|
+
1.17.3
|
data/bin/console
CHANGED
|
@@ -10,5 +10,26 @@ require "booking_trick"
|
|
|
10
10
|
# require "pry"
|
|
11
11
|
# Pry.start
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
def reload!(print = true)
|
|
14
|
+
puts 'Reloading ...' if print
|
|
15
|
+
# Main project directory.
|
|
16
|
+
root_dir = File.expand_path('..', __dir__)
|
|
17
|
+
# Directories within the project that should be reloaded.
|
|
18
|
+
reload_dirs = %w{lib}
|
|
19
|
+
# Loop through and reload every file in all relevant project directories.
|
|
20
|
+
Object.send(:remove_const, :"BookingTrick")
|
|
21
|
+
reload_dirs.each do |dir|
|
|
22
|
+
Dir.glob("#{root_dir}/#{dir}/**/*.rb").each { |f| load(f) }
|
|
23
|
+
end
|
|
24
|
+
# Return true when complete.
|
|
25
|
+
true
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
begin
|
|
29
|
+
# Nếu muốn dùng pry thì phải install gem pry ở trong Gemfile hoặc install global
|
|
30
|
+
require 'pry'
|
|
31
|
+
Pry.start
|
|
32
|
+
rescue LoadError
|
|
33
|
+
require "irb"
|
|
34
|
+
IRB.start(__FILE__)
|
|
35
|
+
end
|
data/booking_trick.gemspec
CHANGED
data/lib/booking_trick.rb
CHANGED
|
@@ -3,9 +3,40 @@ require "booking_trick/version"
|
|
|
3
3
|
module BookingTrick
|
|
4
4
|
class Error < StandardError; end
|
|
5
5
|
|
|
6
|
+
class RandomRoom
|
|
7
|
+
attr_reader :rooms, :user
|
|
8
|
+
|
|
9
|
+
def initialize(name)
|
|
10
|
+
@name = name
|
|
11
|
+
@user = user
|
|
12
|
+
@rooms = rooms
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def perform!
|
|
16
|
+
room
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
attr_reader :name
|
|
21
|
+
|
|
22
|
+
def user
|
|
23
|
+
User.data.detect {|user| user[:name]== name }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def rooms
|
|
27
|
+
Room.new(user[:block]).execute
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def room
|
|
31
|
+
@rooms.detect do |room|
|
|
32
|
+
room[:users].include? user[:name]
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
6
37
|
def self.hello_world?
|
|
7
38
|
puts 'Hello World!!!'
|
|
8
39
|
end
|
|
9
40
|
end
|
|
10
41
|
|
|
11
|
-
BookingTrick.hello_world?
|
|
42
|
+
BookingTrick.hello_world?
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
class Room
|
|
2
|
+
attr_reader :block
|
|
3
|
+
|
|
4
|
+
def initialize(block)
|
|
5
|
+
@block = block
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def execute
|
|
9
|
+
send("block_#{block.downcase}")
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def block_a
|
|
14
|
+
[
|
|
15
|
+
{ name: 101, users: ['Ha Le'] },
|
|
16
|
+
{ name: 102, users: ['Minh Tang'] },
|
|
17
|
+
{ name: 201, users: ['Phuong Vo'] },
|
|
18
|
+
{ name: 202, users: ['Anh Le'] },
|
|
19
|
+
{ name: 203, users: ['Anh Luu', 'Anh Tran'] },
|
|
20
|
+
{ name: 204, users: ['Anh Nguyen'] },
|
|
21
|
+
{ name: 301, users: ['Quoc Le'] },
|
|
22
|
+
{ name: 302, users: ['Luan Dang'] },
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def block_b
|
|
28
|
+
[
|
|
29
|
+
{
|
|
30
|
+
name: 205, users: ['Lan Le Hoang', 'Thuan Nguyen']
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 208, users: ['Long Vo', 'Tung Nguyen', 'Huy Nguyen']
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 303, users: ['Huy Dang', 'Tri Dang', 'Ninh Le']
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 304, users: ['Le Pham', 'Trang Chu', 'Linh Chau', 'Thuong Ngo']
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
class User
|
|
2
|
+
def self.data
|
|
3
|
+
[
|
|
4
|
+
{
|
|
5
|
+
name: 'Ha Le',
|
|
6
|
+
block: 'A'
|
|
7
|
+
},
|
|
8
|
+
|
|
9
|
+
{
|
|
10
|
+
name: 'Minh Tang',
|
|
11
|
+
block: 'A'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Phuong Vo',
|
|
15
|
+
block: 'A'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Anh Le',
|
|
19
|
+
block: 'A'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Anh Luu',
|
|
23
|
+
block: 'A'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'Anh Tran',
|
|
27
|
+
block: 'A'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Anh Tran',
|
|
31
|
+
block: 'A'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Anh Nguyen',
|
|
35
|
+
block: 'A'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Quoc Le',
|
|
39
|
+
block: 'A'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Luan Dang',
|
|
43
|
+
block: 'A'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Lan Le Hoang',
|
|
47
|
+
block: 'B'
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Thuan Nguyen',
|
|
51
|
+
block: 'B'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Long Vo',
|
|
55
|
+
block: 'B'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Tri Dang',
|
|
59
|
+
block: 'B'
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Ninh Le',
|
|
63
|
+
block: 'B'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Le Pham',
|
|
67
|
+
block: 'B'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Trang Chu',
|
|
71
|
+
block: 'B'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'Linh Chau',
|
|
75
|
+
block: 'B'
|
|
76
|
+
},
|
|
77
|
+
]
|
|
78
|
+
end
|
|
79
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: booking_trick
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Long Vo
|
|
@@ -48,6 +48,7 @@ files:
|
|
|
48
48
|
- ".gitignore"
|
|
49
49
|
- CODE_OF_CONDUCT.md
|
|
50
50
|
- Gemfile
|
|
51
|
+
- Gemfile.lock
|
|
51
52
|
- LICENSE.txt
|
|
52
53
|
- README.md
|
|
53
54
|
- Rakefile
|
|
@@ -55,6 +56,8 @@ files:
|
|
|
55
56
|
- bin/setup
|
|
56
57
|
- booking_trick.gemspec
|
|
57
58
|
- lib/booking_trick.rb
|
|
59
|
+
- lib/booking_trick/room.rb
|
|
60
|
+
- lib/booking_trick/user.rb
|
|
58
61
|
- lib/booking_trick/version.rb
|
|
59
62
|
homepage: https://github.com/vovanlong/booking_trick.git
|
|
60
63
|
licenses:
|