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

kachick/structus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Structus

  • This repository is archived

  • No longer maintained

I didn’t publish this to rubygems.org

Description

Struct++

Features

  • Base APIs look like Struct.

  • Easy and Flexible Validations

  • Hook just before running setters

  • Default value

  • Member aliasing

  • Inheritable

  • AUto Nested Define

  • Pure Ruby :)

  • Note:

This library is a rewrited version of “striuct”. github.com/kachick/striuct

latest: Structus
stable: Striuct

Usage

  • setup

    require 'structus'
    

Example

class User < Person
  member :id, AND(Integer, 1..99999)
end

user = User.new
user.members      #=> [:name, :id]
user.name = :Ken  #=> error
user.name = ''    #=> error
user.name = 'Ken' #=> pass

More Example

see test/*

Requirements

  • Ruby 1.9.2 or later

    tested release versions

    • 1.9.3-p125

    • 1.9.2-p290

License

Copyright © 2011-2012 Kenichi Kamiya

The MIT/X11 License (See the file LICENSE.)

About

Struct++ (newer striuct)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages