コード例 #1
0
 public static function fromInteger(IntVal $integer, $force = true)
 {
     if (!$force && $integer->lessThan(new Number(1))) {
         throw new ValueNotConvertibleException($integer);
     }
     return parent::fromInteger($integer, $force);
 }
コード例 #2
0
 /**
  * Returns a new RelativeHumidity object
  *
  * @param int $value
  */
 public function __construct($value)
 {
     $options = array('options' => array('min_range' => self::MIN, 'max_range' => self::MAX));
     $value = filter_var($value, FILTER_VALIDATE_INT, $options);
     if (false === $value) {
         throw new InvalidNativeArgumentException($value, array('int (>=' . self::MIN . ', <=' . self::MAX . ')'));
     }
     parent::__construct($value);
 }
コード例 #3
0
ファイル: Integer.php プロジェクト: valueobjects/number
 /**
  * fromNatural.
  *
  * @param Natural $natural
  *
  * @return static
  */
 public static function fromNatural(Natural $natural)
 {
     return new static($natural->value());
 }
コード例 #4
0
ファイル: bootstrap.php プロジェクト: cultuurnet/udb3-silex
$app['role_users_read_repository'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Doctrine\Event\ReadModel\CacheDocumentRepository($app['role_users_cache']);
});
$app['role_users_projector'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Role\ReadModel\Users\RoleUsersProjector($app['role_users_read_repository'], $app['user_identity_resolver']);
});
$app['event_export_notification_mail_factory'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\EventExport\Notification\Swift\DefaultMessageFactory(new \CultuurNet\UDB3\EventExport\Notification\DefaultPlainTextBodyFactory(), new \CultuurNet\UDB3\EventExport\Notification\DefaultHTMLBodyFactory(), new \CultuurNet\UDB3\EventExport\Notification\LiteralSubjectFactory($app['config']['export']['mail']['subject']), $app['config']['mail']['sender']['address'], $app['config']['mail']['sender']['name']);
});
$app['event_export'] = $app->share(function ($app) {
    $service = new \CultuurNet\UDB3\EventExport\EventExportService($app['personal_variation_decorated_event_service'], $app['search_service'], new \Broadway\UuidGenerator\Rfc4122\Version4Generator(), realpath(__DIR__ . '/web/downloads'), new CallableIriGenerator(function ($fileName) use($app) {
        return $app['config']['url'] . '/downloads/' . $fileName;
    }), new \CultuurNet\UDB3\EventExport\Notification\Swift\NotificationMailer($app['mailer'], $app['event_export_notification_mail_factory']), $app['search_results_generator']);
    return $service;
});
$app['amqp-execution-delay'] = isset($app['config']['amqp_execution_delay']) ? Natural::fromNative($app['config']['amqp_execution_delay']) : Natural::fromNative(10);
$app['logger.amqp.event_bus_forwarder'] = $app->share(function (Application $app) {
    $logger = new Monolog\Logger('amqp.event_bus_forwarder');
    $logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stdout'));
    $logFileHandler = new \Monolog\Handler\StreamHandler(__DIR__ . '/log/amqp.log', \Monolog\Logger::DEBUG);
    $logger->pushHandler($logFileHandler);
    return $logger;
});
$app['uitpas'] = $app->share(function (Application $app) {
    /** @var CultureFeed $culturefeed */
    $cultureFeed = $app['culturefeed'];
    return $cultureFeed->uitpas();
});
$app['logger.uitpas'] = $app->share(function (Application $app) {
    $logger = new Monolog\Logger('uitpas');
    $logger->pushHandler(new \Monolog\Handler\StreamHandler(__DIR__ . '/log/uitpas.log'));
コード例 #5
0
 /**
  * @param StringLiteral $exchange
  * @param StringLiteral $queue
  * @return EventBusForwardingConsumer
  */
 public function create(StringLiteral $exchange, StringLiteral $queue)
 {
     $eventBusForwardingConsumer = new EventBusForwardingConsumer($this->connection, $this->eventBus, $this->deserializerLocator, $this->consumerTag, $exchange, $queue, $this->executionDelay->toNative());
     $eventBusForwardingConsumer->setLogger($this->logger);
     return $eventBusForwardingConsumer;
 }