<commit_before>Tagen, a core and extra extension to Ruby library.
==========================================

**Homepage**: [https://github.com/GutenLinux/tagen](https://github.com/GutenLinux/tagen) <br/>
**Author**: 	Guten <br/>
**Contributors**: See Contributors section below  <br/>
**License**: MIT License <br/>
**Documentation**: [http://rubydoc.info/gems/tagen/frames](http://rubydoc.info/gems/tagen/frames) <br/>
**Issue Tracker**: [https://github.com/GutenLinux/tagen/issues](https://github.com/GutenLinux/tagen/issues) <br/>

Overview
--------

Ruby has an 'Open Class' feature, so we can extend any class by ourself.

This library provides some usefull Ruby core extension.  some comes from ActiveSupport. ActiveSupport is mainly target to Rails, but tagen is target to generic ruby development, and tagen is smaller. It is a colletion of most common core,extra extensions.

This library comes with a path lib named {Pa} and a string format lib named {PyFormat}.

Usage
-----
use core extension

	require "tagen/core"

then we have String#blank? method, for a list of core extensions, see {file:docs/CoreExtensions.md docs/CoreExtensions}.

use extra extension

	require "pathname"
	require "tagen/pathname"

or

	require "tagen/pathname" # auto require "pathname"

this will add #path method to Pathname, see API doc.

Requirements
------------

	tested: ruby1.9 linux

An Introduction to Pa 
---------------------

	require "tagen/core"
	pa = Pa('/home/foo')
	pa.exists? #=> false
	pa.dir #=> '/home'
	pa.base #=> 'foo'
	pa.join('a.ogg') #=> '/home/a.ogg'
	pa.join(a.ogg).exists? #=> true.

	Pa.exists?('/home/foo') # alternate way

which rspec

	Pa('/home/foo').should be_exists

more see API doc

An Introduction to PyFormat
---------------------------

	require "tagen/core"
	"I like %{fruit} and %{sport}".format('apple', 'football') 
	"I like %{fruit} and %{sport}".format(apple: 'apple', footbal: 'football') 

	"it costs %{howmatch:.2f} dollars".format(1.123) #=> "it costs 1.12 dollars"
	
more see API doc


Documentation
-------------
* {file:docs/CoreExtensions.md CoreExtensions} A list of core extensions.
* {file:docs/ExtraExtensions.md ExtraExtensions} A list of extra extensions.
* {file:docs/Architecture.md Architecture} Source code architecture.

Install
----------
	gem install tagen

Contributing
-------------
* report bugs/featues to issue tracker.
* fork it and pull a request.
* improve documentation.
* any ideas are welcome.

Contributors
------------

WORD-III


Copyright
---------
Copyright &copy; 2011 by Guten. this library released under MIT-License, See {file:LICENSE} for futher details.

asddf
<commit_msg>tagen 1<commit_after>Tagen, a core and extra extension to Ruby library.
==========================================

**Homepage**: [https://github.com/GutenLinux/tagen](https://github.com/GutenLinux/tagen) <br/>
**Author**: 	Guten <br/>
**Contributors**: See Contributors section below  <br/>
**License**: MIT License <br/>
**Documentation**: [http://rubydoc.info/gems/tagen/frames](http://rubydoc.info/gems/tagen/frames) <br/>
**Issue Tracker**: [https://github.com/GutenLinux/tagen/issues](https://github.com/GutenLinux/tagen/issues) <br/>

Overview
--------

Ruby has an 'Open Class' feature, so we can extend any class by ourself.

This library provides some usefull Ruby core extension.  some comes from ActiveSupport. ActiveSupport is mainly target to Rails, but tagen is target to generic ruby development, and tagen is smaller. It is a colletion of most common core,extra extensions.

This library comes with a path lib named {Pa} and a string format lib named {PyFormat}.

Usage
-----
use core extension

	require "tagen/core"

then we have String#blank? method, for a list of core extensions, see {file:docs/CoreExtensions.md docs/CoreExtensions}.

use extra extension

	require "pathname"
	require "tagen/pathname"

or

	require "tagen/pathname" # auto require "pathname"

this will add #path method to Pathname, see API doc.

Requirements
------------

	tested: ruby1.9 linux

An Introduction to Pa 
---------------------

	require "tagen/core"
	pa = Pa('/home/foo')
	pa.exists? #=> false
	pa.dir #=> '/home'
	pa.base #=> 'foo'
	pa.join('a.ogg') #=> '/home/a.ogg'
	pa.join(a.ogg).exists? #=> true.

	Pa.exists?('/home/foo') # alternate way

which rspec

	Pa('/home/foo').should be_exists

more see API doc

An Introduction to PyFormat
---------------------------

	require "tagen/core"
	"I like %{fruit} and %{sport}".format('apple', 'football') 
	"I like %{fruit} and %{sport}".format(apple: 'apple', footbal: 'football') 

	"it costs %{howmatch:.2f} dollars".format(1.123) #=> "it costs 1.12 dollars"
	
more see API doc


Documentation
-------------
* {file:docs/CoreExtensions.md CoreExtensions} A list of core extensions.
* {file:docs/ExtraExtensions.md ExtraExtensions} A list of extra extensions.
* {file:docs/Architecture.md Architecture} Source code architecture.

Install
----------
	gem install tagen

Contributing
-------------
* report bugs/featues to issue tracker.
* fork it and pull a request.
* improve documentation.
* any ideas are welcome.

Contributors
------------

WORD-III


Copyright
---------
Copyright &copy; 2011 by Guten. this library released under MIT-License, See {file:LICENSE} for futher details.

asddf
asdf

{'fraction_non_alphanumeric': 0.1827774637271528, 'fraction_numerical': 0.00546448087431694, 'mean_word_length': 3.479324894514768, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 27, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3761650', 'n_tokens_mistral': 1717, 'n_tokens_neox': 1595, 'n_words': 544}