morsifier 1.1.0

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 (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: []