caruby-tissue 1.2.1

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.
Files changed (133) hide show
  1. data/History.txt +4 -0
  2. data/LEGAL +5 -0
  3. data/LICENSE +22 -0
  4. data/README.md +44 -0
  5. data/bin/crtdump +31 -0
  6. data/bin/crtexample +18 -0
  7. data/bin/crtextract +47 -0
  8. data/bin/crtmigrate +17 -0
  9. data/bin/crtsmoke +27 -0
  10. data/examples/galena/README.md +53 -0
  11. data/examples/galena/bin/migrate.rb +42 -0
  12. data/examples/galena/bin/seed.rb +43 -0
  13. data/examples/galena/conf/extract/simple_fields.yaml +4 -0
  14. data/examples/galena/conf/migration/filter_fields.yaml +7 -0
  15. data/examples/galena/conf/migration/filter_migration.yaml +9 -0
  16. data/examples/galena/conf/migration/frozen_fields.yaml +11 -0
  17. data/examples/galena/conf/migration/frozen_migration.yaml +9 -0
  18. data/examples/galena/conf/migration/general_fields.yaml +42 -0
  19. data/examples/galena/conf/migration/general_migration.yaml +9 -0
  20. data/examples/galena/conf/migration/simple_fields.yaml +30 -0
  21. data/examples/galena/conf/migration/simple_migration.yaml +7 -0
  22. data/examples/galena/conf/migration/small_fields.yaml +24 -0
  23. data/examples/galena/conf/migration/small_migration.yaml +9 -0
  24. data/examples/galena/data/filter.csv +1 -0
  25. data/examples/galena/data/frozen.csv +1 -0
  26. data/examples/galena/data/general.csv +1 -0
  27. data/examples/galena/data/minimal.csv +1 -0
  28. data/examples/galena/data/simple.csv +1 -0
  29. data/examples/galena/data/small.csv +1 -0
  30. data/examples/galena/doc/CaTissue.html +93 -0
  31. data/examples/galena/doc/CaTissue/CollectionProtocolRegistration.html +181 -0
  32. data/examples/galena/doc/CaTissue/Participant.html +241 -0
  33. data/examples/galena/doc/CaTissue/SpecimenCollectionGroup.html +190 -0
  34. data/examples/galena/doc/CaTissue/StorageContainer.html +179 -0
  35. data/examples/galena/doc/CaTissue/TissueSpecimen.html +320 -0
  36. data/examples/galena/doc/Galena.html +290 -0
  37. data/examples/galena/doc/Galena/Seed.html +203 -0
  38. data/examples/galena/doc/Galena/Seed/Defaults.html +646 -0
  39. data/examples/galena/doc/_index.html +188 -0
  40. data/examples/galena/doc/class_list.html +36 -0
  41. data/examples/galena/doc/css/common.css +1 -0
  42. data/examples/galena/doc/css/full_list.css +53 -0
  43. data/examples/galena/doc/css/style.css +307 -0
  44. data/examples/galena/doc/file.README.html +108 -0
  45. data/examples/galena/doc/file_list.html +38 -0
  46. data/examples/galena/doc/frames.html +13 -0
  47. data/examples/galena/doc/index.html +108 -0
  48. data/examples/galena/doc/js/app.js +202 -0
  49. data/examples/galena/doc/js/full_list.js +149 -0
  50. data/examples/galena/doc/js/jquery.js +154 -0
  51. data/examples/galena/doc/method_list.html +179 -0
  52. data/examples/galena/doc/top-level-namespace.html +112 -0
  53. data/examples/galena/lib/README.html +33 -0
  54. data/examples/galena/lib/galena.rb +8 -0
  55. data/examples/galena/lib/galena/cli/seed.rb +43 -0
  56. data/examples/galena/lib/galena/migration/filter_shims.rb +43 -0
  57. data/examples/galena/lib/galena/migration/frozen_shims.rb +54 -0
  58. data/examples/galena/lib/galena/seed/defaults.rb +97 -0
  59. data/lib/catissue.rb +26 -0
  60. data/lib/catissue/cli/command.rb +51 -0
  61. data/lib/catissue/cli/example.rb +31 -0
  62. data/lib/catissue/cli/migrate.rb +60 -0
  63. data/lib/catissue/cli/smoke.rb +45 -0
  64. data/lib/catissue/database.rb +451 -0
  65. data/lib/catissue/database/annotation/annotatable_service.rb +25 -0
  66. data/lib/catissue/database/annotation/annotation_service.rb +79 -0
  67. data/lib/catissue/database/annotation/annotator.rb +84 -0
  68. data/lib/catissue/database/annotation/entity_manager.rb +10 -0
  69. data/lib/catissue/database/annotation/integration_service.rb +87 -0
  70. data/lib/catissue/database/controlled_value_finder.rb +43 -0
  71. data/lib/catissue/database/controlled_values.rb +162 -0
  72. data/lib/catissue/domain/abstract_domain_object.rb +8 -0
  73. data/lib/catissue/domain/abstract_position.rb +22 -0
  74. data/lib/catissue/domain/abstract_specimen.rb +288 -0
  75. data/lib/catissue/domain/abstract_specimen_collection_group.rb +25 -0
  76. data/lib/catissue/domain/address.rb +13 -0
  77. data/lib/catissue/domain/cancer_research_group.rb +11 -0
  78. data/lib/catissue/domain/capacity.rb +34 -0
  79. data/lib/catissue/domain/check_in_check_out_event_parameter.rb +19 -0
  80. data/lib/catissue/domain/collection_event_parameters.rb +13 -0
  81. data/lib/catissue/domain/collection_protocol.rb +177 -0
  82. data/lib/catissue/domain/collection_protocol_event.rb +108 -0
  83. data/lib/catissue/domain/collection_protocol_registration.rb +108 -0
  84. data/lib/catissue/domain/consent_tier_response.rb +13 -0
  85. data/lib/catissue/domain/consent_tier_status.rb +29 -0
  86. data/lib/catissue/domain/container.rb +234 -0
  87. data/lib/catissue/domain/container_position.rb +21 -0
  88. data/lib/catissue/domain/container_type.rb +131 -0
  89. data/lib/catissue/domain/department.rb +13 -0
  90. data/lib/catissue/domain/disposal_event_parameters.rb +13 -0
  91. data/lib/catissue/domain/embedded_event_parameters.rb +10 -0
  92. data/lib/catissue/domain/external_identifier.rb +22 -0
  93. data/lib/catissue/domain/frozen_event_parameters.rb +10 -0
  94. data/lib/catissue/domain/institution.rb +13 -0
  95. data/lib/catissue/domain/new_specimen_array_order_item.rb +35 -0
  96. data/lib/catissue/domain/order_details.rb +25 -0
  97. data/lib/catissue/domain/participant.rb +138 -0
  98. data/lib/catissue/domain/participant_medical_identifier.rb +38 -0
  99. data/lib/catissue/domain/password.rb +11 -0
  100. data/lib/catissue/domain/race.rb +11 -0
  101. data/lib/catissue/domain/received_event_parameters.rb +25 -0
  102. data/lib/catissue/domain/scg_event_parameters.rb +11 -0
  103. data/lib/catissue/domain/site.rb +30 -0
  104. data/lib/catissue/domain/specimen.rb +456 -0
  105. data/lib/catissue/domain/specimen_array.rb +47 -0
  106. data/lib/catissue/domain/specimen_array_content.rb +19 -0
  107. data/lib/catissue/domain/specimen_array_type.rb +20 -0
  108. data/lib/catissue/domain/specimen_characteristics.rb +20 -0
  109. data/lib/catissue/domain/specimen_collection_group.rb +412 -0
  110. data/lib/catissue/domain/specimen_event_parameters.rb +111 -0
  111. data/lib/catissue/domain/specimen_position.rb +38 -0
  112. data/lib/catissue/domain/specimen_protocol.rb +34 -0
  113. data/lib/catissue/domain/specimen_requirement.rb +143 -0
  114. data/lib/catissue/domain/storage_container.rb +204 -0
  115. data/lib/catissue/domain/storage_type.rb +82 -0
  116. data/lib/catissue/domain/transfer_event_parameters.rb +53 -0
  117. data/lib/catissue/domain/user.rb +100 -0
  118. data/lib/catissue/extract/command.rb +31 -0
  119. data/lib/catissue/extract/delta.rb +62 -0
  120. data/lib/catissue/extract/extractor.rb +99 -0
  121. data/lib/catissue/migration/migrator.rb +101 -0
  122. data/lib/catissue/migration/shims.rb +108 -0
  123. data/lib/catissue/migration/uniquify.rb +111 -0
  124. data/lib/catissue/resource.rb +84 -0
  125. data/lib/catissue/util/controlled_value.rb +29 -0
  126. data/lib/catissue/util/location.rb +116 -0
  127. data/lib/catissue/util/log.rb +30 -0
  128. data/lib/catissue/util/person.rb +31 -0
  129. data/lib/catissue/util/position.rb +54 -0
  130. data/lib/catissue/util/storable.rb +34 -0
  131. data/lib/catissue/util/storage_type_holder.rb +30 -0
  132. data/lib/catissue/version.rb +7 -0
  133. metadata +212 -0
