morsifier 1.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/morse_codec.rb +43 -0
  2. metadata +45 -0
@@ -0,0 +1,43 @@
1
+ require 'morse_codec/morse_helper'
2
+
3
+ class MorseCodec
4
+
5
+ def initialize
6
+ @morse_code = MorseCodec::MorseHelper.load_dictionary
7
+ end
8
+
9
+ def to_morse(reg_str="")
10
+ morse_result_arr = []
11
+ str_arr = reg_str.gsub(' ','%').split('%')
12
+
13
+ morse_word = ""
14
+ str_arr.each do |this_word|
15
+ splitted = this_word.to_s.split('')
16
+ splitted.each do |this_letter|
17
+ morse_word << (@morse_code[this_letter.upcase].to_s || this_letter) << " "
18
+ end
19
+ morse_result_arr << morse_word << " "
20
+ morse_word = ""
21
+ end
22
+ return morse_result_arr.to_s.strip
23
+ end
24
+
25
+ def decode_morse(morse_str="")
26
+ result_arr = []
27
+ morse_arr = morse_str.split(' ')
28
+
29
+ morse_word = ""
30
+ morse_arr.each do |this_word|
31
+ splitted = this_word.to_s.split(' ')
32
+ splitted.each do |this_letter|
33
+ #p = @morse_code.select{|key, hash| hash == this_letter} || [["",""]]
34
+ #morse_word << p.flatten[0]
35
+ morse_word << @morse_code.invert[this_letter] || ""
36
+ end
37
+ result_arr << morse_word.to_s.capitalize << " "
38
+ morse_word = ""
39
+ end
40
+ return result_arr.to_s.strip
41
+ end
42
+
43
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: morsifier
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Aghyad Saleh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-19 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A simple morse coding/decoding engine gem
15
+ email: asaleh@clickhere.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/morse_codec.rb
21
+ homepage: http://rubygems.org/gems/morse_codec
22
+ licenses: []
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 1.8.24
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: Morse Coding/Decoding Engine
45
+ test_files: []