Skip to content
This repository has been archived by the owner on May 21, 2021. It is now read-only.

kachick/structable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

structable

  • This repository is archived
  • No longer maintained
  • All versions have been yanked from https://rubygems.org for releasing valuable namespace for others

"Struct" like APIs

Features

  • Be appendable "Struct" like APIs
  • Member aliasing
  • Inheritable

Usage

Setup

require 'structable'

Overview

class Drink
  include Structable

  member :taste
end

class Tea < Drink
  member :leaf
  alias_member :type, :leaf
end

tea = Tea.new :bitter, :green
tea.members                    #=> [:taste, :leaf]
tea.members(true)              #=> [:taste, :leaf, :type]
tea.member? :type              #=> true
tea.type = 'Special Flavor'
tea.taste                      #=> :bitter
tea.leaf                       #=> 'Special Flavor'

Requirements

  • Ruby 2.5 or later

License

The MIT X11 License
Copyright (C) 2011-2012 Kenichi Kamiya
See MIT-LICENSE for further details.

About

Struct like APIs for plain class

Topics

Resources

License

Stars

Watchers

Forks

Languages