The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.44 - 2015-06-30

  • Added UR::Context::AutoUnloadPool - a mechanism for automatically unloading objects when a leaving a scope. Added methods to UR::Object::Type to introspect methods names relating to is_many properties. The MetaDB no longer tracks owner/schema. Classes using tables not in the default schema should have their table_name listed as "schema.table". Added copy() constructor to UR::Object Removed old, deprecated filter parser for turning text into a UR::BoolExpr within UR::Object::Command::List Meta-params like -order_by are now allowed in a delegated property's where clase. Retrieving values for doubly-delegated properties is more efficient. An id-by delegated property can point to a class with multiple ID properties. The linking value is the composite ID. Observers now have a 'once' property. Setting it to true ensures the callback will only ever fire one time. The Observer is deleted. Properties can have a 'calculated_default' subref. Works like default_value, but the return value from the subref is the default value rather than have a hardcoded default. Fixes to work with newer versions of SQLite Added __rollback__() to UR::Object, called when the base Context rolls-back. Subclasses can override this to provide special behavior during rollback. The override should also call SUPER::__rollback__().

Documentation

ur
command-line interface to UR
Environment variables that control UR behavior
Short list of UR's documentation
Recepies for getting things working
Overview of the metadata classes in UR
UR from Ten Thousand Feet
Slides for a presenation on UR
Tips for designing an efficient schema for UR
Step-by-step guide to building a set of classes for a simple database schema
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
tools to create and maintain a ur class tree

Modules

auto-generate sub-commands based on other classes
base class for modules implementing the command pattern
base class for modules implementing the command pattern
UR
rich declarative transactional objects
a "where clause" for objects
a UR::BoolExpr minus specific values
a rule which is true if ALL the underlying conditions are true
an "and" or "or" rule
a rule which is true if ANY of the underlying conditions are true
implements logic for rules with a logic_type of "PropertyComparison"
evaluates to true if the property's value is false
perform a greater than or equal test
Test whether a value is-a subclass of another class
perform a Perl regular expression match
perform a negated In comparison
perform a negated SQL-ish like test
Evaluates to true if the property's value is true
non-OO module to collect utility functions used by the BoolExpr modules
Manage the current state of the application
Automaticaly unload objects when scope ends
The base context used when no special base context is specified
Track closures used to fabricate objects from data sources
Impliments a generic interface to the current application.
API for software transactions
methods for interacting with a database.
a database report interface
manage the the relationship between objects and a specific storage system
Parent class for data sources using DBD::CSV
Parent class for file-based data sources
Parent class for datasources which can multiplex many files together
Get and save objects to delimited text files
Data source for the MetaDB
MySQL specific subclass of UR::DataSource::RDBMS
Oracle specific subclass of UR::DataSource::RDBMS
PostgreSQL specific subclass of UR::DataSource::RDBMS
Abstract base class for RDBMS-type data sources
metadata about a data source's bitmap indexes
Parent class for all MetaDB-sourced classes
metadata about a data source's foreign keys
metadata about a data source's foreign keys
metadata about a data source's primary keys
Object-oriented class for RDBMS table objects.
View class for RDBMS table objects
metadata about a data source's table's columns
View class for RDBMS column objects
metadata about a data source's unique constraints
base class for datasources using the SQLite3 RDBMS
Controls for debugging behavior
Represents an instance of a no-longer-existent object
methods to allow clean application exits.
Methods common to all UR classes and object instances.
a Module::Build subclass with UR extensions
manage dynamic configuration of modules.
UR hooks into Class::Autouse
Manage collections of packages and classes
Top-level Command module for the UR namespace commands
WebApp for browsing the class structure
transactional, queryable, process-independent entities
Base class for fetching objects and then performing a function on/with them.
Fetches and lists objects in different styles.
Fetches and lists objects in different styles.
Abstract class for representing deleted objects not yet committed
Indexing system for retrieving objects by non-id properties
API for iterating through objects matching a rule
Class representing metadata about a class property
View class for UR::Object::Property
View class for UR::Object::Property
View class for UR::Object::Property
Transitory attribute tags for a UR::Object at a given time.
a meta-class for any class or primitive type
Helper module for UR::Object::Type responsible for creating accessors for properties
Implements a calculation accessor which multiplies the values of its properties
Implements a calculation accessor which sums the values of its properties
Class definition syntax
Helper module for UR::Object::Type responsible for writing Perl modules
View class for class metaobjects
View class for class metaobjects
a base class for "views" of UR::Objects
a specification for one aspect of a view
Gtk adaptor for object views
Gtk2 adaptor for object views
represent object state in HTML format
object views in text format
represent object state in XML format
base class for views which use XSL on an XML view to generate content
represent object state in HTML format
Declaration of Text as a View toolkit type
restores changes removed in UR version 0.01
restores changes removed in UR version 0.04
bind callbacks to object changes
A self-contained JSON-RPC server for UR namespaces
Base class for modules implementing RPC executers
Serializable object appropriate for sending RPC messages
Class for implementing RPC servers
PSGI-aware router for incoming requests
A PSGI-based web server
Abstract class for implementing singleton objects
Collection of utility subroutines and methods
auto "use lib" when a module is in the tree of the PWD

Provides

in lib/Command.pm
in lib/Command/Common.pm
in lib/Command/Shell.pm
in lib/Command/SubCommandFactory.pm
in lib/Command/Test.pm
in lib/Command/Test/Echo.pm
in lib/Command/Test/Tree1.pm
in lib/Command/Test/Tree1/Echo1.pm
in lib/Command/Test/Tree1/Echo2.pm
in lib/Devel/callcount.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/BoolExpr/BxParser.pm
in lib/UR/BoolExpr/BxParser.pm
in lib/UR/BoolExpr/Util.pm
in lib/UR/Change.pm
in lib/UR/Context/LoadingIterator.pm
in lib/UR/Context/Root.pm
in lib/UR/DBI.pm
in lib/UR/DBI.pm
in lib/UR/DataSource/Code.pm
in lib/UR/DataSource/Default.pm
in lib/UR/DataSource/Pg/Operator/False.pm
in lib/UR/DataSource/Pg/Operator/True.pm
in lib/UR/DataSource/QueryPlan.pm
in lib/UR/DataSource/RDBMS/Operator/Between.pm
in lib/UR/DataSource/RDBMS/Operator/Equals.pm
in lib/UR/DataSource/RDBMS/Operator/False.pm
in lib/UR/DataSource/RDBMS/Operator/GreaterOrEqual.pm
in lib/UR/DataSource/RDBMS/Operator/GreaterThan.pm
in lib/UR/DataSource/RDBMS/Operator/In.pm
in lib/UR/DataSource/RDBMS/Operator/LessOrEqual.pm
in lib/UR/DataSource/RDBMS/Operator/LessThan.pm
in lib/UR/DataSource/RDBMS/Operator/Like.pm
in lib/UR/DataSource/RDBMS/Operator/NotBetween.pm
in lib/UR/DataSource/RDBMS/Operator/NotEquals.pm
in lib/UR/DataSource/RDBMS/Operator/NotIn.pm
in lib/UR/DataSource/RDBMS/Operator/NotLike.pm
in lib/UR/DataSource/RDBMS/Operator/True.pm
in lib/UR/DataSource/RDBMSRetriableOperations.pm
in lib/UR/DataSource/ValueDomain.pm
in lib/UR/Doc/Pod2Html.pm
in lib/UR/Doc/Section.pm
in lib/UR/Doc/Writer.pm
in lib/UR/Doc/Writer/Html.pm
in lib/UR/Doc/Writer/Pod.pm
in lib/UR/Env/UR_COMMAND_DUMP_DEBUG_MESSAGES.pm
in lib/UR/Env/UR_COMMAND_DUMP_STATUS_MESSAGES.pm
in lib/UR/Env/UR_CONTEXT_BASE.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_HIGHWATER.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_LOWWATER.pm
in lib/UR/Env/UR_USED_LIBS.pm
in lib/UR/Env/UR_CONTEXT_MONITOR_QUERY.pm
in lib/UR/Env/UR_CONTEXT_ROOT.pm
in lib/UR/Env/UR_DBI_DUMP_STACK_ON_CONNECT.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_CALLSTACK.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_IF.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_MATCH.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_SLOW.pm
in lib/UR/Env/UR_DBI_MONITOR_DML.pm
in lib/UR/Env/UR_DBI_MONITOR_EVERY_FETCH.pm
in lib/UR/Env/UR_DBI_MONITOR_SQL.pm
in lib/UR/Env/UR_DBI_NO_COMMIT.pm
in lib/UR/Env/UR_DBI_SUMMARIZE_SQL.pm
in lib/UR/Env/UR_DEBUG_OBJECT_PRUNING.pm
in lib/UR/Env/UR_DEBUG_OBJECT_RELEASE.pm
in lib/UR/Env/UR_DUMP_DEBUG_MESSAGES.pm
in lib/UR/Env/UR_DUMP_STATUS_MESSAGES.pm
in lib/UR/Env/UR_IGNORE.pm
in lib/UR/Env/UR_NO_REQUIRE_USER_VERIFY.pm
in lib/UR/Env/UR_NR_CPU.pm
in lib/UR/Env/UR_RUN_LONG_TESTS.pm
in lib/UR/Env/UR_STACK_DUMP_ON_DIE.pm
in lib/UR/Env/UR_STACK_DUMP_ON_WARN.pm
in lib/UR/Env/UR_TEST_QUIET.pm
in lib/UR/Env/UR_USED_MODS.pm
in lib/UR/Env/UR_USE_ANY.pm
in lib/UR/Env/UR_USE_DUMMY_AUTOGENERATED_IDS.pm
in lib/UR/ObjectDeprecated.pm
in lib/UR/Namespace/Command.pm
in lib/UR/Namespace/Command/Define.pm
in lib/UR/Namespace/Command/Define/Class.pm
in lib/UR/Namespace/Command/Define/Datasource.pm
in lib/UR/Namespace/Command/Define/Datasource/File.pm
in lib/UR/Namespace/Command/Define/Datasource/Mysql.pm
in lib/UR/Namespace/Command/Define/Datasource/Oracle.pm
in lib/UR/Namespace/Command/Define/Datasource/Pg.pm
in lib/UR/Namespace/Command/Define/Datasource/Rdbms.pm
in lib/UR/Namespace/Command/Define/Datasource/RdbmsWithAuth.pm
in lib/UR/Namespace/Command/Define/Datasource/Sqlite.pm
in lib/UR/Namespace/Command/Define/Db.pm
in lib/UR/Namespace/Command/Define/Namespace.pm
in lib/UR/Namespace/Command/Init.pm
in lib/UR/Namespace/Command/List.pm
in lib/UR/Namespace/Command/List/Classes.pm
in lib/UR/Namespace/Command/List/Modules.pm
in lib/UR/Namespace/Command/List/Objects.pm
in lib/UR/Namespace/Command/Old.pm
in lib/UR/Namespace/Command/Old/DiffRewrite.pm
in lib/UR/Namespace/Command/Old/DiffUpdate.pm
in lib/UR/Namespace/Command/Old/ExportDbicClasses.pm
in lib/UR/Namespace/Command/Old/Info.pm
in lib/UR/Namespace/Command/Old/Redescribe.pm
in lib/UR/Namespace/Command/RunsOnModulesInTree.pm
in lib/UR/Namespace/Command/Show.pm
in lib/UR/Namespace/Command/Show/Properties.pm
in lib/UR/Namespace/Command/Show/Schema.pm
in lib/UR/Namespace/Command/Show/Subclasses.pm
in lib/UR/Namespace/Command/Sys.pm
in lib/UR/Namespace/Command/Sys/ClassBrowser.pm
in lib/UR/Namespace/Command/Test.pm
in lib/UR/Namespace/Command/Test/Callcount.pm
in lib/UR/Namespace/Command/Test/Callcount/List.pm
in lib/UR/Namespace/Command/Test/Compile.pm
in lib/UR/Namespace/Command/Test/Eval.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/TrackObjectRelease.pm
in lib/UR/Namespace/Command/Test/Use.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Update.pm
in lib/UR/Namespace/Command/Update/ClassDiagram.pm
in lib/UR/Namespace/Command/Update/ClassesFromDb.pm
in lib/UR/Namespace/Command/Update/Doc.pm
in lib/UR/Namespace/Command/Update/Pod.pm
in lib/UR/Namespace/Command/Update/RenameClass.pm
in lib/UR/Namespace/Command/Update/RewriteClassHeader.pm
in lib/UR/Namespace/Command/Update/SchemaDiagram.pm
in lib/UR/Namespace/Command/Update/TabCompletionSpec.pm
in lib/UR/Object/Accessorized.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Join.pm
in lib/UR/Object/Set.pm
in lib/UR/Object/Set/View/Default/Html.pm
in lib/UR/Object/Set/View/Default/Json.pm
in lib/UR/Object/Set/View/Default/Text.pm
in lib/UR/Object/Set/View/Default/Xml.pm
in lib/UR/Object/Type/View/AvailableViews/Json.pm
in lib/UR/Object/Type/View/AvailableViews/Xml.pm
in lib/UR/Object/Value.pm
in lib/UR/Object/View/Default/Json.pm
in lib/UR/Object/View/Lister/Text.pm
in lib/UR/Service/RPC/TcpConnectionListener.pm
in lib/UR/Service/WebServer/Server.pm
in lib/UR/Test.pm
in lib/UR/Util/ArrayRefIterator.pm
in lib/UR/Value.pm
in lib/UR/Value/ARRAY.pm
in lib/UR/Value/Blob.pm
in lib/UR/Value/Boolean.pm
in lib/UR/Value/Boolean/View/Default/Text.pm
in lib/UR/Value/CODE.pm
in lib/UR/Value/CSV.pm
in lib/UR/Value/DateTime.pm
in lib/UR/Value/Decimal.pm
in lib/UR/Value/DirectoryPath.pm
in lib/UR/Value/FOF.pm
in lib/UR/Value/FilePath.pm
in lib/UR/Value/FilesystemPath.pm
in lib/UR/Value/Float.pm
in lib/UR/Value/GLOB.pm
in lib/UR/Value/HASH.pm
in lib/UR/Value/Integer.pm
in lib/UR/Value/Iterator.pm
in lib/UR/Value/JSON.pm
in lib/UR/Value/Number.pm
in lib/UR/Value/PerlReference.pm
in lib/UR/Value/REF.pm
in lib/UR/Value/SCALAR.pm
in lib/UR/Value/Set.pm
in lib/UR/Value/SloppyPrimitive.pm
in lib/UR/Value/String.pm
in lib/UR/Value/Text.pm
in lib/UR/Value/Timestamp.pm
in lib/UR/Value.pm
in lib/UR/Value/URL.pm
in lib/UR/Value/View/Default/Html.pm
in lib/UR/Value/View/Default/Json.pm
in lib/UR/Value/View/Default/Text.pm
in lib/UR/Value/View/Default/Xml.pm
in lib/UR/Vocabulary.pm
in lib/UR/Object/Type/Initializer.pm