abstractor 4.4.5 → 4.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OWRjNmRkZWM4YjJlOGNhNjczYjQ1ZTU5NmY0M2ViOTdkYzY5MGYxOA==
5
- data.tar.gz: !binary |-
6
- MThlNjVmNjA2ZGZjZWI4ZTQ0YmU1MTk2Y2Y0ZmJkOWMyMDFhNzMxYg==
2
+ SHA1:
3
+ metadata.gz: e7d0b9fb48329318abd361e3eeef76241dfcaa08
4
+ data.tar.gz: c7cda84ae92d8df52577cfe1fd8f81b1879d16b5
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NTZiOGY4NmEyYmMwMThmMTJiNGFjMzBlMWE1YTBiZTM2NWRiNTU5ZDU3MTY1
10
- ZTM3NzY1NmI4MjVkZWYzMTVkMTg0OWM4YTYzNjlhNDI0NDY2NmI3OTI3YWRh
11
- ZmM1N2Y5YTIxNGZkMzhkNTU5OWYxM2QzOTc3OGZkZTA3ODMzMWY=
12
- data.tar.gz: !binary |-
13
- NzlkYzk2OWY3YzNkZTlhMjcyYWFkNWQzZDhkNTY2MDgxMmRjZjg4NzdkYWVl
14
- YzVjNzVkOGJiZTExZjdlMWVlN2FlYWZhYzA0ZjRjODJkOTQ0Y2YxMzAzMzJi
15
- OWExZTExZTM2ODZjMzZiYTRiNmI0Y2RiNjY5OTJmMWZkNGI0MTI=
6
+ metadata.gz: 70364e510d210a244ed4eddd30ae450821b3781e93a6f928f38acbee24ff799c8c08bb6a12250077da2036ee4b28cf1ca6ef99a5ab4d6999723743ca4da167d1
7
+ data.tar.gz: fda6d27cc818cb951dbfce411055cf36f56707065ae698bb999167364f86892367812a5c0e82ec9e9df5f5d1397583d6aae23ab67a22293906be9739fe4fbb24
@@ -9,12 +9,9 @@
9
9
  .abstractor_abstraction_schema_name
10
10
  = abstractor_abstraction_schema.display_name
11
11
  .abstractor_abstraction_value
12
- - if rejected_suggestions.length == abstractor_suggestions.length
13
- %span.editable_abstraction
14
- = abstractor_abstraction.display_value
15
- = link_to 'edit', Abstractor::UserInterface.abstractor_relative_path(abstractor.edit_abstractor_abstraction_path(abstractor_abstraction)), :class=>'edit_link'
16
- - else
12
+ %span.editable_abstraction
17
13
  = abstractor_abstraction.display_value
14
+ = link_to 'edit', Abstractor::UserInterface.abstractor_relative_path(abstractor.edit_abstractor_abstraction_path(abstractor_abstraction)), class: 'edit_link'
18
15
  - versions = abstractor_abstraction.versions.sort{|a,b| b.created_at <=> a.created_at}.reject{|v| v.reify.blank? || v.reify.display_value =~ /not set/i}
19
16
  = render partial: 'abstractor/abstractor_abstractions/abstraction_history', locals: { versions: versions }
20
17
  .abstractor_suggestions
@@ -393,6 +393,7 @@ module Abstractor
393
393
  #
394
394
  # * 'needs_review': Filter abstractable entites having at least one abstraction without a determined value (value, unknown or not_applicable).
395
395
  # * 'reviewed': Filter abstractable entites having no abstractions without a determined value (value, unknown or not_applicable).
396
+ # * 'partially reviewed': Filter abstractable entites having both abstractions with determned values (value, unknown or not_applicable) and abstractions without determined values.
396
397
  # * 'actually answered': Filter abstractable entites having no abstractions without an actual value (exluding blank, unknown or not_applicable).
397
398
  # @param [String] abstractor_abstraction_status Filter abstactable entities that an abstraction that 'needs_review' or are all abstractions are 'reviewed'.
398
399
  # @param [Hash] options the options to filter the entities returned.
@@ -401,26 +402,146 @@ module Abstractor
401
402
  # @return [ActiveRecord::Relation] List of abstractable entities.
402
403
  def by_abstractor_abstraction_status(abstractor_abstraction_status, options = {})
403
404
  options = { namespace_type: nil, namespace_id: nil }.merge(options)
404
-
405
405
  if options[:namespace_type] || options[:namespace_id]
406
406
  case abstractor_abstraction_status
407
407
  when Abstractor::Enum::ABSTRACTION_STATUS_NEEDS_REVIEW
408
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND (aa.value IS NULL OR aa.value = '') AND (aa.unknown IS NULL OR aa.unknown = ?) AND (aa.not_applicable IS NULL OR aa.not_applicable = ?))", options[:namespace_type], options[:namespace_id], false, false])
408
+ where([
409
+ "EXISTS (
410
+ SELECT 1 FROM abstractor_abstractions aa
411
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
412
+ WHERE aa.deleted_at IS NULL
413
+ AND aa.about_type = '#{self.to_s}'
414
+ AND #{self.table_name}.id = aa.about_id
415
+ AND (aa.value IS NULL OR aa.value = '')
416
+ AND (aa.unknown IS NULL OR aa.unknown = ?)
417
+ AND (aa.not_applicable IS NULL OR aa.not_applicable = ?)
418
+ )", options[:namespace_type], options[:namespace_id], false, false])
409
419
  when Abstractor::Enum::ABSTRACTION_STATUS_REVIEWED
410
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id) AND NOT EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND COALESCE(aa.value, '') = '' AND COALESCE(aa.unknown, ?) != ? AND COALESCE(aa.not_applicable, ?) != ?)", options[:namespace_type], options[:namespace_id], options[:namespace_type], options[:namespace_id], false, true, false, true])
420
+ where([
421
+ "EXISTS (
422
+ SELECT 1 FROM abstractor_abstractions aa
423
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
424
+ WHERE aa.deleted_at IS NULL
425
+ AND aa.about_type = '#{self.to_s}'
426
+ AND #{self.table_name}.id = aa.about_id
427
+ )
428
+ AND NOT EXISTS (
429
+ SELECT 1 FROM abstractor_abstractions aa
430
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
431
+ WHERE aa.deleted_at IS NULL
432
+ AND aa.about_type = '#{self.to_s}'
433
+ AND #{self.table_name}.id = aa.about_id
434
+ AND COALESCE(aa.value, '') = ''
435
+ AND COALESCE(aa.unknown, ?) != ?
436
+ AND COALESCE(aa.not_applicable, ?) != ?
437
+ )", options[:namespace_type], options[:namespace_id], options[:namespace_type], options[:namespace_id], false, true, false, true])
438
+ when Abstractor::Enum::ABSTRACTION_STATUS_PARTIALLY_REVIEWED
439
+ where([
440
+ "EXISTS (
441
+ SELECT 1 FROM abstractor_abstractions aa
442
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
443
+ WHERE aa.deleted_at IS NULL
444
+ AND aa.about_type = '#{self.to_s}'
445
+ AND #{self.table_name}.id = aa.about_id
446
+ AND (aa.value IS NULL OR aa.value = '')
447
+ AND (aa.unknown IS NULL OR aa.unknown = ?)
448
+ AND (aa.not_applicable IS NULL OR aa.not_applicable = ?)
449
+ )
450
+ AND EXISTS (
451
+ SELECT 1 FROM abstractor_abstractions aa
452
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
453
+ WHERE aa.deleted_at IS NULL
454
+ AND aa.about_type = '#{self.to_s}'
455
+ AND #{self.table_name}.id = aa.about_id
456
+ AND ( COALESCE(aa.value, '') != '' OR COALESCE(aa.unknown, ?) = ? OR COALESCE(aa.not_applicable, ?) = ?)
457
+ )", options[:namespace_type], options[:namespace_id], false, false, options[:namespace_type], options[:namespace_id], false, true, false, true])
411
458
  when Abstractor::Enum::ABSTRACTION_STATUS_ACTUALLY_ANSWERED
412
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id) AND NOT EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND COALESCE(aa.value, '') = '')", options[:namespace_type], options[:namespace_id], options[:namespace_type], options[:namespace_id]])
459
+ where([
460
+ "EXISTS (
461
+ SELECT 1 FROM abstractor_abstractions aa
462
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
463
+ WHERE aa.deleted_at IS NULL
464
+ AND aa.about_type = '#{self.to_s}'
465
+ AND #{self.table_name}.id = aa.about_id
466
+ )
467
+ AND NOT EXISTS (
468
+ SELECT 1 FROM abstractor_abstractions aa
469
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
470
+ WHERE aa.deleted_at IS NULL
471
+ AND aa.about_type = '#{self.to_s}'
472
+ AND #{self.table_name}.id = aa.about_id
473
+ AND COALESCE(aa.value, '') = ''
474
+ )", options[:namespace_type], options[:namespace_id], options[:namespace_type], options[:namespace_id]])
413
475
  else
414
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ? WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id)", options[:namespace_type], options[:namespace_id]])
476
+ where([
477
+ "EXISTS (
478
+ SELECT 1 FROM abstractor_abstractions aa
479
+ JOIN abstractor_subjects sub ON aa.abstractor_subject_id = sub.id AND sub.namespace_type = ? AND sub.namespace_id = ?
480
+ WHERE aa.deleted_at IS NULL
481
+ AND aa.about_type = '#{self.to_s}'
482
+ AND #{self.table_name}.id = aa.about_id)", options[:namespace_type], options[:namespace_id]])
415
483
  end
416
484
  else
417
485
  case abstractor_abstraction_status
418
486
  when Abstractor::Enum::ABSTRACTION_STATUS_NEEDS_REVIEW
419
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND (aa.value IS NULL OR aa.value = '') AND (aa.unknown IS NULL OR aa.unknown = ?) AND (aa.not_applicable IS NULL OR aa.not_applicable = ?))", false, false])
487
+ where([
488
+ "EXISTS (
489
+ SELECT 1 FROM abstractor_abstractions aa
490
+ WHERE aa.deleted_at IS NULL
491
+ AND aa.about_type = '#{self.to_s}'
492
+ AND #{self.table_name}.id = aa.about_id
493
+ AND (aa.value IS NULL OR aa.value = '')
494
+ AND (aa.unknown IS NULL OR aa.unknown = ?)
495
+ AND (aa.not_applicable IS NULL OR aa.not_applicable = ?)
496
+ )", false, false])
420
497
  when Abstractor::Enum::ABSTRACTION_STATUS_REVIEWED
421
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id) AND NOT EXISTS (SELECT 1 FROM abstractor_abstractions aa WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND COALESCE(aa.value, '') = '' AND COALESCE(aa.unknown, ?) != ? AND COALESCE(aa.not_applicable, ?) != ?)", false, true, false, true])
498
+ where([
499
+ "EXISTS (
500
+ SELECT 1 FROM abstractor_abstractions aa
501
+ WHERE aa.deleted_at IS NULL
502
+ AND aa.about_type = '#{self.to_s}'
503
+ AND #{self.table_name}.id = aa.about_id
504
+ )
505
+ AND NOT EXISTS (
506
+ SELECT 1 FROM abstractor_abstractions aa
507
+ WHERE aa.deleted_at IS NULL
508
+ AND aa.about_type = '#{self.to_s}'
509
+ AND #{self.table_name}.id = aa.about_id
510
+ AND COALESCE(aa.value, '') = ''
511
+ AND COALESCE(aa.unknown, ?) != ?
512
+ AND COALESCE(aa.not_applicable, ?) != ?
513
+ )", false, true, false, true])
514
+ when Abstractor::Enum::ABSTRACTION_STATUS_PARTIALLY_REVIEWED
515
+ where([
516
+ "EXISTS (
517
+ SELECT 1 FROM abstractor_abstractions aa
518
+ WHERE aa.deleted_at IS NULL
519
+ AND aa.about_type = '#{self.to_s}'
520
+ AND #{self.table_name}.id = aa.about_id
521
+ AND (aa.value IS NULL OR aa.value = '')
522
+ AND (aa.unknown IS NULL OR aa.unknown = ?)
523
+ AND (aa.not_applicable IS NULL OR aa.not_applicable = ?)
524
+ )
525
+ AND EXISTS (
526
+ SELECT 1 FROM abstractor_abstractions aa
527
+ WHERE aa.deleted_at IS NULL
528
+ AND aa.about_type = '#{self.to_s}'
529
+ AND #{self.table_name}.id = aa.about_id
530
+ AND ( COALESCE(aa.value, '') != '' OR COALESCE(aa.unknown, ?) = ? OR COALESCE(aa.not_applicable, ?) = ?)
531
+ )", false, false, false, true, false, true])
422
532
  when Abstractor::Enum::ABSTRACTION_STATUS_ACTUALLY_ANSWERED
423
- where(["EXISTS (SELECT 1 FROM abstractor_abstractions aa WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id) AND NOT EXISTS (SELECT 1 FROM abstractor_abstractions aa WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}' AND #{self.table_name}.id = aa.about_id AND COALESCE(aa.value, '') = '')"])
533
+ where([
534
+ "EXISTS (
535
+ SELECT 1 FROM abstractor_abstractions aa
536
+ WHERE aa.deleted_at IS NULL
537
+ AND aa.about_type = '#{self.to_s}'
538
+ AND #{self.table_name}.id = aa.about_id
539
+ )
540
+ AND NOT EXISTS (
541
+ SELECT 1 FROM abstractor_abstractions aa
542
+ WHERE aa.deleted_at IS NULL AND aa.about_type = '#{self.to_s}'
543
+ AND #{self.table_name}.id = aa.about_id
544
+ AND COALESCE(aa.value, '') = '')"])
424
545
  else
425
546
  where(nil)
426
547
  end
@@ -4,10 +4,11 @@ module Abstractor
4
4
  ABSTRACTION_OTHER_VALUE_TYPE_NOT_APPLICABLE = 'not applicable'
5
5
  ABSTRACTION_OTHER_VALUE_TYPES = [ABSTRACTION_OTHER_VALUE_TYPE_UNKNOWN, ABSTRACTION_OTHER_VALUE_TYPE_NOT_APPLICABLE]
6
6
 
7
- ABSTRACTION_STATUS_NEEDS_REVIEW = 'needs review'
8
- ABSTRACTION_STATUS_REVIEWED = 'reviewed'
9
- ABSTRACTION_STATUS_ACTUALLY_ANSWERED = 'actually answered'
10
- ABSTRACTION_STATUSES = [ABSTRACTION_STATUS_NEEDS_REVIEW, ABSTRACTION_STATUS_REVIEWED, ABSTRACTION_STATUS_ACTUALLY_ANSWERED]
7
+ ABSTRACTION_STATUS_NEEDS_REVIEW = 'needs review'
8
+ ABSTRACTION_STATUS_REVIEWED = 'reviewed'
9
+ ABSTRACTION_STATUS_PARTIALLY_REVIEWED = 'partially reviewed'
10
+ ABSTRACTION_STATUS_ACTUALLY_ANSWERED = 'actually answered'
11
+ ABSTRACTION_STATUSES = [ABSTRACTION_STATUS_NEEDS_REVIEW, ABSTRACTION_STATUS_REVIEWED, ABSTRACTION_STATUS_PARTIALLY_REVIEWED, ABSTRACTION_STATUS_ACTUALLY_ANSWERED]
11
12
 
12
13
  ABSTRACTION_SUGGESTION_TYPE_UNKNOWN = 'unknown'
13
14
  ABSTRACTION_SUGGESTION_TYPE_SUGGESTED = 'suggested'
@@ -27,18 +27,35 @@ module Abstractor
27
27
  # base.send :attr_accessible, :about, :abstractor_subject, :abstractor_subject_id, :value, :about_type, :about_id, :unknown, :not_applicable, :deleted_at, :abstractor_indirect_sources_attributes
28
28
 
29
29
  # Hooks
30
- base.send :after_save, :review_matching_suggestions
30
+ base.send :after_save, :review_suggestions
31
31
 
32
32
  base.send(:include, InstanceMethods)
33
33
  base.extend(ClassMethods)
34
34
  end
35
35
 
36
36
  module InstanceMethods
37
- def review_matching_suggestions
38
- accepted_status = Abstractor::AbstractorSuggestionStatus.where(:name => 'Accepted').first
39
- matching_abstractor_suggestions.each do |abstractor_suggestion|
40
- abstractor_suggestion.abstractor_suggestion_status = accepted_status
41
- abstractor_suggestion.save!
37
+ # Updates status of suggestions linked to the abstraction
38
+ # accepts suggestions with matching values. This effectively rejects the rest of the suggestions.
39
+ # If suggestions with matching values do not exist, rejects all suggestions
40
+ def review_suggestions
41
+ accepted_status = Abstractor::AbstractorSuggestionStatus.where(name: Abstractor::Enum::ABSTRACTOR_SUGGESTION_STATUS_ACCEPTED).first
42
+ rejected_status = Abstractor::AbstractorSuggestionStatus.where(name: Abstractor::Enum::ABSTRACTOR_SUGGESTION_STATUS_REJECTED).first
43
+
44
+ unless unreviewed?
45
+ matching_suggestions = matching_abstractor_suggestions
46
+ if matching_suggestions.any?
47
+ matching_suggestions.each do |abstractor_suggestion|
48
+ abstractor_suggestion.abstractor_suggestion_status = accepted_status
49
+ abstractor_suggestion.save!
50
+ end
51
+ else
52
+ abstractor_suggestions.each do |abstractor_suggestion|
53
+ unless abstractor_suggestion.abstractor_suggestion_status == rejected_status
54
+ abstractor_suggestion.abstractor_suggestion_status = rejected_status
55
+ abstractor_suggestion.save!
56
+ end
57
+ end
58
+ end
42
59
  end
43
60
  end
44
61
 
@@ -1,3 +1,3 @@
1
1
  module Abstractor
2
- VERSION = '4.4.5'
2
+ VERSION = '4.4.6'
3
3
  end
metadata CHANGED
@@ -1,441 +1,441 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.5
4
+ version: 4.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Gurley, Yulia Bushmanova
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-30 00:00:00.000000000 Z
11
+ date: 2015-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jquery-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 4.0.0
34
- - - ! '>='
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: 4.0.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ~>
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: 4.0.0
44
- - - ! '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 4.0.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jquery-ui-rails
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ~>
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '4.2'
54
- - - ! '>='
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: 4.2.0
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ~>
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
63
  version: '4.2'
64
- - - ! '>='
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: 4.2.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: haml
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: 4.0.5
74
- - - ! '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: 4.0.5
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: 4.0.5
84
- - - ! '>='
84
+ - - ">="
85
85
  - !ruby/object:Gem::Version
86
86
  version: 4.0.5
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: sass-rails
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - ! '>='
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
93
  version: 4.0.0
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - ! '>='
98
+ - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: 4.0.0
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: paper_trail
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - ~>
105
+ - - "~>"
106
106
  - !ruby/object:Gem::Version
107
107
  version: 3.0.0
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 3.0.0
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: 3.0.0
118
- - - ! '>='
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: 3.0.0
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: stanford-core-nlp-abstractor
123
123
  requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ~>
125
+ - - "~>"
126
126
  - !ruby/object:Gem::Version
127
127
  version: 0.5.3
128
- - - ! '>='
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: 0.5.3
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ~>
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
137
  version: 0.5.3
138
- - - ! '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: 0.5.3
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rubyzip
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - ~>
145
+ - - "~>"
146
146
  - !ruby/object:Gem::Version
147
147
  version: 1.1.0
148
- - - ! '>='
148
+ - - ">="
149
149
  - !ruby/object:Gem::Version
150
150
  version: 1.1.0
151
151
  type: :runtime
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - ~>
155
+ - - "~>"
156
156
  - !ruby/object:Gem::Version
157
157
  version: 1.1.0
158
- - - ! '>='
158
+ - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: 1.1.0
161
161
  - !ruby/object:Gem::Dependency
162
162
  name: coffee-rails
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - ~>
165
+ - - "~>"
166
166
  - !ruby/object:Gem::Version
167
167
  version: '4.0'
168
- - - ! '>='
168
+ - - ">="
169
169
  - !ruby/object:Gem::Version
170
170
  version: 4.0.0
171
171
  type: :runtime
172
172
  prerelease: false
173
173
  version_requirements: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - ~>
175
+ - - "~>"
176
176
  - !ruby/object:Gem::Version
177
177
  version: '4.0'
178
- - - ! '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: 4.0.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: httparty
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ~>
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
187
  version: 0.13.0
188
- - - ! '>='
188
+ - - ">="
189
189
  - !ruby/object:Gem::Version
190
190
  version: 0.13.3
191
191
  type: :runtime
192
192
  prerelease: false
193
193
  version_requirements: !ruby/object:Gem::Requirement
194
194
  requirements:
195
- - - ~>
195
+ - - "~>"
196
196
  - !ruby/object:Gem::Version
197
197
  version: 0.13.0
198
- - - ! '>='
198
+ - - ">="
199
199
  - !ruby/object:Gem::Version
200
200
  version: 0.13.3
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: sqlite3
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - ~>
205
+ - - "~>"
206
206
  - !ruby/object:Gem::Version
207
207
  version: 1.3.9
208
- - - ! '>='
208
+ - - ">="
209
209
  - !ruby/object:Gem::Version
210
210
  version: 1.3.9
211
211
  type: :development
212
212
  prerelease: false
213
213
  version_requirements: !ruby/object:Gem::Requirement
214
214
  requirements:
215
- - - ~>
215
+ - - "~>"
216
216
  - !ruby/object:Gem::Version
217
217
  version: 1.3.9
218
- - - ! '>='
218
+ - - ">="
219
219
  - !ruby/object:Gem::Version
220
220
  version: 1.3.9
221
221
  - !ruby/object:Gem::Dependency
222
222
  name: rspec-rails
223
223
  requirement: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - ~>
225
+ - - "~>"
226
226
  - !ruby/object:Gem::Version
227
227
  version: 3.0.0
228
- - - ! '>='
228
+ - - ">="
229
229
  - !ruby/object:Gem::Version
230
230
  version: 3.0.0
231
231
  type: :development
232
232
  prerelease: false
233
233
  version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
- - - ~>
235
+ - - "~>"
236
236
  - !ruby/object:Gem::Version
237
237
  version: 3.0.0
238
- - - ! '>='
238
+ - - ">="
239
239
  - !ruby/object:Gem::Version
240
240
  version: 3.0.0
241
241
  - !ruby/object:Gem::Dependency
242
242
  name: factory_girl_rails
243
243
  requirement: !ruby/object:Gem::Requirement
244
244
  requirements:
245
- - - ~>
245
+ - - "~>"
246
246
  - !ruby/object:Gem::Version
247
247
  version: 4.4.0
248
- - - ! '>='
248
+ - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: 4.4.0
251
251
  type: :development
252
252
  prerelease: false
253
253
  version_requirements: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ~>
255
+ - - "~>"
256
256
  - !ruby/object:Gem::Version
257
257
  version: 4.4.0
258
- - - ! '>='
258
+ - - ">="
259
259
  - !ruby/object:Gem::Version
260
260
  version: 4.4.0
261
261
  - !ruby/object:Gem::Dependency
262
262
  name: cucumber-rails
263
263
  requirement: !ruby/object:Gem::Requirement
264
264
  requirements:
265
- - - ~>
265
+ - - "~>"
266
266
  - !ruby/object:Gem::Version
267
267
  version: 1.4.0
268
- - - ! '>='
268
+ - - ">="
269
269
  - !ruby/object:Gem::Version
270
270
  version: 1.4.0
271
271
  type: :development
272
272
  prerelease: false
273
273
  version_requirements: !ruby/object:Gem::Requirement
274
274
  requirements:
275
- - - ~>
275
+ - - "~>"
276
276
  - !ruby/object:Gem::Version
277
277
  version: 1.4.0
278
- - - ! '>='
278
+ - - ">="
279
279
  - !ruby/object:Gem::Version
280
280
  version: 1.4.0
281
281
  - !ruby/object:Gem::Dependency
282
282
  name: capybara
283
283
  requirement: !ruby/object:Gem::Requirement
284
284
  requirements:
285
- - - ~>
285
+ - - "~>"
286
286
  - !ruby/object:Gem::Version
287
287
  version: 2.4.0
288
- - - ! '>='
288
+ - - ">="
289
289
  - !ruby/object:Gem::Version
290
290
  version: 2.4.0
291
291
  type: :development
292
292
  prerelease: false
293
293
  version_requirements: !ruby/object:Gem::Requirement
294
294
  requirements:
295
- - - ~>
295
+ - - "~>"
296
296
  - !ruby/object:Gem::Version
297
297
  version: 2.4.0
298
- - - ! '>='
298
+ - - ">="
299
299
  - !ruby/object:Gem::Version
300
300
  version: 2.4.0
301
301
  - !ruby/object:Gem::Dependency
302
302
  name: selenium-webdriver
303
303
  requirement: !ruby/object:Gem::Requirement
304
304
  requirements:
305
- - - ~>
305
+ - - "~>"
306
306
  - !ruby/object:Gem::Version
307
307
  version: 2.42.0
308
- - - ! '>='
308
+ - - ">="
309
309
  - !ruby/object:Gem::Version
310
310
  version: 2.42.0
311
311
  type: :development
312
312
  prerelease: false
313
313
  version_requirements: !ruby/object:Gem::Requirement
314
314
  requirements:
315
- - - ~>
315
+ - - "~>"
316
316
  - !ruby/object:Gem::Version
317
317
  version: 2.42.0
318
- - - ! '>='
318
+ - - ">="
319
319
  - !ruby/object:Gem::Version
320
320
  version: 2.42.0
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: database_cleaner
323
323
  requirement: !ruby/object:Gem::Requirement
324
324
  requirements:
325
- - - ~>
325
+ - - "~>"
326
326
  - !ruby/object:Gem::Version
327
327
  version: 1.3.0
328
- - - ! '>='
328
+ - - ">="
329
329
  - !ruby/object:Gem::Version
330
330
  version: 1.3.0
331
331
  type: :development
332
332
  prerelease: false
333
333
  version_requirements: !ruby/object:Gem::Requirement
334
334
  requirements:
335
- - - ~>
335
+ - - "~>"
336
336
  - !ruby/object:Gem::Version
337
337
  version: 1.3.0
338
- - - ! '>='
338
+ - - ">="
339
339
  - !ruby/object:Gem::Version
340
340
  version: 1.3.0
341
341
  - !ruby/object:Gem::Dependency
342
342
  name: ansi
343
343
  requirement: !ruby/object:Gem::Requirement
344
344
  requirements:
345
- - - ~>
345
+ - - "~>"
346
346
  - !ruby/object:Gem::Version
347
347
  version: 1.4.3
348
- - - ! '>='
348
+ - - ">="
349
349
  - !ruby/object:Gem::Version
350
350
  version: 1.4.3
351
351
  type: :development
352
352
  prerelease: false
353
353
  version_requirements: !ruby/object:Gem::Requirement
354
354
  requirements:
355
- - - ~>
355
+ - - "~>"
356
356
  - !ruby/object:Gem::Version
357
357
  version: 1.4.3
358
- - - ! '>='
358
+ - - ">="
359
359
  - !ruby/object:Gem::Version
360
360
  version: 1.4.3
361
361
  - !ruby/object:Gem::Dependency
362
362
  name: sprockets
363
363
  requirement: !ruby/object:Gem::Requirement
364
364
  requirements:
365
- - - ~>
365
+ - - "~>"
366
366
  - !ruby/object:Gem::Version
367
367
  version: 2.12.1
368
- - - ! '>='
368
+ - - ">="
369
369
  - !ruby/object:Gem::Version
370
370
  version: 2.12.1
371
371
  type: :development
372
372
  prerelease: false
373
373
  version_requirements: !ruby/object:Gem::Requirement
374
374
  requirements:
375
- - - ~>
375
+ - - "~>"
376
376
  - !ruby/object:Gem::Version
377
377
  version: 2.12.1
378
- - - ! '>='
378
+ - - ">="
379
379
  - !ruby/object:Gem::Version
380
380
  version: 2.12.1
381
381
  - !ruby/object:Gem::Dependency
382
382
  name: yard
383
383
  requirement: !ruby/object:Gem::Requirement
384
384
  requirements:
385
- - - ~>
385
+ - - "~>"
386
386
  - !ruby/object:Gem::Version
387
387
  version: 0.8.7.3
388
- - - ! '>='
388
+ - - ">="
389
389
  - !ruby/object:Gem::Version
390
390
  version: 0.8.7.3
391
391
  type: :development
392
392
  prerelease: false
393
393
  version_requirements: !ruby/object:Gem::Requirement
394
394
  requirements:
395
- - - ~>
395
+ - - "~>"
396
396
  - !ruby/object:Gem::Version
397
397
  version: 0.8.7.3
398
- - - ! '>='
398
+ - - ">="
399
399
  - !ruby/object:Gem::Version
400
400
  version: 0.8.7.3
401
401
  - !ruby/object:Gem::Dependency
402
402
  name: redcarpet
403
403
  requirement: !ruby/object:Gem::Requirement
404
404
  requirements:
405
- - - ~>
405
+ - - "~>"
406
406
  - !ruby/object:Gem::Version
407
407
  version: 3.1.1
408
- - - ! '>='
408
+ - - ">="
409
409
  - !ruby/object:Gem::Version
410
410
  version: 3.1.1
411
411
  type: :development
412
412
  prerelease: false
413
413
  version_requirements: !ruby/object:Gem::Requirement
414
414
  requirements:
415
- - - ~>
415
+ - - "~>"
416
416
  - !ruby/object:Gem::Version
417
417
  version: 3.1.1
418
- - - ! '>='
418
+ - - ">="
419
419
  - !ruby/object:Gem::Version
420
420
  version: 3.1.1
421
421
  - !ruby/object:Gem::Dependency
422
422
  name: webmock
423
423
  requirement: !ruby/object:Gem::Requirement
424
424
  requirements:
425
- - - ~>
425
+ - - "~>"
426
426
  - !ruby/object:Gem::Version
427
427
  version: '1.2'
428
- - - ! '>='
428
+ - - ">="
429
429
  - !ruby/object:Gem::Version
430
430
  version: 1.2.0
431
431
  type: :development
432
432
  prerelease: false
433
433
  version_requirements: !ruby/object:Gem::Requirement
434
434
  requirements:
435
- - - ~>
435
+ - - "~>"
436
436
  - !ruby/object:Gem::Version
437
437
  version: '1.2'
438
- - - ! '>='
438
+ - - ">="
439
439
  - !ruby/object:Gem::Version
440
440
  version: 1.2.0
441
441
  description: A Rails engine gem for deriving discrete data points from narrative text
@@ -835,17 +835,17 @@ require_paths:
835
835
  - lib
836
836
  required_ruby_version: !ruby/object:Gem::Requirement
837
837
  requirements:
838
- - - ! '>='
838
+ - - ">="
839
839
  - !ruby/object:Gem::Version
840
840
  version: 1.9.3
841
841
  required_rubygems_version: !ruby/object:Gem::Requirement
842
842
  requirements:
843
- - - ! '>='
843
+ - - ">="
844
844
  - !ruby/object:Gem::Version
845
845
  version: '0'
846
846
  requirements: []
847
847
  rubyforge_project:
848
- rubygems_version: 2.4.2
848
+ rubygems_version: 2.4.8
849
849
  signing_key:
850
850
  specification_version: 4
851
851
  summary: A Rails engine gem for deriving discrete data points from narrative text