Skip to content

Commit

Permalink
Bump
Browse files Browse the repository at this point in the history
  • Loading branch information
f3l1x committed Dec 20, 2016
1 parent d23fbbc commit c286164
Show file tree
Hide file tree
Showing 24 changed files with 1,102 additions and 59 deletions.
26 changes: 26 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# EditorConfig is awesome: http://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# JS / PHP
[*.{js,php,phpt}]
charset = utf-8
indent_style = tab
indent_size = 4

# NEON
[*.neon]
charset = utf-8
indent_style = tab
indent_size = 4

# Composer, NPM, Travis, BitbucketPipelines
[{composer.json,package.json,.travis.yml,bitbucket-pipelines.yml}]
indent_style = space
indent_size = 2
54 changes: 34 additions & 20 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
language: php

php:
- 5.6
- 7.0
- 7.1
- hhvm
- 5.6
- 7.0
- 7.1
- hhvm
- hhvm-nightly

matrix:
fast_finish: true

allow_failures:
- php: hhvm
- php: hhvm-nightly

include:
Expand All @@ -23,27 +28,36 @@ matrix:
- php: 7.1
env: COMPOSER_FLAG=--prefer-stable

sudo: false

before_script:
# Update Composer
- travis_retry composer self-update
# Composer
- travis_retry composer install --no-interaction
# Coverage
- if [[ "$TRAVIS_PHP_VERSION" == "7.0" && "$COMPOSER_FLAG" == "" ]]; then COVERAGE=1; fi

# Install Nette Tester
- travis_retry composer update --no-interaction --prefer-source $COMPOSER_FLAG
script:
# Quality Assurance
- composer run-script qa-linter
- composer run-script qa-codesniffer

