# Jruby not finding gender\_detector

**URL:** <https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072>\
**Category:** Logstash\
**Created:** [June 4, 2019, 12:58am UTC](https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072 "2019-06-04T00:58:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![marksparrish](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marksparrish/32/105857_2.png) [@marksparrish](https://discuss.elastic.co/u/marksparrish)\
**Post date:** [June 4, 2019, 12:58am UTC](https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072/1 "2019-06-04T00:58:34Z")

</div>

I have the following ruby filter in my .conf

```
ruby {
	code => '
		require "rubygems";
		require "gender_detector";
		d = GenderDetector.new(:case_sensitive => false)
		first_name = "MARK"
		if first_name.to_s.empty?
			gender = "U"
		else
			gender = d.get_gender(first_name, :usa)
		end 
		sex = "U"
		if gender == :male
			sex = "M"
		end
		if gender == :female
			sex = "F"
		end 

	'
}

```

But I keep getting the error of

```
[ERROR] 2019-06-04 00:40:00.178 [[main]>worker5] ruby - Ruby exception occurred: no such file to load -- gender_detector

```

I have run the gem install using -

```
sudo /usr/share/logstash/vendor/jruby/bin/jruby -S gem install gender_detector 

```

and it install correctly.

This is my ruby gems environment

```
RubyGems Environment:
 - RUBYGEMS VERSION: 2.7.9
 - RUBY VERSION: 2.5.3 (2019-04-09 patchlevel 0) [java]
 - INSTALLATION DIRECTORY: /usr/share/logstash/vendor/jruby/lib/ruby/gems/shared
 - USER INSTALLATION DIRECTORY: /home/mark/.gem/jruby/2.5.0
 - RUBY EXECUTABLE: /usr/share/logstash/vendor/jruby/bin/jruby
 - EXECUTABLE DIRECTORY: /usr/share/logstash/vendor/jruby/bin
 - SPEC CACHE DIRECTORY: /home/mark/.gem/specs
 - SYSTEM CONFIGURATION DIRECTORY: /usr/share/logstash/vendor/jruby/etc
 - RUBYGEMS PLATFORMS:
- ruby
- universal-java-1.8
 - GEM PATHS:
 - /usr/share/logstash/vendor/jruby/lib/ruby/gems/shared
 - /home/mark/.gem/jruby/2.5.0
- GEM CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000
  - "install" => "--no-rdoc --no-ri --env-shebang"
  - "update" => "--no-rdoc --no-ri --env-shebang"
- REMOTE SOURCES:
  - https://rubygems.org/
- SHELL PATH:
 - /usr/local/sbin
 - /usr/local/bin
 - /usr/sbin
 - /usr/bin
 - /sbin
 - /bin
 - /usr/games
 - /usr/local/games
 - /snap/bin

```

I'm thinking it is a path issue but I can seem to find the right setting for this gem.

Mark

---

<div class="post-metadata">

**Author:** ![marksparrish](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marksparrish/32/105857_2.png) [@marksparrish](https://discuss.elastic.co/u/marksparrish)\
**Post date:** [June 4, 2019, 1:22am UTC](https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072/2 "2019-06-04T01:22:45Z")

</div>

I should have mentioned that I can run this file successfully as a script running

```
/usr/share/logstash/vendor/jruby/bin/jruby gender_test.rb
```

---

<div class="post-metadata">

**Author:** ![marksparrish](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marksparrish/32/105857_2.png) [@marksparrish](https://discuss.elastic.co/u/marksparrish)\
**Post date:** [June 4, 2019, 3:38am UTC](https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072/3 "2019-06-04T03:38:30Z")

</div>

This was the answer -

> <https://github.com/elastic/logstash/issues/7016>

But I might resort to writing a plugin for an easier way

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 2, 2019, 3:38am UTC](https://discuss.elastic.co/t/jruby-not-finding-gender-detector/184072/4 "2019-07-02T03:38:34Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
