monikers 0.0.1

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.
@@ -0,0 +1,38 @@
1
+ require "monikers/version"
2
+
3
+ module Monikers
4
+ @dataset = eval(File.read(File.expand_path("../../lib/data/monikers_hash.rb", __FILE__)))
5
+
6
+ def self.moniker_list(name)
7
+ name_down = name.downcase
8
+
9
+ if @dataset.key?(name.downcase)
10
+ return @dataset[name_down]<< name_down
11
+ else
12
+ return Array.new<< name_down
13
+ end
14
+ end
15
+
16
+ def self.moniker_equivalents?(name1, name2)
17
+ name1_down = name1.downcase
18
+ name2_down = name2.downcase
19
+
20
+ if name1_down == name2_down
21
+ return true
22
+ end
23
+
24
+ if @dataset.key?(name1_down)
25
+ if @dataset[name1_down].include?(name2_down)
26
+ return true
27
+ end
28
+ end
29
+
30
+ if @dataset.key?(name2_down)
31
+ if@dataset[name2_down].include?(name1_down)
32
+ return true
33
+ end
34
+ end
35
+
36
+ return false
37
+ end
38
+ end
@@ -0,0 +1,42 @@
1
+ require 'pp'
2
+
3
+ module Monikers
4
+ module Generator
5
+ CSV_FILE_PATH = '../../data/monikers_list.csv'.freeze
6
+ OUT_FILE_PATH = '../../data/monikers_hash.rb'.freeze
7
+
8
+ def self.generate_cache
9
+ monikers = Hash.new
10
+
11
+ File.open(Monikers::Generator::CSV_FILE_PATH, 'r') do |file_handle|
12
+ file_handle.each do |line|
13
+ split_line = line.split(/,/)
14
+
15
+ name = split_line[1].strip.downcase
16
+ moniker = split_line[2].strip.downcase
17
+
18
+ if monikers.key?(name)
19
+ if !monikers[name].include?(moniker)
20
+ monikers[name]<< moniker
21
+ end
22
+ else
23
+ monikers[name] = Array.new<< moniker
24
+ end
25
+
26
+ if monikers.key?(moniker)
27
+ if !monikers[moniker].include?(name)
28
+ monikers[moniker]<< name
29
+ end
30
+ else
31
+ monikers[moniker] = Array.new<< name
32
+ end
33
+ end
34
+ end
35
+
36
+ File.open(OUT_FILE_PATH, 'w') { |out_file| PP.pp(monikers, out_file) }
37
+
38
+ return monikers
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,3 @@
1
+ module Monikers
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'monikers/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "monikers"
8
+ gem.version = Monikers::VERSION
9
+ gem.authors = ["Ben Di"]
10
+ gem.email = ["bdifrancesco@ascensionpress.com"]
11
+ gem.description = %q{Cached List of First Name Monikers}
12
+ gem.summary = %q{Gem contains a precached data structure of first name monikers & convenience methods for access & comparison}
13
+ gem.homepage = ""
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_development_dependency 'rspec', '~> 2.10'
21
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: monikers
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ben Di
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-12-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.10'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.10'
30
+ description: Cached List of First Name Monikers
31
+ email:
32
+ - bdifrancesco@ascensionpress.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - .gitignore
38
+ - Gemfile
39
+ - LICENSE.txt
40
+ - README.md
41
+ - Rakefile
42
+ - lib/data/monikers_hash.rb
43
+ - lib/data/monikers_list.csv
44
+ - lib/monikers.rb
45
+ - lib/monikers/generator/generator.rb
46
+ - lib/monikers/version.rb
47
+ - monikers.gemspec
48
+ homepage: ''
49
+ licenses: []
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 1.8.24
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: Gem contains a precached data structure of first name monikers & convenience
72
+ methods for access & comparison
73
+ test_files: []