abstractor 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/MIT-LICENSE +20 -0
- data/README.md +14 -0
- data/Rakefile +33 -0
- data/app/assets/images/abstractor/add.png +0 -0
- data/app/assets/images/abstractor/ajax-loader.gif +0 -0
- data/app/assets/images/abstractor/bar.gif +0 -0
- data/app/assets/images/abstractor/bti_logo.jpg +0 -0
- data/app/assets/images/abstractor/bullet_arrow_down.png +0 -0
- data/app/assets/images/abstractor/bullet_arrow_up.png +0 -0
- data/app/assets/images/abstractor/cog.png +0 -0
- data/app/assets/images/abstractor/delete.png +0 -0
- data/app/assets/images/abstractor/edit.png +0 -0
- data/app/assets/images/abstractor/excel.png +0 -0
- data/app/assets/images/abstractor/favicon.ico +0 -0
- data/app/assets/images/abstractor/greencheck.gif +0 -0
- data/app/assets/images/abstractor/loading.gif +0 -0
- data/app/assets/images/abstractor/nu_logo.jpg +0 -0
- data/app/assets/images/abstractor/nubic_logo.png +0 -0
- data/app/assets/images/abstractor/page.png +0 -0
- data/app/assets/images/abstractor/rails.png +0 -0
- data/app/assets/images/abstractor/robert_h_lurie.jpg +0 -0
- data/app/assets/images/abstractor/show.png +0 -0
- data/app/assets/images/abstractor/switch_minus.gif +0 -0
- data/app/assets/images/abstractor/switch_plus.gif +0 -0
- data/app/assets/javascripts/abstractor/abstractor.js +89 -0
- data/app/assets/javascripts/abstractor/application.js +21 -0
- data/app/assets/javascripts/abstractor/combobox.js +301 -0
- data/app/assets/javascripts/abstractor/jquery/jquery.form.js +1074 -0
- data/app/assets/javascripts/abstractor/nested_attributes.js +69 -0
- data/app/assets/stylesheets/abstractor/abstractor_abstractions.css +312 -0
- data/app/assets/stylesheets/abstractor/application.css +21 -0
- data/app/assets/stylesheets/abstractor/jquery.ui.override.css.scss +73 -0
- data/app/controllers/abstractor/abstractor_abstraction_groups_controller.rb +5 -0
- data/app/controllers/abstractor/abstractor_abstractions_controller.rb +5 -0
- data/app/controllers/abstractor/abstractor_suggestions_controller.rb +5 -0
- data/app/controllers/abstractor/application_controller.rb +2 -0
- data/app/helpers/abstractor/application_helper.rb +4 -0
- data/app/models/abstractor/abstractor_abstraction.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_group.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_group_member.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_schema.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_schema_object_value.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_schema_predicate_variant.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_schema_relation.rb +6 -0
- data/app/models/abstractor/abstractor_abstraction_source.rb +6 -0
- data/app/models/abstractor/abstractor_object_type.rb +6 -0
- data/app/models/abstractor/abstractor_object_value.rb +6 -0
- data/app/models/abstractor/abstractor_object_value_variant.rb +6 -0
- data/app/models/abstractor/abstractor_relation_type.rb +6 -0
- data/app/models/abstractor/abstractor_rule_type.rb +6 -0
- data/app/models/abstractor/abstractor_subject.rb +6 -0
- data/app/models/abstractor/abstractor_subject_group.rb +6 -0
- data/app/models/abstractor/abstractor_subject_group_member.rb +6 -0
- data/app/models/abstractor/abstractor_subject_relation.rb +6 -0
- data/app/models/abstractor/abstractor_suggestion.rb +6 -0
- data/app/models/abstractor/abstractor_suggestion_object_value.rb +6 -0
- data/app/models/abstractor/abstractor_suggestion_source.rb +6 -0
- data/app/models/abstractor/abstractor_suggestion_status.rb +6 -0
- data/app/views/abstractor/abstractor_abstraction_groups/_form.html.haml +10 -0
- data/app/views/abstractor/abstractor_abstraction_groups/edit.html.haml +1 -0
- data/app/views/abstractor/abstractor_abstractions/_fields.html.haml +63 -0
- data/app/views/abstractor/abstractor_abstractions/_list.html.haml +45 -0
- data/app/views/abstractor/abstractor_abstractions/edit.html.haml +53 -0
- data/app/views/abstractor/abstractor_abstractions/show.html.haml +1 -0
- data/app/views/abstractor/shared/_error_messages.html.haml +5 -0
- data/config/cucumber.yml +8 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20131227205140_create_abstractor_object_types.rb +10 -0
- data/db/migrate/20131227205219_create_abstractor_object_values.rb +10 -0
- data/db/migrate/20131227205256_create_abstractor_object_value_variants.rb +11 -0
- data/db/migrate/20131227205320_create_abstractor_relation_types.rb +10 -0
- data/db/migrate/20131227205354_create_abstractor_rule_types.rb +11 -0
- data/db/migrate/20131227205432_create_abstractor_abstraction_schemas.rb +13 -0
- data/db/migrate/20131227205456_create_abstractor_abstraction_schema_object_values.rb +10 -0
- data/db/migrate/20131227205529_create_abstractor_abstraction_schema_predicate_variants.rb +11 -0
- data/db/migrate/20131227205610_create_abstractor_abstraction_schema_relations.rb +11 -0
- data/db/migrate/20131227205652_create_abstractor_subjects.rb +12 -0
- data/db/migrate/20131227205732_create_abstractor_subject_relations.rb +11 -0
- data/db/migrate/20131227205831_create_abstractor_abstraction_sources.rb +11 -0
- data/db/migrate/20131227210211_create_abstractor_subject_groups.rb +10 -0
- data/db/migrate/20131227210244_create_abstractor_subject_group_members.rb +11 -0
- data/db/migrate/20131227210350_create_abstractor_abstraction_groups.rb +12 -0
- data/db/migrate/20131227210353_create_abstractor_abstraction_group_members.rb +11 -0
- data/db/migrate/20131227211050_create_abstractor_suggestion_statuses.rb +10 -0
- data/db/migrate/20131227211303_create_abstractor_abstractions.rb +15 -0
- data/db/migrate/20131227213427_create_abstractor_suggestions.rb +14 -0
- data/db/migrate/20131228041944_create_abstractor_suggestion_object_values.rb +11 -0
- data/db/migrate/20131228041945_create_abstractor_suggestion_sources.rb +16 -0
- data/db/seeds.rb +0 -0
- data/lib/abstractor.rb +8 -0
- data/lib/abstractor/abstractable.rb +190 -0
- data/lib/abstractor/core_ext/string.rb +99 -0
- data/lib/abstractor/engine.rb +14 -0
- data/lib/abstractor/methods/controllers/abstractor_abstraction_groups_controller.rb +37 -0
- data/lib/abstractor/methods/controllers/abstractor_abstractions_controller.rb +42 -0
- data/lib/abstractor/methods/controllers/abstractor_suggestions_controller.rb +28 -0
- data/lib/abstractor/methods/models/abstractor_abstraction.rb +65 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_group.rb +37 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_group_member.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_schema.rb +27 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_schema_object_value.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_schema_predicate_variant.rb +16 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_schema_relation.rb +18 -0
- data/lib/abstractor/methods/models/abstractor_abstraction_source.rb +29 -0
- data/lib/abstractor/methods/models/abstractor_object_type.rb +16 -0
- data/lib/abstractor/methods/models/abstractor_object_value.rb +24 -0
- data/lib/abstractor/methods/models/abstractor_object_value_variant.rb +16 -0
- data/lib/abstractor/methods/models/abstractor_relation_type.rb +16 -0
- data/lib/abstractor/methods/models/abstractor_rule_type.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_subject.rb +258 -0
- data/lib/abstractor/methods/models/abstractor_subject_group.rb +19 -0
- data/lib/abstractor/methods/models/abstractor_subject_group_member.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_subject_relation.rb +18 -0
- data/lib/abstractor/methods/models/abstractor_suggestion.rb +88 -0
- data/lib/abstractor/methods/models/abstractor_suggestion_object_value.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_suggestion_source.rb +17 -0
- data/lib/abstractor/methods/models/abstractor_suggestion_status.rb +29 -0
- data/lib/abstractor/methods/models/soft_delete.rb +35 -0
- data/lib/abstractor/negation_detection.rb +43 -0
- data/lib/abstractor/parser.rb +76 -0
- data/lib/abstractor/setup.rb +24 -0
- data/lib/abstractor/user_interface.rb +40 -0
- data/lib/abstractor/utility.rb +8 -0
- data/lib/abstractor/version.rb +3 -0
- data/lib/generators/abstractor/install/install_generator.rb +118 -0
- data/lib/generators/abstractor/install/templates/controllers/abstractor_abstraction_groups_controller.rb +16 -0
- data/lib/generators/abstractor/install/templates/controllers/abstractor_abstractions_controller.rb +24 -0
- data/lib/generators/abstractor/install/templates/controllers/abstractor_suggestions_controller.rb +12 -0
- data/lib/generators/abstractor/install/templates/dictionaries.yml +235 -0
- data/lib/generators/abstractor/install/templates/helpers/abstractions_helper.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_group.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_group_member.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_schema.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_schema_object_value.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_schema_predicate_variant.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_schema_relation.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_abstraction_source.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_object_type.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_object_value.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_object_value_variant.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_relation_type.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_rule_type.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_subject.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_subject_group.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_subject_group_member.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_subject_relation.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_suggestion.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_suggestion_object_value.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_suggestion_source.rb +9 -0
- data/lib/generators/abstractor/install/templates/models/abstractor_suggestion_status.rb +9 -0
- data/lib/lingscope/build.xml +74 -0
- data/lib/lingscope/build/built-jar.properties +4 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/AbnerTokenizer.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/AnnotationComparer.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/Annotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/BaselineAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/BaselineCueAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/BaselineScopeAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/CrfAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/NegexAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/NegexCueAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/NegexScopeAnnotator.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/PosTagger.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/negex/GenNegEx.class +0 -0
- data/lib/lingscope/build/classes/lingscope/algorithms/negex/Sorter.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/AnnotatedFilesMerger.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/AnnotationComparerDriver.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/BaselineDriver.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/CrfDriver.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/CueAndPosFilesMerger.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/ModelTrainer.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/NegexDriver.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/PosTaggerDriver.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/SentencePosTagger.class +0 -0
- data/lib/lingscope/build/classes/lingscope/drivers/SentenceTagger.class +0 -0
- data/lib/lingscope/build/classes/lingscope/io/AnnotatedSentencesIO.class +0 -0
- data/lib/lingscope/build/classes/lingscope/structures/AnnotatedSentence.class +0 -0
- data/lib/lingscope/dist/README.TXT +32 -0
- data/lib/lingscope/dist/javadoc/allclasses-frame.html +80 -0
- data/lib/lingscope/dist/javadoc/allclasses-noframe.html +80 -0
- data/lib/lingscope/dist/javadoc/constant-values.html +199 -0
- data/lib/lingscope/dist/javadoc/deprecated-list.html +147 -0
- data/lib/lingscope/dist/javadoc/help-doc.html +224 -0
- data/lib/lingscope/dist/javadoc/index-files/index-1.html +188 -0
- data/lib/lingscope/dist/javadoc/index-files/index-10.html +149 -0
- data/lib/lingscope/dist/javadoc/index-files/index-11.html +158 -0
- data/lib/lingscope/dist/javadoc/index-files/index-12.html +157 -0
- data/lib/lingscope/dist/javadoc/index-files/index-13.html +177 -0
- data/lib/lingscope/dist/javadoc/index-files/index-14.html +155 -0
- data/lib/lingscope/dist/javadoc/index-files/index-15.html +152 -0
- data/lib/lingscope/dist/javadoc/index-files/index-16.html +146 -0
- data/lib/lingscope/dist/javadoc/index-files/index-2.html +158 -0
- data/lib/lingscope/dist/javadoc/index-files/index-3.html +165 -0
- data/lib/lingscope/dist/javadoc/index-files/index-4.html +146 -0
- data/lib/lingscope/dist/javadoc/index-files/index-5.html +219 -0
- data/lib/lingscope/dist/javadoc/index-files/index-6.html +149 -0
- data/lib/lingscope/dist/javadoc/index-files/index-7.html +155 -0
- data/lib/lingscope/dist/javadoc/index-files/index-8.html +185 -0
- data/lib/lingscope/dist/javadoc/index-files/index-9.html +164 -0
- data/lib/lingscope/dist/javadoc/index.html +74 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/AbnerTokenizer.html +280 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/AnnotationComparer.html +526 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/Annotator.html +401 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/BaselineAnnotator.html +375 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/BaselineCueAnnotator.html +309 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/BaselineScopeAnnotator.html +340 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/CrfAnnotator.html +340 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/NegexAnnotator.html +364 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/NegexCueAnnotator.html +309 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/NegexScopeAnnotator.html +309 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/PosTagger.html +268 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/AbnerTokenizer.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/AnnotationComparer.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/Annotator.html +299 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/BaselineAnnotator.html +189 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/BaselineCueAnnotator.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/BaselineScopeAnnotator.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/CrfAnnotator.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/NegexAnnotator.html +189 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/NegexCueAnnotator.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/NegexScopeAnnotator.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/class-use/PosTagger.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/GenNegEx.html +369 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/Sorter.html +253 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/class-use/GenNegEx.html +181 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/class-use/Sorter.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/package-frame.html +35 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/package-summary.html +165 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/package-tree.html +154 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/negex/package-use.html +174 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/package-frame.html +53 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/package-summary.html +198 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/package-tree.html +160 -0
- data/lib/lingscope/dist/javadoc/lingscope/algorithms/package-use.html +202 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/AnnotatedFilesMerger.html +284 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/AnnotationComparerDriver.html +258 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/BaselineDriver.html +260 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/CrfDriver.html +262 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/CueAndPosFilesMerger.html +310 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/ModelTrainer.html +281 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/NegexDriver.html +262 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/PosTaggerDriver.html +289 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/SentencePosTagger.html +313 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/SentenceTagger.html +512 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/AnnotatedFilesMerger.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/AnnotationComparerDriver.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/BaselineDriver.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/CrfDriver.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/CueAndPosFilesMerger.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/ModelTrainer.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/NegexDriver.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/PosTaggerDriver.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/SentencePosTagger.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/class-use/SentenceTagger.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/package-frame.html +51 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/package-summary.html +195 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/package-tree.html +154 -0
- data/lib/lingscope/dist/javadoc/lingscope/drivers/package-use.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/AnnotatedSentencesIO.html +285 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/class-use/AnnotatedSentencesIO.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/package-frame.html +33 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/package-summary.html +158 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/package-tree.html +154 -0
- data/lib/lingscope/dist/javadoc/lingscope/io/package-use.html +145 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/AnnotatedSentence.html +425 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/class-use/AnnotatedSentence.html +423 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/package-frame.html +33 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/package-summary.html +158 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/package-tree.html +154 -0
- data/lib/lingscope/dist/javadoc/lingscope/structures/package-use.html +209 -0
- data/lib/lingscope/dist/javadoc/overview-frame.html +51 -0
- data/lib/lingscope/dist/javadoc/overview-summary.html +168 -0
- data/lib/lingscope/dist/javadoc/overview-tree.html +159 -0
- data/lib/lingscope/dist/javadoc/package-list +5 -0
- data/lib/lingscope/dist/javadoc/resources/inherit.gif +0 -0
- data/lib/lingscope/dist/javadoc/stylesheet.css +29 -0
- data/lib/lingscope/dist/lib/abner.jar +0 -0
- data/lib/lingscope/dist/lib/commons-lang-2.4.jar +0 -0
- data/lib/lingscope/dist/lib/java_utils.jar +0 -0
- data/lib/lingscope/dist/lib/sptoolkit.jar +0 -0
- data/lib/lingscope/dist/lib/stanford-postagger.jar +0 -0
- data/lib/lingscope/dist/lingscope.jar +0 -0
- data/lib/lingscope/lingscope.zip +0 -0
- data/lib/lingscope/manifest.mf +3 -0
- data/lib/lingscope/nbproject/build-impl.xml +1338 -0
- data/lib/lingscope/nbproject/genfiles.properties +8 -0
- data/lib/lingscope/nbproject/private/config.properties +0 -0
- data/lib/lingscope/nbproject/private/private.properties +10 -0
- data/lib/lingscope/nbproject/private/private.xml +5 -0
- data/lib/lingscope/nbproject/project.properties +85 -0
- data/lib/lingscope/nbproject/project.xml +15 -0
- data/lib/lingscope/negation_models.zip +0 -0
- data/lib/lingscope/negation_models/baseline_cue_all_both.model +49 -0
- data/lib/lingscope/negation_models/baseline_cue_all_clinical.model +19 -0
- data/lib/lingscope/negation_models/crf_cue_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_cue_all_clinical.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_cue_crf_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_cue_crf_all_clinical.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_cue_regex_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_cue_regex_all_clinical.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_all_clinical.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_crf_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_crf_all_clinical.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_regex_all_both.model +0 -0
- data/lib/lingscope/negation_models/crf_scope_words_regex_all_clinical.model +0 -0
- data/lib/lingscope/src/lingscope/algorithms/AbnerTokenizer.java +58 -0
- data/lib/lingscope/src/lingscope/algorithms/AnnotationComparer.java +207 -0
- data/lib/lingscope/src/lingscope/algorithms/Annotator.java +51 -0
- data/lib/lingscope/src/lingscope/algorithms/BaselineAnnotator.java +80 -0
- data/lib/lingscope/src/lingscope/algorithms/BaselineCueAnnotator.java +84 -0
- data/lib/lingscope/src/lingscope/algorithms/BaselineScopeAnnotator.java +101 -0
- data/lib/lingscope/src/lingscope/algorithms/CrfAnnotator.java +45 -0
- data/lib/lingscope/src/lingscope/algorithms/NegexAnnotator.java +52 -0
- data/lib/lingscope/src/lingscope/algorithms/NegexCueAnnotator.java +26 -0
- data/lib/lingscope/src/lingscope/algorithms/NegexScopeAnnotator.java +26 -0
- data/lib/lingscope/src/lingscope/algorithms/PosTagger.java +54 -0
- data/lib/lingscope/src/lingscope/algorithms/negex/GenNegEx.java +530 -0
- data/lib/lingscope/src/lingscope/algorithms/negex/Sorter.java +36 -0
- data/lib/lingscope/src/lingscope/drivers/AnnotatedFilesMerger.java +61 -0
- data/lib/lingscope/src/lingscope/drivers/AnnotationComparerDriver.java +22 -0
- data/lib/lingscope/src/lingscope/drivers/BaselineDriver.java +45 -0
- data/lib/lingscope/src/lingscope/drivers/CrfDriver.java +31 -0
- data/lib/lingscope/src/lingscope/drivers/CueAndPosFilesMerger.java +86 -0
- data/lib/lingscope/src/lingscope/drivers/ModelTrainer.java +39 -0
- data/lib/lingscope/src/lingscope/drivers/NegexDriver.java +32 -0
- data/lib/lingscope/src/lingscope/drivers/PosTaggerDriver.java +62 -0
- data/lib/lingscope/src/lingscope/drivers/SentencePosTagger.java +89 -0
- data/lib/lingscope/src/lingscope/drivers/SentenceTagger.java +158 -0
- data/lib/lingscope/src/lingscope/io/AnnotatedSentencesIO.java +53 -0
- data/lib/lingscope/src/lingscope/structures/AnnotatedSentence.java +105 -0
- data/lib/setup/data/ICD-O-3_CSV-metadata/Morphenglish.csv +1 -0
- data/lib/setup/data/ICD-O-3_CSV-metadata/Morphenglish.txt +2273 -0
- data/lib/setup/data/ICD-O-3_CSV-metadata/Topoenglish.csv +1 -0
- data/lib/setup/data/ICD-O-3_CSV-metadata/Topoenglish.txt +1342 -0
- data/lib/setup/data/ICD-O-3_CSV-metadata/icd-o3 readme.txt +21 -0
- data/lib/setup/data/custom_site_synonyms.csv +1 -0
- data/lib/setup/data/diagnosis_categorizations.csv +1 -0
- data/lib/setup/data/high_level_primary_cns_diagnosis_categorizations.yml +597 -0
- data/lib/setup/data/icdo3_sites_with_laterality.txt +11 -0
- data/lib/setup/data/site_site_categories.txt +28 -0
- data/lib/tasks/abstractor_tasks.rake +22 -0
- data/lib/tasks/cucumber.rake +65 -0
- metadata +754 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module Methods
|
3
|
+
module Models
|
4
|
+
module AbstractorSuggestionObjectValue
|
5
|
+
def self.included(base)
|
6
|
+
base.send :include, SoftDelete
|
7
|
+
|
8
|
+
# Associations
|
9
|
+
base.send :belongs_to, :abstractor_suggestion
|
10
|
+
base.send :belongs_to, :abstractor_object_value
|
11
|
+
|
12
|
+
base.send :attr_accessible, :abstractor_suggestion, :abstractor_suggestion_id, :abstractor_object_value, :abstractor_object_value_id, :deleted_at
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module Methods
|
3
|
+
module Models
|
4
|
+
module AbstractorSuggestionSource
|
5
|
+
def self.included(base)
|
6
|
+
base.send :include, SoftDelete
|
7
|
+
|
8
|
+
# Associations
|
9
|
+
base.send :belongs_to, :abstractor_abstraction_source
|
10
|
+
base.send :belongs_to, :abstractor_suggestion
|
11
|
+
|
12
|
+
base.send :attr_accessible, :abstractor_abstraction_source, :abstractor_abstraction_source_id, :abstractor_suggestion, :abstractor_suggestion_id, :source_id, :source_type, :source_method, :match_value, :deleted_at, :sentence_match_value
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module Methods
|
3
|
+
module Models
|
4
|
+
module AbstractorSuggestionStatus
|
5
|
+
def self.included(base)
|
6
|
+
base.send :include, SoftDelete
|
7
|
+
|
8
|
+
# Associations
|
9
|
+
base.send :has_many, :abstractor_suggestions
|
10
|
+
|
11
|
+
base.send :attr_accessible, :deleted_at, :name
|
12
|
+
end
|
13
|
+
|
14
|
+
# Instance Methods
|
15
|
+
def needs_review?
|
16
|
+
name == 'Needs review'
|
17
|
+
end
|
18
|
+
|
19
|
+
def accepted?
|
20
|
+
name == 'Accepted'
|
21
|
+
end
|
22
|
+
|
23
|
+
def rejected?
|
24
|
+
name == 'Rejected'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module Methods
|
3
|
+
module Models
|
4
|
+
module SoftDelete
|
5
|
+
def self.included(base)
|
6
|
+
attr_accessor :soft_delete
|
7
|
+
base.send(:scope, :not_deleted, -> { base.where(:deleted_at => nil) })
|
8
|
+
end
|
9
|
+
|
10
|
+
def process_soft_delete
|
11
|
+
self.deleted_at = Time.zone.now
|
12
|
+
end
|
13
|
+
|
14
|
+
def soft_delete=(removed)
|
15
|
+
if (removed.is_a?(TrueClass) || removed.to_s == 't' || removed.to_s == '1')
|
16
|
+
process_soft_delete
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def soft_delete
|
21
|
+
!self.deleted_at.blank?
|
22
|
+
end
|
23
|
+
|
24
|
+
def soft_delete!
|
25
|
+
process_soft_delete
|
26
|
+
save!
|
27
|
+
end
|
28
|
+
|
29
|
+
def deleted?
|
30
|
+
!deleted_at.blank?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module NegationDetection
|
3
|
+
def self.clear_invalid_utf8_bytes(scoped_sentence)
|
4
|
+
scoped_sentence = scoped_sentence.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.parse_negation_scope(sentence)
|
8
|
+
parse_results = { :sentence => nil, :scoped_sentence => nil }
|
9
|
+
if sentence
|
10
|
+
parse_results[:sentence] = sentence
|
11
|
+
parse_results[:scoped_sentence] = clear_invalid_utf8_bytes(NegationDetection.parse(sentence))
|
12
|
+
end
|
13
|
+
parse_results
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.negated_match_value?(scoped_sentence, match_value)
|
17
|
+
negated = !scoped_sentence.scan('|B-S').empty? && match_value.split(' ').all? do |match_value_token|
|
18
|
+
!(scoped_sentence.scan(Regexp.new(match_value_token + '\|I-S')).empty?)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.manual_negated_match_value?(sentence, match_value)
|
23
|
+
negated = false
|
24
|
+
['non-','\bthere is no evidence of a ', '\bthere is no evidence of a metastatic ', '\binsufficient to make the diagnosis of ', '\binsufficient to make the diagnosis of metastatic ', '\binsufficient for the diagnosis of ', '\binsufficient for the diagnosis of metastatic ', '\brule out ', '\brule out metastatic ', '\bnegative for ', '\bnegative for metastatic ', '\bno ', '\bno metastatic ', '\bnot ', '\bnot metastatic ', '\bno evidence of ', '\bno evidence of metastatic ', '\bno evidence of a ', '\bno evidence of a metastatic ', '\brules out the possibility of a ', '\brules out the possibility of a metastatic ', '\bto exclude the possibility of ', '\bto exclude the possibility of metastic '].each do |negation_cue|
|
25
|
+
if !(sentence.downcase.scan(Regexp.new(negation_cue + match_value.downcase)).empty?)
|
26
|
+
negated = true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
[' is not seen\b', ' less likely\b'].each do |negation_cue|
|
31
|
+
if !(sentence.downcase.scan(Regexp.new(match_value.downcase + negation_cue)).empty?)
|
32
|
+
negated = true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
negated
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.parse(sentence)
|
40
|
+
`java lingscope.drivers.SentenceTagger scope crf #{File.expand_path('../../', __FILE__)}/lingscope/negation_models/crf_scope_words_all_both.model "#{sentence}"`
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'stanford-core-nlp'
|
2
|
+
module Abstractor
|
3
|
+
class Parser
|
4
|
+
attr_accessor :sentences, :abstractor_text
|
5
|
+
|
6
|
+
def initialize(abstractor_text)
|
7
|
+
@abstractor_text = abstractor_text
|
8
|
+
|
9
|
+
pipeline = StanfordCoreNLP.load(:tokenize, :ssplit)
|
10
|
+
t = StanfordCoreNLP::Annotation.new(@abstractor_text)
|
11
|
+
pipeline.annotate(t)
|
12
|
+
if @abstractor_text
|
13
|
+
@sentences = t.get(:sentences).to_a.map do |s|
|
14
|
+
{
|
15
|
+
:range => s.get(:character_offset_begin).to_s.to_i..s.get(:character_offset_end).to_s.to_i,
|
16
|
+
:begin_position => s.get(:character_offset_begin).to_s.to_i,
|
17
|
+
:end_position => s.get(:character_offset_end).to_s.to_i,
|
18
|
+
:sentence => @abstractor_text[s.get(:character_offset_begin).to_s.to_i..s.get(:character_offset_end).to_s.to_i].downcase
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def scan(token, options = {})
|
25
|
+
options[:word_boundary] = true if options[:word_boundary].nil?
|
26
|
+
regular_expression = prepare_token(token, options)
|
27
|
+
at = prepare_abstractor_text
|
28
|
+
if (regular_expression.nil? || at.nil?)
|
29
|
+
[]
|
30
|
+
else
|
31
|
+
at.scan(regular_expression)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def match(token)
|
36
|
+
regular_expression = prepare_token(token)
|
37
|
+
prepare_abstractor_text.match(regular_expression) unless regular_expression.nil?
|
38
|
+
end
|
39
|
+
|
40
|
+
def range_all(token)
|
41
|
+
regular_expression = prepare_token(token)
|
42
|
+
prepare_abstractor_text.range_all(regular_expression) unless regular_expression.nil?
|
43
|
+
end
|
44
|
+
|
45
|
+
def match_position(match)
|
46
|
+
match.pre_match.size
|
47
|
+
end
|
48
|
+
|
49
|
+
def match_sentence(sentence, token)
|
50
|
+
regular_expression = prepare_token(token)
|
51
|
+
sentence.match(prepare_token(token)) unless regular_expression.nil?
|
52
|
+
end
|
53
|
+
|
54
|
+
def find_sentence(range)
|
55
|
+
@sentences.detect { |sentence| sentence[:range].include?(range) }
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
def prepare_abstractor_text
|
60
|
+
@abstractor_text.downcase unless @abstractor_text.nil?
|
61
|
+
end
|
62
|
+
|
63
|
+
def prepare_token(token, options = {})
|
64
|
+
options[:word_boundary] = true if options[:word_boundary].nil?
|
65
|
+
begin
|
66
|
+
if options[:word_boundary]
|
67
|
+
Regexp.new('\b' + token.downcase + '\b')
|
68
|
+
else
|
69
|
+
Regexp.new(token.downcase)
|
70
|
+
end
|
71
|
+
rescue
|
72
|
+
nil
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module Setup
|
3
|
+
def self.system
|
4
|
+
Abstractor::AbstractorObjectType.create(:value => 'list')
|
5
|
+
Abstractor::AbstractorObjectType.create(:value => 'number')
|
6
|
+
Abstractor::AbstractorObjectType.create(:value => 'boolean')
|
7
|
+
Abstractor::AbstractorObjectType.create(:value => 'string')
|
8
|
+
Abstractor::AbstractorObjectType.create(:value => 'radio button list')
|
9
|
+
|
10
|
+
Abstractor::AbstractorRuleType.create(:name => 'name/value', :description => 'search for value associated with name')
|
11
|
+
Abstractor::AbstractorRuleType.create(:name =>'name', :description => 'search for name match')
|
12
|
+
Abstractor::AbstractorRuleType.create(:name =>'value', :description => 'search for value match')
|
13
|
+
Abstractor::AbstractorRuleType.create(:name =>'unknown', :description => 'do not try to abstract, always assign "unknown"')
|
14
|
+
Abstractor::AbstractorRuleType.create(:name =>'custom', :description => 'use whatever from_method returns as a value')
|
15
|
+
|
16
|
+
Abstractor::AbstractorSuggestionStatus.create(:name => 'Needs review')
|
17
|
+
Abstractor::AbstractorSuggestionStatus.create(:name => 'Accepted')
|
18
|
+
Abstractor::AbstractorSuggestionStatus.create(:name => 'Rejected')
|
19
|
+
|
20
|
+
Abstractor::AbstractorRelationType.create(:name => 'member_of')
|
21
|
+
Abstractor::AbstractorRelationType.create(:name => 'preceded_by')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Abstractor
|
2
|
+
##
|
3
|
+
# A collection of helper methods used in the Abstactor user interface.
|
4
|
+
module UserInterface
|
5
|
+
#2/16/2014 MGURLEY Stolen from http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html. Rails 3.2.16.
|
6
|
+
# Removed the cleverness trying skip highlighting content it thinks is html markup.
|
7
|
+
def self.highlight(text, phrases, *args)
|
8
|
+
options = args.extract_options!
|
9
|
+
unless args.empty?
|
10
|
+
options[:highlighter] = args[0] || '<strong class="highlight">\1</strong>'
|
11
|
+
end
|
12
|
+
options.reverse_merge!(:highlighter => '<strong class="highlight">\1</strong>')
|
13
|
+
|
14
|
+
# text = sanitize(text) unless options[:sanitize] == false
|
15
|
+
if text.blank? || phrases.blank?
|
16
|
+
text
|
17
|
+
else
|
18
|
+
match = Array(phrases).map { |p| Regexp.escape(p) }.join('|')
|
19
|
+
text.gsub(/(#{match})/i, options[:highlighter])
|
20
|
+
end.html_safe
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Transforms a path to account for a relative url root.
|
25
|
+
# URL helpers in Rails Engine views and partials embedded in view in the host application don't play well with relative url roots.
|
26
|
+
# @param path [String] the URL path that should have a relative prefix added if needed
|
27
|
+
# @return [String] the processed URL
|
28
|
+
def self.abstractor_relative_path(path)
|
29
|
+
prefix = Rails.application.config.action_controller.relative_url_root
|
30
|
+
|
31
|
+
if prefix.blank? || path.include?(prefix)
|
32
|
+
url = path
|
33
|
+
else
|
34
|
+
url = prefix + path
|
35
|
+
end
|
36
|
+
|
37
|
+
url
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "rails/generators"
|
3
|
+
|
4
|
+
module Abstractor
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
class_option "no-migrate", :type => :boolean
|
7
|
+
class_option "customize-all", :type => :boolean
|
8
|
+
class_option "customize-controllers", :type => :boolean
|
9
|
+
class_option "customize-models", :type => :boolean
|
10
|
+
class_option "customize-helpers", :type => :boolean
|
11
|
+
class_option "customize-layout", :type => :boolean
|
12
|
+
class_option "current-user-helper", :type => :string
|
13
|
+
|
14
|
+
def self.source_paths
|
15
|
+
paths = self.superclass.source_paths
|
16
|
+
paths << File.expand_path("../templates", __FILE__)
|
17
|
+
paths.flatten
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Used to install Abstractor"
|
21
|
+
|
22
|
+
def install_migrations
|
23
|
+
unless options["no-migrations"]
|
24
|
+
puts "Copying over Abstractor migrations..."
|
25
|
+
Dir.chdir(Rails.root) do
|
26
|
+
`rake abstractor:install:migrations`
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
## shameless steal from forem git://github.com/radar/forem.git
|
32
|
+
def add_abstractor_user_method
|
33
|
+
current_user_helper = options["current-user-helper"].presence ||
|
34
|
+
ask("What is the current_user helper called in your app? [current_user]").presence ||
|
35
|
+
'current_user if defined?(current_user)'
|
36
|
+
puts "Defining abstractor_user method inside ApplicationController..."
|
37
|
+
|
38
|
+
abstractor_user_method = %Q{
|
39
|
+
def abstractor_user
|
40
|
+
#{current_user_helper}
|
41
|
+
end
|
42
|
+
helper_method :abstractor_user
|
43
|
+
}
|
44
|
+
inject_into_file("#{Rails.root}/app/controllers/application_controller.rb",
|
45
|
+
abstractor_user_method,
|
46
|
+
:after => "ActionController::Base\n")
|
47
|
+
end
|
48
|
+
|
49
|
+
def run_migrations
|
50
|
+
unless options["no-migrate"]
|
51
|
+
puts "Running rake db:migrate"
|
52
|
+
`rake db:migrate`
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def seed_database_with_setup_system
|
57
|
+
unless options["no-migrate"]
|
58
|
+
puts "Running rake abstractor:setup:system"
|
59
|
+
`rake abstractor:setup:system`
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def mount_engine
|
64
|
+
puts "Mounting Abstractor::Engine at \"/\" in config/routes.rb..."
|
65
|
+
insert_into_file("#{Rails.root}/config/routes.rb", :after => /routes.draw.do\n/) do
|
66
|
+
%Q{ mount Abstractor::Engine, :at => "/"\n}
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# def sample_abstraction_schema
|
71
|
+
# path = "#{Rails.root}/lib"
|
72
|
+
# empty_directory "#{path}/setup"
|
73
|
+
# copy_file "abstraction_schema.yml", "#{path}/setup/abstraction_schema.yml"
|
74
|
+
# end
|
75
|
+
|
76
|
+
def make_customizable
|
77
|
+
if options["customize-all"] || options["customize-controllers"]
|
78
|
+
path = "#{Rails.root}/app/controllers/abstractor"
|
79
|
+
empty_directory path
|
80
|
+
copy_file "controllers/abstractor_abstraction_groups_controller.rb", "#{path}/abstractor_abstraction_groups_controller.rb"
|
81
|
+
copy_file "controllers/abstractor_abstractions_controller.rb", "#{path}/abstractor_abstractions_controller.rb"
|
82
|
+
copy_file "controllers/abstractor_suggestions_controller.rb", "#{path}/abstractor_suggestions_controller.rb"
|
83
|
+
end
|
84
|
+
|
85
|
+
if options["customize-all"] || options["customize-helpers"]
|
86
|
+
path = "#{Rails.root}/app"
|
87
|
+
empty_directory "#{path}/helpers/abstractor"
|
88
|
+
copy_file "helpers/abscractions_helper.rb", "#{path}/helpers/abstractor/abscractions_helper.rb"
|
89
|
+
end
|
90
|
+
|
91
|
+
if options["customize-all"] || options["customize-models"]
|
92
|
+
path = "#{Rails.root}/app"
|
93
|
+
empty_directory "#{path}/models/abstractor"
|
94
|
+
copy_file "models/abstractor_abstraction_group_member.rb", "#{path}/models/abstractor/abstractor_abstraction_group_member.rb"
|
95
|
+
copy_file "models/abstractor_abstraction_group.rb", "#{path}/models/abstractor/abstractor_abstraction_group.rb"
|
96
|
+
copy_file "models/abstractor_abstraction_schema_object_value.rb", "#{path}/models/abstractor/abstractor_abstraction_schema_object_value.rb"
|
97
|
+
copy_file "models/abstractor_abstraction_schema_predicate_variant.rb", "#{path}/models/abstractor/abstractor_abstraction_schema_predicate_variant.rb"
|
98
|
+
copy_file "models/abstractor_abstraction_schema_relation.rb", "#{path}/models/abstractor/abstractor_abstraction_schema_relation.rb"
|
99
|
+
copy_file "models/abstractor_abstraction_schema.rb", "#{path}/models/abstractor/abstractor_abstraction_schema.rb"
|
100
|
+
copy_file "models/abstractor_abstraction_source.rb", "#{path}/models/abstractor/abstractor_abstraction_source.rb"
|
101
|
+
copy_file "models/abstractor_abstraction.rb", "#{path}/models/abstractor/abstractor_abstraction.rb"
|
102
|
+
copy_file "models/abstractor_object_type.rb", "#{path}/models/abstractor/abstractor_object_type.rb"
|
103
|
+
copy_file "models/abstractor_object_value_variant.rb", "#{path}/models/abstractor/abstractor_object_value_variant.rb"
|
104
|
+
copy_file "models/abstractor_object_value.rb", "#{path}/models/abstractor/abstractor_object_value.rb"
|
105
|
+
copy_file "models/abstractor_relation_type.rb", "#{path}/models/abstractor/abstractor_relation_type.rb"
|
106
|
+
copy_file "models/abstractor_rule_type.rb", "#{path}/models/abstractor/abstractor_rule_type.rb"
|
107
|
+
copy_file "models/abstractor_subject_group_member.rb", "#{path}/models/abstractor/abstractor_subject_group_member.rb"
|
108
|
+
copy_file "models/abstractor_subject_group.rb", "#{path}/models/abstractor/abstractor_subject_group.rb"
|
109
|
+
copy_file "models/abstractor_subject_relation.rb", "#{path}/models/abstractor/abstractor_subject_relation.rb"
|
110
|
+
copy_file "models/abstractor_subject.rb", "#{path}/models/abstractor/abstractor_subject.rb"
|
111
|
+
copy_file "models/abstractor_suggestion_object_value.rb", "#{path}/models/abstractor/abstractor_suggestion_object_value.rb"
|
112
|
+
copy_file "models/abstractor_suggestion_source.rb", "#{path}/models/abstractor/abstractor_suggestion_source.rb"
|
113
|
+
copy_file "models/abstractor_suggestion_status.rb", "#{path}/models/abstractor/abstractor_suggestion_status.rb"
|
114
|
+
copy_file "models/abstractor_suggestion_status.rb", "#{path}/models/abstractor/abstractor_suggestion.rb"
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Abstractor
|
2
|
+
module AbstractorAbstractionGroupsControllerCustomMethods
|
3
|
+
def create
|
4
|
+
super
|
5
|
+
end
|
6
|
+
|
7
|
+
def destroy
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class AbstractorAbstractionGroupsController < ApplicationController
|
13
|
+
include Abstractor::Methods::Controllers::AbstractorAbstractionGroupsController
|
14
|
+
include Abstractor::AbstractorAbstractionGroupsControllerCustomMethods
|
15
|
+
end
|
16
|
+
end
|