cmdserver 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4cb226f555b73c2bc4328970b85aa87edf3ca06
4
- data.tar.gz: 04c9f4ac3f98885eaba6bad626db96d7b9245635
3
+ metadata.gz: fae792cda07478c097e01d974c9753ad2a79e1db
4
+ data.tar.gz: d881017e9579698f4d014df4f553f85146aa8df6
5
5
  SHA512:
6
- metadata.gz: 731c5b8435fc115f5a5959afb0559bcea0eb8ede04f46a6e08dda1ca8e357931b4bdf06a6cffc016a77425c66c7cf502017343f4545e29f281b1cc107d7e4d81
7
- data.tar.gz: 0d36dc083f58852d13498dbb800c4f5cff72eeac05da41e8332881911eb391454e02571851282c362263add899628b0555451a6f9bced3c6eb0f6caab6024036
6
+ metadata.gz: 67f8c992d4be5fddcf46fea9649b967fc389f99f5635332d764ecf4223920309deff0335ac53a952c511753be12bbb706f4cfa119eb575a2b1b54fee21e8a7bf
7
+ data.tar.gz: fa8335ab0c42b8f3fe8c9c5ac83c76824dcafe1a7f5044859ded9305913d5ab1e0a8cd01c3a9f5fe07763f5c74d7a9af83c5b439a41733533c46f5dc05a88a5f
data/README.md CHANGED
@@ -57,6 +57,19 @@ server.start()
57
57
 
58
58
  That starts the main loop which will then start accepting connections.
59
59
 
60
+ You then connect to the specified port (1234 in our case) and write `CustomCommand`. The server will
61
+ then execute your function.
62
+
63
+ The functions can also be specified in the constructor itself as a hash:
64
+
65
+ ```ruby
66
+ require "cmdserver"
67
+ server = Cmdserver::TCPCommandServer.new(1234, {
68
+ "CustomCommand" => -> client, args { client.puts "Running custom command" }
69
+ })
70
+ server.start()
71
+ ```
72
+
60
73
  ## Development
61
74
 
62
75
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -65,7 +78,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
65
78
 
66
79
  ## Contributing
67
80
 
68
- Bug reports and pull requests are welcome on GitHub at https://github.com/majorendian/cmdserver.
81
+ Bug reports and pull requests are welcome on GitHub at https://github.com/majorendian/Modular-Tcp-Command-Server
69
82
 
70
83
 
71
84
  ## License
@@ -1,3 +1,3 @@
1
1
  module Cmdserver
2
- VERSION = "0.9.2"
2
+ VERSION = "0.10.0"
3
3
  end
data/lib/cmdserver.rb CHANGED
@@ -8,10 +8,12 @@ module Cmdserver
8
8
  # Protocol stuff goes here.
9
9
  # Should be loaded from ~/.cmdserver/modules/*.rb
10
10
  @protocol_hash = {}
11
+ @protocol = @protocol_hash
11
12
  def self.extend_protocol()
12
- @protocol_hash = {
13
+ @protocol = {
13
14
  "dummy" => -> cs, args { cs.puts "Dummy reply"}
14
15
  }
16
+ @protocol_hash = @protocol
15
17
  end
16
18
 
17
19
  def self.default_action(cs, args)
@@ -19,9 +21,10 @@ module Cmdserver
19
21
  end
20
22
 
21
23
  module_function
22
- def getProtocolHash()
24
+ def get_protocol_hash()
23
25
  self.extend_protocol()
24
- return @protocol_hash
26
+ @protocol = @protocol_hash
27
+ return @protocol
25
28
  end
26
29
 
27
30
  # Default behaviour when querry was not found
@@ -61,6 +64,16 @@ module Cmdserver
61
64
  end
62
65
  end
63
66
 
67
+ class Command # Class provided for the possibilty of future extensibility
68
+ def initialize
69
+ end
70
+
71
+ def call(client_socket, arg_string)
72
+ client_socket.puts "Dummy command call"
73
+ end
74
+
75
+ end
76
+
64
77
  class TCPCommandServer
65
78
 
66
79
  attr_accessor :socket
@@ -76,7 +89,7 @@ module Cmdserver
76
89
  end
77
90
 
78
91
  def load_cmd_proto()
79
- phash = CmdProtocol.getProtocolHash()
92
+ phash = CmdProtocol.get_protocol_hash()
80
93
  phash.each_key do |key|
81
94
  @cmd_hash[key] = phash[key]
82
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmdserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Deák
8
8
  autorequire:
9
9
  bindir: release
10
10
  cert_chain: []
11
- date: 2015-10-28 00:00:00.000000000 Z
11
+ date: 2015-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler