chat_by_rznvls 0.0.0 → 0.0.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/chatr8s +2 -0
  3. data/lib/chatC.rb +93 -0
  4. data/lib/chat_by_rznvls.rb +37 -16
  5. metadata +34 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e923f144513fa2cb911d43934705aafeb32a9ea
4
- data.tar.gz: 8b04e23d7107efcaccfe66e769604d61d09d3833
3
+ metadata.gz: a4ab4b8f4374239f8c411341e870bd6c0c7bde19
4
+ data.tar.gz: e36dc1279de83f7a0c33f1a1bc32f9e4a77e1740
5
5
  SHA512:
6
- metadata.gz: c58880cd8e687468d8c515fecbee52246faa5116b5a9f9b25f6098e1f247368d42ade4971b7947bec74001baa754844def1b6ca601f4fa3665e3107f149d79be
7
- data.tar.gz: 2041be499973958f5350ef6bc0ed7605d5f9df5d5fa34fdbb9e4a3a14b6fbef3582d91fd7360615d5e78c3de2e2dd15ab85b298c0d36f9a69cd39c6dcac1d394
6
+ metadata.gz: 40d63c61fc3a5c41b2d139a1709da71441e811586bc54034ef8c5dfc68fe6366896304ad6d32700d9fcf015d9833a684c5fc737407227741cac106987497bd9f
7
+ data.tar.gz: b059eef2a16c6de89f4248967c39b2bd57ebb2d9d23fd33699390ce7a7cfb9eac91d07163517ed77ae4449dfc6caf22462ab68cb34f9da41bc4fd563c1f708e7
data/bin/chatr8s ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ require 'chat_by_rznvls'
data/lib/chatC.rb ADDED
@@ -0,0 +1,93 @@
1
+ require 'mysql2'
2
+ require 'digest'
3
+
4
+ class Chat
5
+
6
+ def self.get_connection (host,username,password,port,database)
7
+ return Mysql2::Client.new( :host => host,
8
+ :username => username ,
9
+ :password => password ,
10
+ :port => port ,
11
+ :database => database )
12
+ end
13
+
14
+
15
+ def self.checkLogin ( connection )
16
+
17
+ print "Login: "
18
+ user = self.input
19
+ print "Password: "
20
+ passwd = self.input
21
+
22
+ md5passwd = Digest::MD5.new
23
+ md5passwd << passwd
24
+
25
+
26
+ connection.query("SELECT * FROM users WHERE username = '#{user}'").each do |data_for_passwd|
27
+ if (md5passwd == data_for_passwd["password"])
28
+ return user
29
+ else
30
+ puts "Login failed"
31
+ return ""
32
+ end
33
+ end
34
+
35
+ end
36
+
37
+
38
+
39
+ def self.registration(connection)
40
+ print "Login: "
41
+ user = Chat.input
42
+ print "Password: "
43
+ passwd = Chat.input
44
+ md5passwd = Digest::MD5.new
45
+ md5passwd << passwd
46
+
47
+
48
+ connection.query("SELECT * FROM users WHERE username = '#{user}'").each do |data_for_reg|
49
+ if (user == data_for_reg["username"])
50
+ puts "Try another login"
51
+ puts user
52
+ return ""
53
+ end
54
+ end
55
+ puts "Login succes"
56
+ puts user
57
+ connection.query("INSERT INTO users (username, password) VALUES ('#{user}', '#{md5passwd}')")
58
+ return user
59
+
60
+
61
+ end
62
+
63
+
64
+
65
+ def self.push_msg(connection, user,msg)
66
+ connection.query("INSERT INTO chat (user, msg) VALUES ('#{user}', '#{msg}')")
67
+ end
68
+
69
+ def self.get_lastmsgs ( connection, table, n)
70
+ connection.query("SELECT * FROM #{table} WHERE id > ( SELECT MAX(id) - #{n} FROM chat)")
71
+ end
72
+
73
+
74
+
75
+ def self.help
76
+ puts "Help information for work with chat_by_rznvls /n -r = refresh chat information, shows last 5 messages"
77
+ end
78
+
79
+ def self.refresh (lastmsgs)
80
+ lastmsgs.each do |row|
81
+ puts row["user"] + ": " + row["msg"]
82
+ end
83
+ end
84
+
85
+
86
+ def self.input
87
+ gets.to_s.strip
88
+ end
89
+
90
+ end
91
+
92
+
93
+
@@ -1,41 +1,62 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  require 'mysql2'
4
+ require 'digest'
5
+ load 'chatC.rb'
4
6
 
5
7
 
6
8
  begin
7
9
 
8
- print "Login: "
9
- user = gets.to_s.strip
10
10
 
11
- con = Mysql2::Client.new( :host => 'sql2.freemysqlhosting.net',
12
- :username => 'sql2204087',
13
- :password => 'tM3%yF9*',
14
- :port => '3306',
15
- :database => 'sql2204087')
11
+ con = Chat.get_connection('sql2.freemysqlhosting.net', 'sql2204087','tM3%yF9*', '3306','sql2204087')
12
+ user = ""
13
+ logOrReg=""
16
14
  run = true
15
+ logined = false
16
+ puts "login (l) or registration (r)"
17
+
18
+ while(logOrReg!="l" && logOrReg != "r" ) do
19
+ logOrReg = Chat.input
20
+ end
21
+
22
+ case logOrReg
23
+ when "l"
24
+
25
+ while !logined do
26
+ user = Chat.checkLogin(con)
27
+ logined = user == "" ? false: true
28
+ end
29
+
30
+ when "r"
31
+ while !logined do
32
+ user = Chat.registration(con)
33
+ logined = user == "" ? false : true
34
+ end
35
+
36
+ end
37
+
38
+ if ( username != "" ) do
17
39
  puts "Type -h for help with this shit and -r to refresh chat"
18
- puts "Have fun"
40
+ puts "Have fun, #{user}"
19
41
 
20
42
 
21
43
  while run do
22
44
 
23
- msg = gets.to_s.strip
24
- msgs = con.query("SELECT * FROM chat WHERE id > ( SELECT MAX(id) - 5 FROM chat)")
45
+ msg = Chat.input
46
+ msgs = Chat.get_lastmsgs( con , 'chat','5')
25
47
  case msg
26
48
  when "-r"
27
- msgs.each do |row|
28
- puts row["user"] + ": " + row["msg"]
29
- end
49
+ Chat.refresh(msgs)
30
50
  when "-h"
31
- puts "Do it without help. You are shit"
51
+ Chat.help
32
52
  when "exit"
33
53
  break
34
- else
54
+ else
55
+ Chat.push_msg(con, user, msg)
35
56
 
36
- con.query("INSERT INTO chat (user, msg) VALUES ('#{user}', '#{msg}')")
37
57
 
38
58
  end
39
59
 
40
60
  end
41
61
  end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chat_by_rznvls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Ovcharov
@@ -9,13 +9,44 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-11-09 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mysql2
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: digest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: A simple chat
14
42
  email: rozenvil13@gmail.com
15
- executables: []
43
+ executables:
44
+ - chatr8s
16
45
  extensions: []
17
46
  extra_rdoc_files: []
18
47
  files:
48
+ - bin/chatr8s
49
+ - lib/chatC.rb
19
50
  - lib/chat_by_rznvls.rb
20
51
  homepage: http://rubygems.org/gems/chat_by_rznvls
21
52
  licenses: