namey 0.0.2 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/Gemfile +22 -1
  2. data/README.markdown +105 -0
  3. data/Rakefile +54 -0
  4. data/api/Gemfile +10 -0
  5. data/api/config.ru +8 -0
  6. data/api/namey_app.rb +50 -0
  7. data/api/public/LICENSE +176 -0
  8. data/api/public/Makefile +30 -0
  9. data/api/public/README.md +105 -0
  10. data/api/public/api.js +76 -0
  11. data/api/public/bootstrap.css +2467 -0
  12. data/api/public/bootstrap.min.css +356 -0
  13. data/api/public/docs/assets/css/docs.css +317 -0
  14. data/api/public/docs/assets/ico/bootstrap-apple-114x114.png +0 -0
  15. data/api/public/docs/assets/ico/bootstrap-apple-57x57.png +0 -0
  16. data/api/public/docs/assets/ico/bootstrap-apple-72x72.png +0 -0
  17. data/api/public/docs/assets/ico/favicon.ico +0 -0
  18. data/api/public/docs/assets/img/bird.png +0 -0
  19. data/api/public/docs/assets/img/browsers.png +0 -0
  20. data/api/public/docs/assets/img/example-diagram-01.png +0 -0
  21. data/api/public/docs/assets/img/example-diagram-02.png +0 -0
  22. data/api/public/docs/assets/img/example-diagram-03.png +0 -0
  23. data/api/public/docs/assets/img/grid-18px.png +0 -0
  24. data/api/public/docs/assets/img/twitter-logo-no-bird.png +0 -0
  25. data/api/public/docs/assets/js/application.js +52 -0
  26. data/api/public/docs/assets/js/google-code-prettify/prettify.css +94 -0
  27. data/api/public/docs/assets/js/google-code-prettify/prettify.js +28 -0
  28. data/api/public/docs/index.html +2037 -0
  29. data/api/public/docs/javascript.html +798 -0
  30. data/api/public/examples/container-app.html +119 -0
  31. data/api/public/examples/fluid.html +122 -0
  32. data/api/public/examples/hero.html +79 -0
  33. data/api/public/js/bootstrap-alerts.js +113 -0
  34. data/api/public/js/bootstrap-buttons.js +62 -0
  35. data/api/public/js/bootstrap-dropdown.js +55 -0
  36. data/api/public/js/bootstrap-modal.js +260 -0
  37. data/api/public/js/bootstrap-popover.js +86 -0
  38. data/api/public/js/bootstrap-scrollspy.js +107 -0
  39. data/api/public/js/bootstrap-tabs.js +80 -0
  40. data/api/public/js/bootstrap-twipsy.js +310 -0
  41. data/api/public/js/tests/index.html +40 -0
  42. data/api/public/js/tests/unit/bootstrap-alerts.js +41 -0
  43. data/api/public/js/tests/unit/bootstrap-buttons.js +42 -0
  44. data/api/public/js/tests/unit/bootstrap-dropdown.js +52 -0
  45. data/api/public/js/tests/unit/bootstrap-modal.js +151 -0
  46. data/api/public/js/tests/unit/bootstrap-popover.js +76 -0
  47. data/api/public/js/tests/unit/bootstrap-scrollspy.js +31 -0
  48. data/api/public/js/tests/unit/bootstrap-tabs.js +77 -0
  49. data/api/public/js/tests/unit/bootstrap-twipsy.js +81 -0
  50. data/api/public/js/tests/vendor/qunit.css +232 -0
  51. data/api/public/js/tests/vendor/qunit.js +1510 -0
  52. data/api/public/lib/bootstrap.less +26 -0
  53. data/api/public/lib/forms.less +479 -0
  54. data/api/public/lib/mixins.less +222 -0
  55. data/api/public/lib/patterns.less +1060 -0
  56. data/api/public/lib/reset.less +141 -0
  57. data/api/public/lib/scaffolding.less +137 -0
  58. data/api/public/lib/tables.less +224 -0
  59. data/api/public/lib/type.less +187 -0
  60. data/api/public/lib/variables.less +60 -0
  61. data/api/public/ui.js +42 -0
  62. data/api/views/index.erb +211 -0
  63. data/bin/{load-data → namey-load-data} +7 -1
  64. data/bin/random-name +4 -1
  65. data/data/dist.all.last +88799 -0
  66. data/data/names.db +0 -0
  67. data/lib/namey.rb +12 -5
  68. data/lib/namey/generator.rb +79 -10
  69. data/lib/namey/parser.rb +79 -16
  70. data/lib/namey/version.rb +2 -1
  71. data/namey.gemspec +8 -2
  72. data/spec/generator_spec.rb +54 -0
  73. data/spec/spec_helper.rb +19 -0
  74. metadata +95 -9
Binary file
@@ -1,17 +1,24 @@
1
- require 'sqlite3'
2
-
3
1
  module Namey
4
2
  def self.db_path
5
- @@db_path
3
+ @@db_path ||= "sqlite://#{File.join(self.libdir, "..", "data", "names.db")}"
6
4
  end
7
5
  def self.db_path=(x)
8
6
  @@db_path = x
9
7
  end
8
+
9
+
10
+ require 'namey/version'
10
11
 
12
+ # Return a directory with the project libraries.
13
+ def self.libdir
14
+ t = ["#{File.expand_path(File.dirname(__FILE__))}", "#{Gem.dir}/gems/#{Namey::NAME}-#{Namey::VERSION}"]
15
+
16
+ t.each {|i| return i if File.readable?(i) }
17
+ raise "both paths are invalid: #{t}"
18
+ end
11
19
 
12
- # Your code goes here...
13
- @@db_path = File.join(File.dirname(__FILE__), "..", "data", "names.db")
14
20
 
21
+
15
22
  require 'namey/generator'
16
23
  end
17
24
 
@@ -1,39 +1,80 @@
1
+ require 'sequel'
2
+
1
3
  module Namey
4
+
5
+ #
6
+ # Main class for namey, handles generating a name.
7
+ #
2
8
  class Generator
3
9
 
4
- def initialize(dbname = Namey.db_path)
5
- @db = SQLite3::Database.open dbname
10
+ #
11
+ # initialize the name generator
12
+ # * +dbname+ - Sequel style db URI ex: 'sqlite://foo.db'
13
+ def initialize(dbname = nil)
14
+ dbname = Namey.db_path if dbname.nil?
15
+ @db = Sequel.connect(dbname)
6
16
  end
7
17
 
18
+ #
19
+ # generate a name
20
+ #
21
+ # * +frequency+ - :common, :rare, :all
22
+ # * +surname+ - true if you want a full name, false if you just want a first name
8
23
  def name(frequency = :common, surname = true)
9
- method = rand > 0.5 ? :male : :female
10
- send(method, frequency, surname)
24
+ generate(:frequency => frequency, :with_surname =>surname)
11
25
  end
12
26
 
27
+ #
28
+ # generate a male name
29
+ #
30
+ # * +frequency+ - :common, :rare, :all
31
+ # * +surname+ - true if you want a full name, false if you just want a first name
13
32
  def male(frequency = :common, surname = true)
14
33
  generate(:type => :male, :frequency => frequency, :with_surname => surname)
15
34
  end
16
35
 
36
+ #
37
+ # generate a female name
38
+ #
39
+ # * +frequency+ - :common, :rare, :all
40
+ # * +surname+ - true if you want a full name, false if you just want a first name
17
41
  def female(frequency = :common, surname = true)
18
42
  generate(:type => :female, :frequency => frequency, :with_surname => surname)
19
43
  end
20
44
 
45
+ #
46
+ # generate a surname
47
+ #
48
+ # * +frequency+ - :common, :rare, :all
21
49
  def surname(frequency = :common)
22
50
  generate(:type => :surname, :frequency => frequency)
23
51
  end
24
52
 
53
+ #
54
+ # generate a name using the supplied parameter hash
55
+ #
56
+ # * +params+ - A hash of parameters
57
+ #
58
+ # ==== Params
59
+ # * +:type+ - :male, :female, :surname
60
+ # * +:frequency+ - :common, :rare, :all
61
+ # * +:min_freq+ - raw frequency values to specify a precise range
62
+ # * +:max_freq+ - raw frequency values to specify a precise range
25
63
  def generate(params = {})
26
64
  params = {
27
- :type => :female,
65
+ :type => random_gender,
28
66
  :frequency => :common,
29
67
  :with_surname => true
30
68
  }.merge(params)
31
69
 
70
+
32
71
  if ! ( params[:min_freq] || params[:max_freq] )
33
72
  params[:min_freq], params[:max_freq] = frequency_values(params[:frequency])
34
73
  end
35
74
 
36
75
  name = get_name(params[:type], params[:min_freq], params[:max_freq])
76
+
77
+ # add surname if needed
37
78
  if params[:type] != :surname && params[:with_surname] == true
38
79
  name = "#{name} #{get_name(:surname, params[:min_freq], params[:max_freq])}"
39
80
  end
@@ -41,6 +82,13 @@ module Namey
41
82
  end
42
83
 
43
84
 
85
+ protected
86
+
87
+ #
88
+ # generate a set of min/max frequency values for the specified
89
+ # frequency symbol
90
+ #
91
+ # * +f+ - desired frequency range -- :common, :rare, :all
44
92
  def frequency_values(f)
45
93
  low = case f
46
94
  when :common then 0
@@ -59,13 +107,34 @@ module Namey
59
107
  [ low, high ]
60
108
  end
61
109
 
62
- protected
63
- def get_name(src, min_freq = 0, max_freq = 100)
64
- @db.get_first_row("SELECT name FROM #{src.to_s} WHERE freq > ? AND freq < ? ORDER BY RANDOM() LIMIT 1;",
65
- min_freq, max_freq).first
110
+
111
+
112
+ #
113
+ # pick a gender at random
114
+ #
115
+ def random_gender
116
+ rand > 0.5 ? :male : :female
66
117
  end
67
118
 
119
+ #
120
+ # randomly sort a result set according to the data adapter class
121
+ #
122
+ def random_sort(set)
68
123
 
69
-
124
+ # this is a bit of a hack obviously, but it checks the sort of data engine being used
125
+ # to figure out how to randomly sort
126
+ if @db.class.name == "Sequel::SQLite::Database"
127
+ set.order{RANDOM{}}
128
+ else
129
+ set.order{RAND{}}
130
+ end
131
+ end
132
+
133
+ #
134
+ # query the db for a name
135
+ #
136
+ def get_name(src, min_freq = 0, max_freq = 100)
137
+ random_sort(@db[src.to_sym].filter{(freq >= min_freq) & (freq <= max_freq)}).first[:name]
138
+ end
70
139
  end
71
140
  end
@@ -1,52 +1,115 @@
1
+ require 'sequel'
2
+
1
3
  module Namey
4
+
5
+ #
6
+ # parse the census bureau data files and load into our datasource
7
+ #
2
8
  class Parser
3
9
 
4
10
  attr_accessor :db
5
11
 
6
- def initialize(dbname)
7
- # Open a database
8
- @db = SQLite3::Database.new dbname
12
+ #
13
+ # initialize the parser
14
+ # dbname - Sequel style db URI ex: 'sqlite://foo.db'
15
+ #
16
+ def initialize(dbname = Namey.db_path)
17
+ @db = Sequel.connect(dbname)
9
18
  end
10
19
 
20
+ #
21
+ # load in the male name list
22
+ #
11
23
  def load_male_names(src)
12
24
  parse_file(src, "male")
13
25
  end
14
26
 
27
+ #
28
+ # load in the female name list
29
+ #
15
30
  def load_female_names(src)
16
31
  parse_file(src, "female")
17
32
  end
18
33
 
34
+ #
35
+ # load in the surname list
36
+ #
19
37
  def load_surnames(src)
20
38
  parse_file(src, "surname")
21
39
  end
22
40
 
23
41
  protected
42
+
43
+ #
44
+ # parse a census file. it will have the format:
45
+ # name freq cumulative rank
46
+ # MARY 2.629 2.629 1
47
+ # PATRICIA 1.073 3.702 2
48
+ # LINDA 1.035 4.736 3
49
+ #
50
+ # we only need the name and the frequency, parse those out and
51
+ # insert into specified table
52
+ #
53
+ # src - which file to parse
54
+ # dest - which table to load into
24
55
  def parse_file(src, dest)
25
56
  create_table(dest)
26
57
 
27
- file = File.new(src, "r")
28
- while (line = file.gets)
58
+ puts "***** Importing #{dest}"
59
+
60
+ count = 0
61
+ names = File.foreach(src).collect do |line|
62
+ count += 1
63
+ if count % 2000 == 0
64
+ puts count
65
+ end
66
+
29
67
  data = line.split
30
68
 
31
69
  name = data.first.capitalize
32
70
  freq = data[2].to_f
33
71
 
34
- if dest == "surname"
35
- name = cleanup_surname(name)
36
- end
37
-
38
- puts "#{name} #{freq}"
39
- @db.execute "insert into #{dest} (name, freq) values ( ?, ? )", name, freq
72
+ name = if dest == "surname"
73
+ cleanup_surname(name)
74
+ else
75
+ cleanup_firstname(name)
76
+ end
77
+
78
+ {:name => name, :freq => freq}
40
79
  end
41
- file.close
80
+
81
+ puts "loading into db"
82
+
83
+ # remove any existing records
84
+ @db[dest.to_sym].truncate
85
+
86
+ # insert!
87
+ @db[dest.to_sym].multi_insert(names)
42
88
  end
43
89
 
90
+ #
91
+ # create a name table
92
+ #
44
93
  def create_table(name)
45
- # Create a database
46
- @db.execute "drop table IF EXISTS #{name};"
47
- @db.execute "create table #{name} (name varchar(20), freq REAL);"
94
+ if ! db.tables.include?(name)
95
+ db.create_table name do
96
+ String :name, :size => 15
97
+ Float :freq
98
+ index :freq
99
+ end
100
+ end
101
+ end
102
+
103
+ #
104
+ # apply some simple regexps to clean up first names
105
+ #
106
+ def cleanup_firstname(name)
107
+ name.gsub(/^Dean(\w+)/) { |s| "DeAn#{$1}" }
48
108
  end
49
109
 
110
+ #
111
+ # apply some simple regexps to clean up surnames
112
+ #
50
113
  def cleanup_surname(name)
51
114
  if name.length > 4
52
115
  name.gsub!(/^Mc(\w+)/) { |s| "Mc#{$1.capitalize}" }
@@ -55,7 +118,7 @@ module Namey
55
118
  name.gsub!(/^Osh(\w+)/) { |s| "O'sh#{$1}" }
56
119
  name.gsub!(/^Van(\w+)/) { |s| "Van#{$1.capitalize}" }
57
120
  name.gsub!(/^Von(\w+)/) { |s| "Von#{$1.capitalize}" }
58
- name.gsub!(/^De(\w+)/) { |s| "De#{$1.capitalize}" }
121
+ # name.gsub!(/^Dev(\w+)/) { |s| "DeV#{$1}" }
59
122
  end
60
123
  name
61
124
  end
@@ -1,3 +1,4 @@
1
1
  module Namey
2
- VERSION = "0.0.2"
2
+ NAME = "namey"
3
+ VERSION = "0.0.5"
3
4
  end
@@ -23,15 +23,21 @@ Gem::Specification.new do |s|
23
23
  s.specification_version = 3
24
24
 
25
25
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<sequel>, [">= 0"])
26
27
  s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
27
28
  s.add_development_dependency(%q<shoulda>, [">= 0"])
29
+ s.add_development_dependency(%q<yard>, [">= 0"])
28
30
  else
29
- s.add_dependency(%q<sqlite3>, [">= 0"])
31
+ s.add_dependency(%q<sequel>, [">= 0"])
32
+ s.add_dependency(%q<sqlite3>, [">= 0"])
30
33
  s.add_dependency(%q<shoulda>, [">= 0"])
34
+ s.add_dependency(%q<yard>, [">= 0"])
31
35
  end
32
36
  else
33
- s.add_dependency(%q<sqlite3>, [">= 0"])
37
+ s.add_dependency(%q<sequel>, [">= 0"])
38
+ s.add_dependency(%q<sqlite3>, [">= 0"])
34
39
  s.add_dependency(%q<shoulda>, [">= 0"])
40
+ s.add_dependency(%q<yard>, [">= 0"])
35
41
  end
36
42
  end
37
43
 
@@ -0,0 +1,54 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Namey::Generator" do
4
+ before(:each) do
5
+ @uri = "sqlite:/"
6
+ @gen = Namey::Generator.new(@uri)
7
+ end
8
+
9
+ describe "name" do
10
+ it "should pass params to generate" do
11
+ @gen.should_receive(:generate).with(:frequency => :common, :with_surname => true)
12
+ @gen.name
13
+ end
14
+ end
15
+
16
+ describe "male" do
17
+ it "should pass params to generate" do
18
+ @gen.should_receive(:generate).with(:type => :male, :frequency => :common, :with_surname => true)
19
+ @gen.male
20
+ end
21
+ end
22
+
23
+ describe "female" do
24
+ it "should pass params to generate" do
25
+ @gen.should_receive(:generate).with(:type => :female, :frequency => :common, :with_surname => true)
26
+ @gen.female
27
+ end
28
+ end
29
+
30
+ describe "surname" do
31
+ it "should pass params to generate" do
32
+ @gen.should_receive(:generate).with(:type => :surname, :frequency => :common)
33
+ @gen.surname
34
+ end
35
+ end
36
+
37
+ describe "generate" do
38
+ it "should pass to get_name once for surnames" do
39
+ @gen.should_receive(:get_name).with(:surname, 0, 20).and_return("Chuck")
40
+ @gen.generate(:type => :surname).should == "Chuck"
41
+ end
42
+
43
+ it "should pass to get_name once when with_surname is false" do
44
+ @gen.should_receive(:get_name).with(:male, 0, 20).and_return("Chuck")
45
+ @gen.generate(:type => :male, :with_surname => false).should == "Chuck"
46
+ end
47
+
48
+ it "should pass to get_name twice for full names" do
49
+ @gen.should_receive(:get_name).with(:male, 0, 20).and_return("Chuck")
50
+ @gen.should_receive(:get_name).with(:surname, 0, 20).and_return("Smith")
51
+ @gen.generate(:type => :male).should == "Chuck Smith"
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,19 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+ #$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ #$LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
6
+ require 'bundler/setup'
7
+ Bundler.require
8
+
9
+ #require 'rspec'
10
+ #require 'chatterbot'
11
+
12
+ require 'tempfile'
13
+ require 'sqlite3'
14
+
15
+
16
+ # Requires supporting files with custom matchers and macros, etc,
17
+ # in ./support/ and its subdirectories.
18
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
19
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: namey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-13 00:00:00.000000000Z
12
+ date: 2011-11-09 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sequel
16
+ requirement: &17389620 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *17389620
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: sqlite3
16
- requirement: &13358580 !ruby/object:Gem::Requirement
27
+ requirement: &17389120 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,10 +32,21 @@ dependencies:
21
32
  version: '0'
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *13358580
35
+ version_requirements: *17389120
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: shoulda
27
- requirement: &13358080 !ruby/object:Gem::Requirement
38
+ requirement: &17388640 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *17388640
47
+ - !ruby/object:Gem::Dependency
48
+ name: yard
49
+ requirement: &17388160 !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
52
  - - ! '>='
@@ -32,22 +54,83 @@ dependencies:
32
54
  version: '0'
33
55
  type: :development
34
56
  prerelease: false
35
- version_requirements: *13358080
57
+ version_requirements: *17388160
36
58
  description: Simple name generator, which can generate male/female names based on
37
59
  US Census Data
38
60
  email:
39
61
  - colin@muffinlabs.com
40
62
  executables:
41
- - load-data
63
+ - namey-load-data
42
64
  - random-name
43
65
  extensions: []
44
66
  extra_rdoc_files: []
45
67
  files:
46
68
  - .gitignore
47
69
  - Gemfile
70
+ - README.markdown
48
71
  - Rakefile
