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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d38d4ff9f1f653819ed217e74459aa4b5f3ef59a265dc9dba35299fbc0a90152
4
- data.tar.gz: 55e4491cb8412f907518c7e8bd61d841d0ac36c48dfc27b6b8405bb82b781d87
3
+ metadata.gz: 1035a64038b5f5379bcc1bb14f4ed6629d95bf727ba1844e63f2b57d495e4822
4
+ data.tar.gz: a988ca1ce7a1503ce2e0d9559203b513213937f3c0f23d6af2d8612c7f98f596
5
5
  SHA512:
6
- metadata.gz: 70979692684e2310b4b9e3c3e48c4e539b490a7e7f3f70345af3b18f39157947c50bfc2c4e4c0d74542feeedb3bef4a23b9d765e138c6b5e2113399c208a40b2
7
- data.tar.gz: 9cee54fdc34055324828bbe3c7332727e2fb1a8372bd6a0516a380abc8958da398d0541d75f1caa78e3806e33afa8a6247bca29abe5cc78dd56afaa1e9987386
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
- require "irb"
14
- IRB.start(__FILE__)
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
@@ -2,6 +2,8 @@
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'booking_trick/version'
5
+ require 'booking_trick/user'
6
+ require 'booking_trick/room'
5
7
 
6
8
  Gem::Specification.new do |spec|
7
9
  spec.name = 'booking_trick'
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
@@ -1,3 +1,3 @@
1
1
  module BookingTrick
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  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.0
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: