sixarm_ruby_person_name

SixArm.com » Ruby » PersonName provides methods for names, initials, etc.

https://github.com/sixarm/sixarm_ruby_person_name

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

gem name person ruby
Last synced: 4 months ago · JSON representation ·

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
gem name person ruby
Created over 15 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners

README.md

SixArm.com → Ruby →
PersonName mixin methods for a person model

Gem Version Build Status Code Climate

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

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

All Time
  • Total Commits: 105
  • Total Committers: 2
  • Avg Commits per committer: 52.5
  • Development Distribution Score (DDS): 0.01
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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

.github/workflows/ruby.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
Gemfile.lock rubygems
  • 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
sixarm_ruby_person_name.gemspec rubygems
  • 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
Gemfile rubygems