# HG changeset patch
# User cin
# Date 1441384823 -10800
# Node ID c6e90e02dd17e214210fcdf4ab996125abfe9cd6
# Parent f23fcb19d3c1b2684289a42539580b2a84e2998d
renamed Lib->lib
diff -r f23fcb19d3c1 -r c6e90e02dd17 .includepath
--- a/.includepath Mon Aug 31 20:22:16 2015 +0300
+++ b/.includepath Fri Sep 04 19:40:23 2015 +0300
@@ -1,5 +1,5 @@
-
+
diff -r f23fcb19d3c1 -r c6e90e02dd17 Lib/IMPL.pm
--- a/Lib/IMPL.pm Mon Aug 31 20:22:16 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-package IMPL;
-use strict;
-
-use IMPL::_core qw(setDebug);
-use IMPL::_core::version;
-
-sub import {
- my ($opts) = @_;
-
- if (ref $opts eq 'HASH') {
- setDebug($$opts{Debug}) if exists $$opts{Debug};
- }
-}
-
-1;
diff -r f23fcb19d3c1 -r c6e90e02dd17 Lib/IMPL/AppException.pm
--- a/Lib/IMPL/AppException.pm Mon Aug 31 20:22:16 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-package IMPL::AppException;
-use strict;
-use mro 'c3';
-use overload
- '""' => 'ToString',
- 'bool' => sub { return 1; },
- 'fallback' => 1;
-
-use Carp qw(longmess shortmess);
-use Scalar::Util qw(refaddr);
-
-use IMPL::Const qw(:prop);
-use IMPL::Resources::Strings {
- message => "Application exception"
-};
-
-use IMPL::declare {
- base => [
- 'IMPL::Object' => undef
- ],
- props => [
- source => PROP_RO,
- callStack => PROP_RO,
- ]
-};
-
-sub new {
- my $self = shift;
-
- my $instance = $self->next::method(@_);
-
- $instance->source(shortmess);
- $instance->callStack(longmess);
-
- return $instance;
-}
-
-sub ToString {
- my ($this) = @_;
-
- return join("\n", $this->message, $this->callStack);
-}
-
-sub throw {
- my $self = shift;
-
- die $self->new(@_);
-}
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-C - исключение приложения.
-
-=head1 SYNOPSIS
-
-=begin code
-
-package MyException;
-use strict;
-
-use IMPL::Const qw(:prop);
-use IMPL::declare {
- base => [
- 'IMPL::AppException' => undef
- ],
- props => [
- level => PROP_RO
- ]
-};
-
-use IMPL::Resources::Strings {
- message => "Something wrong at level %level%"
-};
-
-sub CTOR {
- my ($this,$level) = @_;
-
- $this->level($level);
-}
-
-=end code
-
-=head1 DESCRIPTION
-
-Для описания собственных исключений в качестве базового класса должен
-использоваться C поскольку он позволяет использовать
-C и объявлять свойства.
-
-C также является классом для исключений, однако поскольку
-он используется в базовых механизмах библиотеки, то в нем не реализованы
-механизмы для описания свойсвт.
-
-Исключение имеет свойство C которое возвращает текст с описанием
-проблемы, данное свойство можно реализовать с использованием
-C для реализации поддержки нескольких языков.
-
-Особенностью тсключений также является то, что при их создании автоматически
-фиксируется место, где оно было создано и свойства C