opsa 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/opsa +3 -3
  3. data/lib/opsa.rb +1 -1
  4. data/lib/opsa/language.rb +14 -10
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: 3a7b0ace961a874a57cbdbeb454c617460ef0b60
4
- data.tar.gz: b9119195a31b28407a38a73a2cc4df7205a44061
3
+ metadata.gz: 7361eb664ff2b4d973086bb7b7636a2aabf09b3e
4
+ data.tar.gz: ae524369a000a7c47425e22b38f202f6cdf59671
5
5
  !binary "U0hBNTEy":
6
- metadata.gz: 06cf46e994b367679a909fc029a813c62ad1f01094808997970452a1cd23681debc042cbedb66395074c6738268ea92106b8dae74c4ae2d4fc42a138623a841d
7
- data.tar.gz: 749504c033af12c11811678849d07668382fbe9d27a13e19cb2f932701ba875287e57194da4f8c8748f667802b43a2fc2daa5a9c8ccb6e46702427b1dfa203aa
6
+ metadata.gz: bfd6456dcd07d1446c2cc8c261e1413000ebab784941ee43a4afaab17cb1c87c6d3fc081bfab62b361d71f45a0072cc7d9604a6f5abbaab32c20816967f74967
7
+ data.tar.gz: 23a238e0953b1136f913a5265a07626ae57a05d802c7fe3cf6f76106965e9aff8584f9599f16d114a750736796e71679f631cae8a25eb907aa0579b66aafed01
data/bin/opsa CHANGED
@@ -5,14 +5,14 @@ require 'opsa'
5
5
  lang = OPSA::Language.new
6
6
 
7
7
  lang.respond_to Regexp.new('^say_hello (.+)') do |match|
8
- puts "> Hello, #{match}!"
8
+ "> Hello, #{match}!"
9
9
  end
10
10
  lang.respond_to Regexp.new('^echo (.+)') do |match|
11
- puts "> #{match}"
11
+ "> #{match}"
12
12
  end
13
13
 
14
14
  robot = OPSA.new(:language => lang)
15
15
 
16
16
  while line = gets and line.strip!
17
- robot.r(line)
17
+ puts robot.r(line)
18
18
  end
@@ -28,7 +28,7 @@ class OPSA
28
28
  # words: (String)
29
29
 
30
30
  def r(words)
31
- @lang.input(words)
31
+ return @lang.input(words)
32
32
  end
33
33
  end
34
34
 
@@ -25,14 +25,15 @@ class OPSA::Language
25
25
  if _match = text.match(regex)
26
26
  args = _match.captures
27
27
  if args.size > 0
28
- action.call(*args)
28
+ return action.call(*args)
29
29
  else
30
- action.call(text)
30
+ return action.call(text)
31
31
  end
32
32
  else
33
33
  next
34
34
  end
35
35
  end
36
+ return nil
36
37
  end
37
38
  end
38
39
 
@@ -40,22 +41,25 @@ if __FILE__ == $0
40
41
  lang = OPSA::Language.new
41
42
 
42
43
  lang.respond_to Regexp.new('^say_hello (.+)') do |match|
43
- puts "Hello, #{match}!"
44
+ "Hello, #{match}!"
44
45
  end
45
46
  lang.respond_to Regexp.new('^echo:(.+)') do |match|
46
- puts match
47
+ "> #{match}"
47
48
  end
49
+ lang.respond_to Regexp.new('^(.+)') do |match|
50
+ "# #{match}"
51
+ end
52
+
53
+ puts lang.input("say_hello girl")
54
+ puts lang.input("say_hello world")
55
+ puts lang.input("say_hello beautifull sunshine")
56
+ puts lang.input("echo:hello")
57
+ puts lang.input("echo:world")
48
58
 
49
59
  counter = 0
50
60
  lang.respond_to Regexp.new('^incr$') do |text|
51
61
  counter += 1
52
62
  end
53
-
54
- lang.input("say_hello world")
55
- lang.input("say_hello beautifull sunshine")
56
- lang.input("echo:hello")
57
- lang.input("echo:world")
58
-
59
63
  lang.input("incr")
60
64
  puts counter
61
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liu Lantao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-15 00:00:00.000000000 Z
11
+ date: 2014-01-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A simple systems operation robot
14
14
  email: liulantao@gmail.com