@@ -0,0 +1,30 @@
1
+ module CaTissue
2
+ private
3
+
4
+ # Makes a log subdirectory to avoid a caTissue log initializer error. This method should be called
5
+ # before caTissue start-up.
6
+ #
7
+ # The caTissue log4j location is unfortunately hard-coded in a caTissue client configuration
8
+ # file, does not create the parent directory on demand, and issues an obscure error message if
9
+ # the directory does not exist. This method ensures that the current directory contains a log
10
+ # subdirectory.
11
+ def self.ensure_log4j_directory_exists
12
+ # caTissue alert - avoid caTissue error by creating log subdirectory
13
+ if File.directory?('log') then
14
+ unless File.writable?('log') then
15
+ raise StandardError.new("caTissue log subdirectory #{File.expand_path('log')} is not writable.")
16
+ end
17
+ elsif File.exists?('log') then
18
+ raise StandardError.new("Existing file #{File.expand_path('log')} prevents creation of the required caTissue log subdirectory.")
19
+ else
20
+ begin
21
+ Dir.mkdir('log')
22
+ rescue Exception => e
23
+ raise StandardError.new("Cannot create the log subdirectory required by the caTissue client: #{File.expand_path('log')}.")
24
+ end
25
+ end
26
+ end
27
+
28
+ # make the log4j directory, if necessary
29
+ ensure_log4j_directory_exists
30
+ end
@@ -0,0 +1,31 @@
1
+ require 'caruby/util/person'
2
+
3
+ module CaTissue
4
+ # Mix-in for domain classes that define the +first_name+, +last_name+ and optional +middle_name+ attributes.
5
+ module Person
6
+ include CaRuby::Person
7
+
8
+ public
9
+
10
+ # Returns this Person's name as a Name structure, or nil if there is no last name.
11
+ def name
12
+ middle = middle_name if respond_to?(:middle_name)
13
+ Name.new(last_name, first_name, middle) if last_name
14
+ end
15
+
16
+ # Sets this Person's name to the name string or Name object.
17
+ # A string name argument is parsed using Name.parse.
18
+ def name=(value)
19
+ value = Name.parse(value) if String === value
20
+ # a missing name is equivalent to an empty name for our purposes here
21
+ value = Name.new(nil, nil) if value.nil?
22
+ unless Name === value then
23
+ raise ArgumentError.new("Name argument type invalid; expected <#{Name}>, found <#{value.class}>")
24
+ end
25
+ self.first_name = value.first
26
+ self.last_name = value.last
27
+ # caTissue alert - CaTissue person names are inconsistent: Participant has a middle name, User doesn't.
28
+ self.middle_name = value.middle if respond_to?(:middle_name)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,54 @@
1
+ require 'catissue/util/location'
2
+
3
+ module CaTissue
4
+ # The Position mix-in encapsulates the location of an occupant in a holder.
5
+ # Classes which include Position are required to implement the column, row, occupant
6
+ # and holder methods.
7
+ module Position
8
+ include Comparable
9
+
10
+ # @param [Position] other the position to compare
11
+ # @return (see Location#<=>)
12
+ # @raise [ArgumentError] if other is not an instance of this Position's concrete class
13
+ def <=>(other)
14
+ raise ArgumentError.new("Can't compare #{qp} to #{other.qp}") unless self.class === other
15
+ equal?(other) ? 0 : location <=> other.location
16
+ end
17
+
18
+ # @return [Boolean] whether other is an instance of this position's class with the same
19
+ # occupant and equal location
20
+ #
21
+ # @see Location#==
22
+ def ==(other)
23
+ self.class === other and occupant == other.occupant and location == other.location
24
+ end
25
+
26
+ # @return [Coordinate] the read-only coordinate with this AbstractPosition's #row and {#column}.
27
+ def coordinate
28
+ location.coordinate
29
+ end
30
+
31
+ # @return [Location] the location of this Position.
32
+ def location
33
+ @location ||= Location.new
34
+ # always ensure that the location is consistent with the Java state
35
+ @location.holder = holder
36
+ @location.row = row
37
+ @location.column = column
38
+ @location
39
+ end
40
+
41
+ # @param [Location] the location value to set
42
+ def location=(value)
43
+ @location = value || Location.new
44
+ self.holder = @location.holder
45
+ self.row = @location.row
46
+ self.column = @location.column
47
+ end
48
+
49
+ # @return [(Integer, Integer)] this Position's zero-based ({#column}, {#row}) tuple.
50
+ def to_a
51
+ [column, row]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ require 'caruby/util/collection'
2
+
3
+ module CaTissue
4
+ # The Storable mix-in adds methods for a domain class which can be stored and implements
5
+ # the +storable_type+, +position+ and +position_class+ methods.
6
+ module Storable
7
+ # Position is an alias for CaTissue::AbstractPosition.
8
+ Position = CaTissue::AbstractPosition
9
+
10
+ # Returns the Container which holds this Storable, or nil if none.
11
+ def container
12
+ position and position.container
13
+ end
14
+
15
+ # Moves this Storable from its current Position, if any, to the given container at the optional
16
+ # Coordinate coordinate. Returns the new position.
17
+ #
18
+ # @see Container#add
19
+ def move_to(container_or_location)
20
+ case container_or_location
21
+ when CaTissue::Container then
22
+ container_or_location.add(self)
23
+ when CaTissue::Location then
24
+ loc = container_or_location
25
+ loc.container.add(self, loc.coordinate)
26
+ else
27
+ raise ArgumentError.new("Target location is neither a Container nor a Location: #{container_or_location.class.qp}")
28
+ end
29
+ position
30
+ end
31
+
32
+ alias :>> :move_to
33
+ end
34
+ end
@@ -0,0 +1,30 @@
1
+ require 'caruby/util/collection'
2
+
3
+ module CaTissue
4
+ # The StorageTypeHolder mix-in adds common methods for the StorageType or StorageContainer child type accessors.
5
+ module StorageTypeHolder
6
+ include PartialOrder
7
+
8
+ # Returns the {CaTissue::SpecimenArrayType}, {CaTissue::AbstractSpecimen#specimen_class} or {CaTissue::StorageType}
9
+ # children which this StorageTypeHolder can hold.
10
+ def child_types
11
+ @child_types ||= holds_storage_types.union(holds_specimen_classes).union(holds_specimen_array_types)
12
+ end
13
+
14
+ # Adds the given subtype to the list of subtypes which this StorageType can hold.
15
+ #
16
+ # @param [CaTissue::StorageType, CaTissue::SpecimenArrayType, String] the subcontainer type or
17
+ # {CaTissue::AbstractSpecimen#specimen_class} which this StorageType can hold
18
+ # @return [StorageTypeHolder] self
19
+ # @raise [ArgumentError] if the type to add is not a supported parameter
20
+ def add_child_type(type)
21
+ case type
22
+ when CaTissue::StorageType then holds_storage_types << type
23
+ when CaTissue::SpecimenArrayType then holds_specimen_array_types << type
24
+ when String then holds_specimen_classes << type
25
+ else raise ArgumentError.new("Storage type child not supported - #{type}")
26
+ end
27
+ self
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ module CaTissue
2
+ # The version of this caRuby Tissue release.
3
+ VERSION = "1.2.1"
4
+
5
+ # The supported caTissue release versions.
6
+ CATISSUE_VERSIONS = "1.1.2"
7
+ end
metadata ADDED
@@ -0,0 +1,212 @@
1
+ --- !ruby/object:Gem::Specification
2
+ extensions: []
3
+
4
+ homepage: http://rubyforge.org/projects/caruby/tissue
5
+ executables:
6
+ - crtdump
7
+ - crtexample
8
+ - crtextract
9
+ - crtmigrate
10
+ - crtsmoke
11
+ version: !ruby/object:Gem::Version
12
+ prerelease: false
13
+ version: 1.2.1
14
+ segments:
15
+ - 1
16
+ - 2
17
+ - 1
18
+ post_install_message:
19
+ date: 2010-09-30 07:00:00 +00:00
20
+ files:
21
+ - bin/crtdump
22
+ - bin/crtexample
23
+ - bin/crtextract
24
+ - bin/crtmigrate
25
+ - bin/crtsmoke
26
+ - examples/galena/README.md
27
+ - examples/galena/bin/migrate.rb
28
+ - examples/galena/bin/seed.rb
29
+ - examples/galena/conf/extract/simple_fields.yaml
30
+ - examples/galena/conf/migration/filter_fields.yaml
31
+ - examples/galena/conf/migration/filter_migration.yaml
32
+ - examples/galena/conf/migration/frozen_fields.yaml
33
+ - examples/galena/conf/migration/frozen_migration.yaml
34
+ - examples/galena/conf/migration/general_fields.yaml
35
+ - examples/galena/conf/migration/general_migration.yaml
36
+ - examples/galena/conf/migration/simple_fields.yaml
37
+ - examples/galena/conf/migration/simple_migration.yaml
38
+ - examples/galena/conf/migration/small_fields.yaml
39
+ - examples/galena/conf/migration/small_migration.yaml
40
+ - examples/galena/data/filter.csv
41
+ - examples/galena/data/frozen.csv
42
+ - examples/galena/data/general.csv
43
+ - examples/galena/data/minimal.csv
44
+ - examples/galena/data/simple.csv
45
+ - examples/galena/data/small.csv
46
+ - examples/galena/doc/_index.html
47
+ - examples/galena/doc/CaTissue.html
48
+ - examples/galena/doc/class_list.html
49
+ - examples/galena/doc/file.README.html
50
+ - examples/galena/doc/file_list.html
51
+ - examples/galena/doc/frames.html
52
+ - examples/galena/doc/Galena.html
53
+ - examples/galena/doc/index.html
54
+ - examples/galena/doc/method_list.html
55
+ - examples/galena/doc/top-level-namespace.html
56
+ - examples/galena/doc/CaTissue/CollectionProtocolRegistration.html
57
+ - examples/galena/doc/CaTissue/Participant.html
58
+ - examples/galena/doc/CaTissue/SpecimenCollectionGroup.html
59
+ - examples/galena/doc/CaTissue/StorageContainer.html
60
+ - examples/galena/doc/CaTissue/TissueSpecimen.html
61
+ - examples/galena/doc/css/common.css
62
+ - examples/galena/doc/css/full_list.css
63
+ - examples/galena/doc/css/style.css
64
+ - examples/galena/doc/Galena/Seed.html
65
+ - examples/galena/doc/Galena/Seed/Defaults.html
66
+ - examples/galena/doc/js/app.js
67
+ - examples/galena/doc/js/full_list.js
68
+ - examples/galena/doc/js/jquery.js
69
+ - examples/galena/lib/galena.rb
70
+ - examples/galena/lib/README.html
71
+ - examples/galena/lib/galena/cli/seed.rb
72
+ - examples/galena/lib/galena/migration/filter_shims.rb
73
+ - examples/galena/lib/galena/migration/frozen_shims.rb
74
+ - examples/galena/lib/galena/seed/defaults.rb
75
+ - lib/catissue.rb
76
+ - lib/catissue/database.rb
77
+ - lib/catissue/resource.rb
78
+ - lib/catissue/version.rb
79
+ - lib/catissue/cli/command.rb
80
+ - lib/catissue/cli/example.rb
81
+ - lib/catissue/cli/migrate.rb
82
+ - lib/catissue/cli/smoke.rb
83
+ - lib/catissue/database/controlled_value_finder.rb
84
+ - lib/catissue/database/controlled_values.rb
85
+ - lib/catissue/database/annotation/annotatable_service.rb
86
+ - lib/catissue/database/annotation/annotation_service.rb
87
+ - lib/catissue/database/annotation/annotator.rb
88
+ - lib/catissue/database/annotation/entity_manager.rb
89
+ - lib/catissue/database/annotation/integration_service.rb
90
+ - lib/catissue/domain/abstract_domain_object.rb
91
+ - lib/catissue/domain/abstract_position.rb
92
+ - lib/catissue/domain/abstract_specimen.rb
93
+ - lib/catissue/domain/abstract_specimen_collection_group.rb
94
+ - lib/catissue/domain/address.rb
95
+ - lib/catissue/domain/cancer_research_group.rb
96
+ - lib/catissue/domain/capacity.rb
97
+ - lib/catissue/domain/check_in_check_out_event_parameter.rb
98
+ - lib/catissue/domain/collection_event_parameters.rb
99
+ - lib/catissue/domain/collection_protocol.rb
100
+ - lib/catissue/domain/collection_protocol_event.rb
101
+ - lib/catissue/domain/collection_protocol_registration.rb
102
+ - lib/catissue/domain/consent_tier_response.rb
103
+ - lib/catissue/domain/consent_tier_status.rb
104
+ - lib/catissue/domain/container.rb
105
+ - lib/catissue/domain/container_position.rb
106
+ - lib/catissue/domain/container_type.rb
107
+ - lib/catissue/domain/department.rb
108
+ - lib/catissue/domain/disposal_event_parameters.rb
109
+ - lib/catissue/domain/embedded_event_parameters.rb
110
+ - lib/catissue/domain/external_identifier.rb
111
+ - lib/catissue/domain/frozen_event_parameters.rb
112
+ - lib/catissue/domain/institution.rb
113
+ - lib/catissue/domain/new_specimen_array_order_item.rb
114
+ - lib/catissue/domain/order_details.rb
115
+ - lib/catissue/domain/participant.rb
116
+ - lib/catissue/domain/participant_medical_identifier.rb
117
+ - lib/catissue/domain/password.rb
118
+ - lib/catissue/domain/race.rb
119
+ - lib/catissue/domain/received_event_parameters.rb
120
+ - lib/catissue/domain/scg_event_parameters.rb
121
+ - lib/catissue/domain/site.rb
122
+ - lib/catissue/domain/specimen.rb
123
+ - lib/catissue/domain/specimen_array.rb
124
+ - lib/catissue/domain/specimen_array_content.rb
125
+ - lib/catissue/domain/specimen_array_type.rb
126
+ - lib/catissue/domain/specimen_characteristics.rb
127
+ - lib/catissue/domain/specimen_collection_group.rb
128
+ - lib/catissue/domain/specimen_event_parameters.rb
129
+ - lib/catissue/domain/specimen_position.rb
130
+ - lib/catissue/domain/specimen_protocol.rb
131
+ - lib/catissue/domain/specimen_requirement.rb
132
+ - lib/catissue/domain/storage_container.rb
133
+ - lib/catissue/domain/storage_type.rb
134
+ - lib/catissue/domain/transfer_event_parameters.rb
135
+ - lib/catissue/domain/user.rb
136
+ - lib/catissue/extract/command.rb
137
+ - lib/catissue/extract/delta.rb
138
+ - lib/catissue/extract/extractor.rb
139
+ - lib/catissue/migration/migrator.rb
140
+ - lib/catissue/migration/shims.rb
141
+ - lib/catissue/migration/uniquify.rb
142
+ - lib/catissue/util/controlled_value.rb
143
+ - lib/catissue/util/location.rb
144
+ - lib/catissue/util/log.rb
145
+ - lib/catissue/util/person.rb
146
+ - lib/catissue/util/position.rb
147
+ - lib/catissue/util/storable.rb
148
+ - lib/catissue/util/storage_type_holder.rb
149
+ - History.txt
150
+ - LEGAL
151
+ - LICENSE
152
+ - README.md
153
+ rubygems_version: 1.3.7
154
+ rdoc_options: []
155
+
156
+ signing_key:
157
+ cert_chain: []
158
+
159
+ name: caruby-tissue
160
+ has_rdoc: catissue
161
+ platform: ruby
162
+ summary: Ruby facade for caTissue.
163
+ default_executable:
164
+ bindir: bin
165
+ licenses: []
166
+
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: "0"
173
+ segments:
174
+ - 0
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ none: false
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: "0"
181
+ segments:
182
+ - 0
183
+ require_paths:
184
+ - lib
185
+ specification_version: 3
186
+ test_files: []
187
+
188
+ dependencies:
189
+ - !ruby/object:Gem::Dependency
190
+ prerelease: false
191
+ type: :runtime
192
+ name: caruby-core
193
+ version_requirements: &id001 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - '>='
197
+ - !ruby/object:Gem::Version
198
+ version: "0"
199
+ segments:
200
+ - 0
201
+ requirement: *id001
202
+ description: " The caruby-tissue gem applies the caRuby facade to the caTissue \
203
+ application.\n"
204
+ email: caruby.org@gmail.com
205
+ authors:
206
+ - OHSU
207
+ extra_rdoc_files: []
208
+
209
+ requirements: []
210
+
211
+ rubyforge_project: caruby
212
+ autorequire: