opsa 0.0.2 → 0.0.3

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/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