sixarm_ruby_person_name
SixArm.com » Ruby » PersonName provides methods for names, initials, etc.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.6%) to scientific vocabulary
Keywords
Repository
SixArm.com » Ruby » PersonName provides methods for names, initials, etc.
Basic Info
- Host: GitHub
- Owner: SixArm
- License: other
- Language: Ruby
- Default Branch: main
- Homepage: http://sixarm.com
- Size: 456 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
SixArm.com → Ruby →
PersonName mixin methods for a person model
- Git: https://github.com/SixArm/sixarm_ruby_person_name
- Doc: http://sixarm.com/sixarm_ruby_person_name/doc
- Gem: https://rubygems.org/gems/sixarm_ruby_person_name
- Contact: Joel Parker Henderson, joel@sixarm.com
- Project: changes, license, contributing.
Introduction
Our user models typically have accessors like these:
user.givenname => "Martin" user.middlename => "Luther" user.family_name => "King"
This gem is a utility to concatenate the user's name various common ways:
user.fullname => "Martin Luther King" user.listname => "King, Martin Luther" user.initials => "MLK"
It's fine if the model doesn't have a middle_name field, or if any of the values of any of the fields are nil or blank; this gem will do the right thing.
For docs go to http://sixarm.com/sixarm_ruby_person_name/doc
Want to help? We're happy to get pull requests.
Install
Gem
To install this gem in your shell or terminal:
gem install sixarm_ruby_person_name
Gemfile
To add this gem to your Gemfile:
gem 'sixarm_ruby_person_name'
Require
To require the gem in your code:
require 'sixarm_ruby_person_name'
Example
Create a typical user class, include this mixin, the use it:
class User < ActiveRecord::Base
include PersonName
end
user = User.new(
given_name => 'Martin',
middle_name => 'Luther',
family_name => 'King'
)
user.full_name => "Martin Luther King"
user.list_name => "King, Martin Luther"
user.initials => "MLK"
user.given_name_middle_name => "Martin Luther"
user.given_name_middle_initial => "Martin L"
user.given_name_middle_initial_family_name => "Martin L King"
Naming conventions
You can use either of these naming conventions:
- given name, middle name, family name
- first name, middle name, last name
Speed Tip
To make these very fast in Rails, you can use memoize:
class User < ActiveRecord::Base
extend ActiveSupport::Memoizable
include PersonName
memoize :full_name,
:list_name,
:initials,
:given_name_middle_name,
:given_name_middle_initial,
:given_name_middle_initial_family_name,
:given_name_family_name
end
Owner
- Name: SixArm
- Login: SixArm
- Kind: organization
- Email: sixarm@sixarm.com
- Location: San Francisco
- Website: http://sixarm.com
- Twitter: sixarm
- Repositories: 580
- Profile: https://github.com/SixArm
SixArm Software
Citation (CITATION.cff)
cff-version: 1.2.0
title: SixArm.com → Ruby → <br> PersonName mixin methods for a person model
message: >-
If you use this work and you want to cite it,
then you can use the metadata from this file.
type: software
authors:
- given-names: Joel Parker
family-names: Henderson
email: joel@joelparkerhenderson.com
affiliation: joelparkerhenderson.com
orcid: 'https://orcid.org/0009-0000-4681-282X'
identifiers:
- type: url
value: 'https://github.com/SixArm/sixarm_ruby_person_name/'
description: SixArm.com → Ruby → <br> PersonName mixin methods for a person model
repository-code: 'https://github.com/SixArm/sixarm_ruby_person_name/'
abstract: >-
SixArm.com → Ruby → <br> PersonName mixin methods for a person model
license: See license file
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Joel Parker Henderson | j****l@j****m | 104 |
| Joel Parker Henderson | j****l@s****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- ruby/setup-ruby v1 composite
- addressable 2.8.4
- ast 2.4.2
- axiom-types 0.1.1
- bundler 2.3.26
- codeclimate-engine-rb 0.4.2
- coercible 1.0.0
- descendants_tracker 0.0.4
- docile 1.4.0
- equalizer 0.0.11
- erubi 1.12.0
- flay 2.13.0
- flog 4.6.6
- ice_nine 0.11.2
- jaro_winkler 1.5.5
- launchy 2.4.3
- minitest 5.18.0
- parallel 1.23.0
- parser 2.5.3.0
- path_expander 1.1.1
- public_suffix 5.0.1
- rainbow 3.1.1
- rake 12.3.3
- reek 4.8.2
- rubocop 0.68.1
- ruby-progressbar 1.13.0
- ruby_parser 3.20.1
- rubycritic 3.5.2
- sexp_processor 4.17.0
- simplecov 0.22.0
- simplecov-html 0.12.3
- simplecov_json_formatter 0.1.4
- sixarm_ruby_minitest_extensions 1.1.1
- sixarm_ruby_person_name 2.0.0
- thread_safe 0.3.6
- tty-which 0.3.0
- unicode-display_width 1.5.0
- virtus 1.0.5
- flay >= 2.12.0, < 3 development
- flog >= 4.6.2, < 5 development
- minitest >= 5.12, < 6 development
- rake >= 12.3.3, < 13 development
- reek >= 4.8.1, < 5 development
- rubocop >= 0.57.2, < 1 development
- rubycritic >= 3.4.0, < 4 development
- simplecov >= 0.18.0, < 2 development
- sixarm_ruby_minitest_extensions >= 1.0.8, < 2 development