# Coveralls
- if [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then cat ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini >> ./tests/php-unix.ini; fi
- if [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then NTESTER_FLAGS="--coverage ./coverage.xml --coverage-src ./src"; else TESTER_FLAGS=""; fi
# Nette\Tester
- composer run-script qa-tester-info
- composer run-script qa-tester

script:
- vendor/bin/tester tests/cases -s -p php -c tests/php-unix.ini $NTESTER_FLAGS
# Nette\Tester + CodeCoverage
- if [ "$COVERAGE" != "" ]; then composer run-script qa-tester-coverage-info; fi
- if [ "$COVERAGE" != "" ]; then composer run-script qa-tester-coverage; fi

after_script:
# Coveralls
- if [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then composer require satooshi/php-coveralls; fi
- if [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then php vendor/bin/coveralls -c tests/.coveralls.yml -v; fi
# Coverage (Coveralls)
- if [ "$COVERAGE" != "" ]; then wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar; fi
- if [ "$COVERAGE" != "" ]; then php coveralls.phar --verbose --config tests/.coveralls.yml; fi

after_failure:
# Print *.actual content
- 'for i in $(find tests -name \*.actual); do echo "--- $i"; cat $i; echo; echo; done'
# Print *.actual content
- for i in $(find tests -name \*.actual); do echo "--- $i"; cat $i; echo; echo; done

sudo: false

cache:
directories:
- $HOME/.composer/cache
97 changes: 92 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,108 @@
# Utils
# Contributte > Utils

Extra pre-packed contribution to [nette/utils](https://github.com/nette/utils).
:sparkles: Extra contribution to [`nette/utils`](https://github.com/nette/utils).

-----

[![Build Status](https://img.shields.io/travis/contributte/utils.svg?style=flat-square)](https://travis-ci.org/contributte/utils)
[![Code coverage](https://img.shields.io/coveralls/contributte/utils.svg?style=flat-square)](https://coveralls.io/r/contributte/utils)
[![Downloads this Month](https://img.shields.io/packagist/dm/contributte/utils.svg?style=flat-square)](https://packagist.org/packages/contributte/utils)
[![Downloads total](https://img.shields.io/packagist/dt/contributte/utils.svg?style=flat-square)](https://packagist.org/packages/contributte/utils)
[![Latest stable](https://img.shields.io/packagist/v/contributte/utils.svg?style=flat-square)](https://packagist.org/packages/contributte/utils)
[![Latest unstable](https://img.shields.io/packagist/vpre/contributte/utils.svg?style=flat-square)](https://packagist.org/packages/contributte/utils)
[![Licence](https://img.shields.io/packagist/l/contributte/utils.svg?style=flat-square)](https://packagist.org/packages/contributte/utils)
[![HHVM Status](https://img.shields.io/hhvm/contributte/utils.svg?style=flat-square)](http://hhvm.h4cc.de/package/contributte/utils)

## Discussion / Help

[![Join the chat](https://img.shields.io/gitter/room/contributte/contributte.svg?style=flat-square)](https://gitter.im/contributte/contributte?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Install

```sh
```
composer require contributte/utils
```

-----
## Usage

- `Contributte\Utils\DateTime`
- `Contributte\Utils\DateTimeFactory`
- `Contributte\Utils\Fields`
- `Contributte\Utils\FileSystem`
- `Contributte\Utils\Strings`
- `Contributte\Utils\Urls`
- `Contributte\Utils\Validators`

### `DateTime` && `DateTimeFactory`

This extesions register simple `DateTime` provider -> `DateTimeFactory`.

```yml
extensions:
datetime: Contributte\Utils\DI\DateTimeFactoryExtension
```
You can use default or override it by our own implementation:
```php
services:
datetime.factory: App\Model\MyDateTimeFactory
```
Another useful methods added to `DateTime`:

- `setCurrentTime()`
- `setZeroTime() && resetTime()`
- `setMidnight()`
- `setToday()`
- `getFirstDayOfWeek()`
- `getLastDayOfWeek()`
- `getFirstDayOfMonth()`
- `getLastDayOfMonth()`
- `getFirstDayOfYear()`
- `getLastDayOfYear()`

### `Fields`

Collections of functions for normalizing input:

- `inn($inn)`
- `tin($tin)`
- `zip($zip)`
- `phone($phone)`

### `FileSystem`

Collection of extra functions:

- `pathalize($path)`
- `extension($file)`
- `purge($purge)`


### `Strings`

Collection of extra functions:

- `replacePrefix($s, $search, $replacement = '')`
- `replaceSuffix($s, $search, $replacement = '')`
- `spaceless($s)`
- `doublespaceless($s)`
- `dashless($s)`

### `Urls`

Collection of extra functions:

- `hasFragment($url)`

### `Validators`

Collection of extra functions:

- `isIco($s)`
- `isRc($s)`

---

Thanks for testing, reporting and contributing.
Thank you for testing, reporting and contributing.
70 changes: 65 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,85 @@
{
"name": "contributte/utils",
"description": "Extra contrib to nette/utils",
"keywords": ["nette", "utils", "strings", "filesystem", "datetime"],
"type": "library",
"license": ["MIT"],
"license": "MIT",
"homepage": "https://github.com/contributte/utils",
"authors": [
{
"name": "Milan Felix Sulc",
"homepage": "http://jfx.cz"
"homepage": "https://jfx.cz"
}
],
"require": {
"php": ">= 5.6",
"nette/utils": "~2.4.0"
"nette/utils": "^2.4.1"
},
"require-dev": {
"nette/tester": "~1.7.0"
"ninjify/qa": "^0.3.3",
"ninjify/nunjuck": "^0.1.4",
"nette/di": "^2.4.4"
},
"suggest": {
"nette/di": "to use DateTimeExtension[CompilerExtension]"
},
"autoload": {
"psr-4": {
"Contributte\\Utils\\": "src/"
"Contributte\\Utils\\": "src"
}
},
"autoload-dev": {
"psr-4": {
}
},
"scripts": {
"qa": [
"@qa-linter",
"@qa-codesniffer"
],
"ci": [
"@qa-linter",
"@qa-codesniffer",
"@qa-tester-info",
"@qa-tester"
],
"qa-codesniffer": [
"Ninjify\\Composer\\Script\\CodeSniffer::execute"
],
"qa-codefixer": [
"Ninjify\\Composer\\Script\\CodeFixer::execute"
],
"qa-linter": [
"Ninjify\\Composer\\Script\\Linter::execute"
],
"qa-tester": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini"
],
"qa-tester-info": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini -i"
],
"qa-tester-coverage": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src"
],
"qa-tester-coverage-info": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src -i"
]
},
"extra": {
"ninjify": {
"qa": {
"codesniffer": {
"ruleset": "nette",
"folders": ["src", "tests"]
},
"codefixer": {
"ruleset": "nette",
"folders": ["src", "tests"]
},
"linter": {
"folders": ["src", "tests"]
}
}
}
}
}
29 changes: 29 additions & 0 deletions src/DI/DateTimeFactoryExtension.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

namespace Contributte\Utils\DI;

use Contributte\Utils\DatetimeFactory;
use Contributte\Utils\IDateTimeFactory;
use Nette\DI\CompilerExtension;

/**
* @author Milan Felix Sulc <sulcmil@gmail.com>
*/
class DateTimeFactoryExtension extends CompilerExtension
{

/**
* Register services
*
* @return void
*/
public function loadConfiguration()
{
$builder = $this->getContainerBuilder();

$builder->addDefinition($this->prefix('factory'))
->setClass(IDateTimeFactory::class)
->setFactory(DatetimeFactory::class);
}

}
Loading

0 comments on commit c286164

Please sign in to comment.