morsecode 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/morsecode.rb +24 -0
  2. metadata +55 -0
data/lib/morsecode.rb ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/ruby
2
+
3
+ # file: morsecode.rb
4
+
5
+ require 'rexml/document'
6
+
7
+ class MorseCode
8
+ include REXML
9
+
10
+ def initialize()
11
+ buffer = File.open(File.dirname(__FILE__) + '/morsecode.xml','r').read
12
+ doc = Document.new(buffer)
13
+ @h = Hash[XPath.match(doc.root, 'records/code').map{|x| x.map{|name| name.text.to_s}}]
14
+ end
15
+
16
+ def morse_input(codes)
17
+ codes.split(/4/).map{|code| @h[code]}.join()
18
+ end
19
+
20
+ def char_input(chars)
21
+ chars.split(//).map{|char| @h.invert[char]}.join('4')
22
+ end
23
+
24
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: morsecode
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors: []
7
+
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-11-29 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description:
17
+ email:
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - lib/morsecode.rb
26
+ has_rdoc: true
27
+ homepage:
28
+ licenses: []
29
+
30
+ post_install_message:
31
+ rdoc_options: []
32
+
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: "0"
40
+ version:
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ version:
47
+ requirements: []
48
+
49
+ rubyforge_project:
50
+ rubygems_version: 1.3.5
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: morsecode
54
+ test_files: []
55
+