49
- - bin/load-data
72
+ - api/Gemfile
73
+ - api/config.ru
74
+ - api/namey_app.rb
75
+ - api/public/LICENSE
76
+ - api/public/Makefile
77
+ - api/public/README.md
78
+ - api/public/api.js
79
+ - api/public/bootstrap.css
80
+ - api/public/bootstrap.min.css
81
+ - api/public/docs/assets/css/docs.css
82
+ - api/public/docs/assets/ico/bootstrap-apple-114x114.png
83
+ - api/public/docs/assets/ico/bootstrap-apple-57x57.png
84
+ - api/public/docs/assets/ico/bootstrap-apple-72x72.png
85
+ - api/public/docs/assets/ico/favicon.ico
86
+ - api/public/docs/assets/img/bird.png
87
+ - api/public/docs/assets/img/browsers.png
88
+ - api/public/docs/assets/img/example-diagram-01.png
89
+ - api/public/docs/assets/img/example-diagram-02.png
90
+ - api/public/docs/assets/img/example-diagram-03.png
91
+ - api/public/docs/assets/img/grid-18px.png
92
+ - api/public/docs/assets/img/twitter-logo-no-bird.png
93
+ - api/public/docs/assets/js/application.js
94
+ - api/public/docs/assets/js/google-code-prettify/prettify.css
95
+ - api/public/docs/assets/js/google-code-prettify/prettify.js
96
+ - api/public/docs/index.html
97
+ - api/public/docs/javascript.html
98
+ - api/public/examples/container-app.html
99
+ - api/public/examples/fluid.html
100
+ - api/public/examples/hero.html
101
+ - api/public/js/bootstrap-alerts.js
102
+ - api/public/js/bootstrap-buttons.js
103
+ - api/public/js/bootstrap-dropdown.js
104
+ - api/public/js/bootstrap-modal.js
105
+ - api/public/js/bootstrap-popover.js
106
+ - api/public/js/bootstrap-scrollspy.js
107
+ - api/public/js/bootstrap-tabs.js
108
+ - api/public/js/bootstrap-twipsy.js
109
+ - api/public/js/tests/index.html
110
+ - api/public/js/tests/unit/bootstrap-alerts.js
111
+ - api/public/js/tests/unit/bootstrap-buttons.js
112
+ - api/public/js/tests/unit/bootstrap-dropdown.js
113
+ - api/public/js/tests/unit/bootstrap-modal.js
114
+ - api/public/js/tests/unit/bootstrap-popover.js
115
+ - api/public/js/tests/unit/bootstrap-scrollspy.js
116
+ - api/public/js/tests/unit/bootstrap-tabs.js
117
+ - api/public/js/tests/unit/bootstrap-twipsy.js
118
+ - api/public/js/tests/vendor/qunit.css
119
+ - api/public/js/tests/vendor/qunit.js
120
+ - api/public/lib/bootstrap.less
121
+ - api/public/lib/forms.less
122
+ - api/public/lib/mixins.less
123
+ - api/public/lib/patterns.less
124
+ - api/public/lib/reset.less
125
+ - api/public/lib/scaffolding.less
126
+ - api/public/lib/tables.less
127
+ - api/public/lib/type.less
128
+ - api/public/lib/variables.less
129
+ - api/public/ui.js
130
+ - api/views/index.erb
131
+ - bin/namey-load-data
50
132
  - bin/random-name
133
+ - data/dist.all.last
51
134
  - data/dist.female.first
52
135
  - data/dist.male.first
53
136
  - data/names.db
@@ -56,6 +139,8 @@ files:
56
139
  - lib/namey/parser.rb
57
140
  - lib/namey/version.rb
58
141
  - namey.gemspec
142
+ - spec/generator_spec.rb
143
+ - spec/spec_helper.rb
59
144
  homepage: https://github.com/muffinista/namey
60
145
  licenses: []
61
146
  post_install_message:
@@ -76,8 +161,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
161
  version: '0'
77
162
  requirements: []
78
163
  rubyforge_project: namey
79
- rubygems_version: 1.8.3
164
+ rubygems_version: 1.8.6
80
165
  signing_key:
81
166
  specification_version: 3
82
167
  summary: Simple name generator based on US Census Data
83
168
  test_files: []
169
+ has_rdoc: