Initial commit.  Migrated over spec suite
from the extraction of the abstractor code
in the application it was originally developed
inside of.  No UI testing or implementation 
is here yet.
Downgrade to Rails 3.2.17.
Fix typo in name of helper file.
Remove some cruft left over from reuse of
code from other project.
Fix some duplication configuration options
in spec_helper.rb
Forgot to commit the newly renamed helper file
from previous commit.
Add in paper_trails gem to track changes to
the abstractor_abstractions table.
Add specific class to jQuery UI dialog to help
with testing later.
Add specific class to jQuery UI dialog to help
with testing later.
Add paper_trail gem to track changes to 
abstractor_abstractions table.
* Big refactor to give up on letting namespaced
models handle a lot of magic.  I don't like
how it makes you go against a lot of Rails
conventions, like foreign key references not
matching parent table names.

* Also replaced subject in abstractor_abstractions
and abstractor_abstraction_groups with a
a polymorphic relationship named about.
Implement the creation of abstractions for
abstractor rule type of 'unknown'.  The 
'unknown' rule type will be useful for scenarios
where the system will not even attempt to make
a suggestion but a reviewable abstraction is
desired.
Change Abstractable#detect_abstractor_abstraction
to detect abstractions based on an abstractor_subject
instead of an abstractor_abstraction_schema.
It is conceivable that the same
abstractor_abstraction_schema could be used
more than once for an entity.  For example,
a measurement schema in 2 different groups.
Add support for displaying short lists as
radio buttons.  Requested by the NBTI data
coordinator.
Add top-level abstractor folder to copying of
models during the 'customize-models' option
of the abstractor:install generator.
Fix some typos in the encounter_note_spec.rb
caused by some overzealous search and replace.
Rename all the models in the /lib/generators/
abstractor/install/templates/models 
directory.
Experimenting with requiring the
'stanford-core-nlp' library explicitly.
Having problems with it not being loaded
in apps using the gem.
Put back CLASSPATH setting for the negation
detection library into the main Abstractor
module.
Add support for the from_method in the
abstractor_abstraction_sources table to
return a complex object. 

Most of the time a user of Abstractor will simply
want to define a data point to abstract against
a textual column defined by the from_method
column in abstractor_abstraction_sources.  But
sometimes things might need to be more complex.
The specific example that drove this was trying
to abstract cancer diagnosis for pathology
specimens.  The textual fragment relevant for
abstracting a cancer diagnosis for a pathology
specimen was variable.  Could come from multiple
different sources that could only be determined
at run time.

So now the from_method is expected to return
a string or an array of hashes -- each hash expected
to follow this format:

{ source_type: ?, source_id: ? , source_method: ? }

Abstractor::AbstractorAbstractionSource#normalize_from_method_to_sources
was added to normalize the from_method to an array
of such hashes.  The various methods in AbstractorSubject
now call this method to normalize every from_method
to an array of such hashes.