caruby-core 1.5.2 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.md CHANGED
@@ -1,6 +1,10 @@
1
1
  This history lists major release themes. See the GitHub Commits (https://github.com/caruby/core)
2
2
  for change details.
3
3
 
4
+ 1.5.3 / 2011-07-08
5
+ ------------------
6
+ * Clean up documentation.
7
+
4
8
  1.5.2 / 2011-07-06
5
9
  ------------------
6
10
  * Minor gem build improvement.
@@ -3,7 +3,7 @@ require 'caruby/util/log'
3
3
 
4
4
  module CaRuby
5
5
  module CLI
6
- # Extends the standard Logger::Application to use the {CaRuby::Log} and add start
6
+ # Extends the standard Logger::Application to use the {Log} and add start
7
7
  # functionality.
8
8
  class Application < Logger::Application
9
9
  # @param [String] appname the application name
@@ -14,7 +14,7 @@ module CaRuby
14
14
  # * allow one custom converter with different semantics: if the converter block
15
15
  # call returns nil, then continue conversion, otherwise return the converter
16
16
  # result. This differs from FasterCSV converter semantics which calls converters
17
- # as long the result == the input field value. The CsvIO converter semantics
17
+ # as long the result equals the input field value. The CsvIO converter semantics
18
18
  # supports converters that intend a String result to be the converted result.
19
19
  #
20
20
  # CsvIO is Enumerable, but does not implement the complete Ruby IO interface.
@@ -38,7 +38,7 @@ module CaRuby
38
38
  end
39
39
  end
40
40
 
41
- # {#open}s the given CSV file and calls {#each} with the given block.
41
+ # Opens the given CSV file and calls {#each} with the given block.
42
42
  #
43
43
  # @param (see #initialize)
44
44
  # @option (see #initialize)
@@ -24,9 +24,9 @@ module CaRuby
24
24
  #
25
25
  # Database strives to provide a simple WYEIWYG (What You Expect Is What You Get) API, consisting of
26
26
  # the following workhorse methods:
27
- # * {Query#query} - fetch domain objects which match a template
28
- # * {Store#find} - fetch a specific domain object by key
29
- # * {Store#store} - if a domain object exists in the database, then update it, otherwise create it
27
+ # * {Reader#query} - fetch domain objects which match a template
28
+ # * {Reader#find} - fetch a specific domain object by key
29
+ # * {Writer#save} - if a domain object exists in the database, then update it, otherwise create it
30
30
  #
31
31
  # Any domain object can serve as a query argument. If an optional attribute path is specified, then
32
32
  # that path is followed to the result, e.g.:
@@ -36,10 +36,10 @@ module CaRuby
36
36
  # A domain object find argument must contain enough data to determine whether it exists in the database,
37
37
  # i.e. the find argument has a database identifier or a complete secondary key.
38
38
  #
39
- # The {Store#store} method creates or updates references as necessary to persist its argument domain object.
39
+ # The {Writer#save} method creates or updates references as necessary to persist its argument domain object.
40
40
  # It is not necessary to fetch references first or follow dependency ordering rules, which can be
41
41
  # implicit and tortuous in caBIG applications. Build the object you want to persist and call the
42
- # store method. CaRuby::Resource sets reasonable default values, recognizes application dependencies and steers
42
+ # store method. {Resource} sets reasonable default values, recognizes application dependencies and steers
43
43
  # around caBIG idiosyncracies to the extent possible.
44
44
  class Database
45
45
  include Reader, Writer, Persistifier
@@ -92,8 +92,7 @@ module CaRuby
92
92
  #
93
93
  # This bug might be a low-level JRuby-Java-caCORE-Hibernate confusion where something in
94
94
  # caCORE stomps on an existing JRuby object graph. To reproduce, move the appService call
95
- # to the start_session method and run {PCBIN::MigrationTest#test_save} with all but the
96
- # verify_save(:biopsy, BIOPSY_OPTS) line commented out.
95
+ # to the start_session method and run the +PSBIN::MigrationTest+ biopsy save test case.
97
96
  #
98
97
  # @param [String] service_name the name of the default {PersistenceService}
99
98
  # @param [{Symbol => String}] opts access options
@@ -8,8 +8,7 @@ module CaRuby
8
8
  # The Persistable mixin adds persistance capability. Every instance which includes Persistable
9
9
  # must respond to an overrided {#database} method.
10
10
  module Persistable
11
- # @return [{Symbol => Object}] the content value hash at the point of the last {#take_snapshot}
12
- # call
11
+ # @return [{Symbol => Object}] the content value hash at the point of the last snapshot
13
12
  attr_reader :snapshot
14
13
 
15
14
  # @param [Resource, <Resource>, nil] obj the object(s) to check
@@ -198,8 +197,8 @@ module CaRuby
198
197
  end
199
198
 
200
199
  # Returns the attributes to load on demand. The base attribute list is given by the
201
- # {Attributes#loadable_attributes} whose value is nil or empty.
202
- # In addition, if this Persistable has more than one {Dependency#owner_attributes}
200
+ # {Domain::Attributes#loadable_attributes} whose value is nil or empty.
201
+ # In addition, if this Persistable has more than one {Domain::Dependency#owner_attributes}
203
202
  # and one is non-nil, then none of the owner attributes are loaded on demand,
204
203
  # since there can be at most one owner and ownership cannot change.
205
204
  #
@@ -233,7 +232,7 @@ module CaRuby
233
232
  end
234
233
 
235
234
  # Returns this domain object's attributes which must be fetched to reflect the database state.
236
- # This default implementation returns the {Attributes#autogenerated_logical_dependent_attributes}
235
+ # This default implementation returns the {Domain::Attributes#autogenerated_logical_dependent_attributes}
237
236
  # if this domain object does not have an identifier, or an empty array otherwise.
238
237
  # Subclasses can override to relax or restrict the condition.
239
238
  #
@@ -262,11 +261,11 @@ module CaRuby
262
261
  end
263
262
  end
264
263
 
265
- # Relaxes the {CaRuby::Persistable#saved_fetch_attributes} condition for a SCG as follows:
264
+ # Relaxes the {#saved_fetch_attributes} condition for a SCG as follows:
266
265
  # * If the SCG status was updated from +Pending+ to +Collected+, then fetch the saved SCG event parameters.
267
266
  #
268
- # @param (see CaRuby::Persistable#saved_fetch_attributes)
269
- # @return (see CaRuby::Persistable#saved_fetch_attributes)
267
+ # @param (see #saved_fetch_attributes)
268
+ # @return (see #saved_fetch_attributes)
270
269
  def autogenerated?(operation)
271
270
  operation == :update && status_changed_to_complete? ? EVENT_PARAM_ATTRS : super
272
271
  end
@@ -309,7 +308,7 @@ module CaRuby
309
308
  ag_attrs.any? { |attr| not send(attr).nil_or_empty? }
310
309
  end
311
310
 
312
- # Sets the {Attributes#volatile_nondomain_attributes} to the other fetched value,
311
+ # Sets the {Domain::Attributes#volatile_nondomain_attributes} to the other fetched value,
313
312
  # if different.
314
313
  #
315
314
  # @param [Resource] other the fetched domain object reflecting the database state
@@ -17,7 +17,7 @@ module CaRuby
17
17
  # The service name.
18
18
  attr_reader :name
19
19
 
20
- # The {Util::Stopwatch} which captures the time spent in database operations performed by the application service.
20
+ # The {Stopwatch} which captures the time spent in database operations performed by the application service.
21
21
  attr_reader :timer
22
22
 
23
23
  # Creates a new PersistenceService with the specified application service name and options.
@@ -32,7 +32,7 @@ module CaRuby
32
32
  # is a String, then the HQL statement String is executed.
33
33
  #
34
34
  # Otherwise, the query condition is determined by the values set in the template.
35
- # The non-nil {Attributes#searchable_attributes} are used in the query.
35
+ # The non-nil {Domain::Attributes#searchable_attributes} are used in the query.
36
36
  #
37
37
  # The optional path arguments are attribute symbols from the template to the
38
38
  # destination class, e.g.:
@@ -5,7 +5,7 @@ module CaRuby
5
5
  # SearchTemplateBuilder builds a template suitable for a caCORE saarch database operation.
6
6
  class SearchTemplateBuilder
7
7
  # Returns a template for matching the domain object obj and the optional hash values.
8
- # The default hash attributes are the {Attributes#searchable_attributes}.
8
+ # The default hash attributes are the {Domain::Attributes#searchable_attributes}.
9
9
  # The template includes only the non-domain attributes of the hash references.
10
10
  #
11
11
  # @quirk caCORE Because of caCORE API limitations, the obj searchable attribute
@@ -7,7 +7,7 @@ module CaRuby
7
7
  # the template are determined by the block given to this initializer, filtered as follows:
8
8
  # * If the save operation is a create, then exclude the auto-generated attributes.
9
9
  # * If the visited object has an identifier, then include only those attributes
10
- # which {Attribute#cascade_update_to_create?} or have an identifier.
10
+ # which {Domain::Attribute#cascade_update_to_create?} or have an identifier.
11
11
  #
12
12
  # @param [Database] database the target database
13
13
  # @yield [ref] the required selector block which determines which attributes are copied into the template
@@ -113,11 +113,11 @@ module CaRuby
113
113
 
114
114
  # Returns the attributes to visit in building the template for the given
115
115
  # domain object. The visitable attributes consist of the following:
116
- # * The {Attributes#unproxied_savable_template_attributes} filtered as follows:
116
+ # * The {Domain::Attributes#unproxied_savable_template_attributes} filtered as follows:
117
117
  # * If the database operation is a create, then exclude the cascaded attributes.
118
118
  # * If the given object has an identifier, then exclude the attributes which
119
119
  # have the the :no_cascade_update_to_create flag set.
120
- # * The {Attributes#proxied_savable_template_attributes} are included if and
120
+ # * The {Domain::Attributes#proxied_savable_template_attributes} are included if and
121
121
  # only if every referenced object has an identifier, and therefore does not
122
122
  # need to be proxied.
123
123
  #
@@ -139,7 +139,7 @@ module CaRuby
139
139
 
140
140
  # Filters the given attributes, if necessary, to exclude attributes as follows:
141
141
  # * If the save operation is a create, then exclude the
142
- # {Attribute#autogenerated_on_create?} attributes.
142
+ # {Domain::Attribute#autogenerated_on_create?} attributes.
143
143
  #
144
144
  # @param [Resource] obj the visited domain object
145
145
  # @param [Attributes::Filter] the savable attribute filter
@@ -155,7 +155,7 @@ module CaRuby
155
155
  # Composes the given attributes, if necessary, to exclude attributes as follows:
156
156
  # * If the save operation is a create, then exclude the auto-generated attributes.
157
157
  # * If the visited object has an identifier, then include only those attributes
158
- # which {Attribute#cascade_update_to_create?} or have an identifier.
158
+ # which {Domain::Attribute#cascade_update_to_create?} or have an identifier.
159
159
  #
160
160
  # @param (see #mergeable_attributes)
161
161
  # @return (see #mergeable_attributes)
@@ -196,7 +196,7 @@ module CaRuby
196
196
  # rather than the desired cascaded state. Play along with this bizarre
197
197
  # mechanism by adding our own bizarre work-around mechanism to copy a
198
198
  # proxied reference only if it has an identifier. This works only because
199
- # another work-around in the #{CaRuby::Database::Writer} updates proxied
199
+ # another work-around in the #{Writer} updates proxied
200
200
  # references via the proxy create before building the update template.
201
201
  def copy_proxied_save_references(obj, template)
202
202
  return unless obj.identifier
@@ -245,7 +245,7 @@ module CaRuby
245
245
  @flags.include?(:autogenerated) or @flags.include?(:autogenerated_on_update)
246
246
  end
247
247
 
248
- # Returns whether the the subject attribute is #{autogenerated?} for create. An attribute is
248
+ # Returns whether the the subject attribute is {#autogenerated?} for create. An attribute is
249
249
  # auto-generated for create if the +:autogenerate+ flag is set and the
250
250
  # +:autogenerated_on_update+ flag is not set.
251
251
  #
@@ -307,7 +307,7 @@ module CaRuby
307
307
 
308
308
  # A Java attribute is an uncreated dependent if any of the following conditions hold:
309
309
  # * the attribute is a {#logical?} dependent
310
- # * the attribute is a #dependent? which is not {#creatable?}
310
+ # * the attribute is a {#dependent?} which is not {#creatable?}
311
311
  #
312
312
  # @return [Boolean] whether this attribute is saved in a create operation
313
313
  def uncreated_dependent?
@@ -333,7 +333,7 @@ module CaRuby
333
333
  cascaded? or @flags.include?(:include_in_save_template)
334
334
  end
335
335
 
336
- # Returns whether this attribute is #{#cascaded} and cascades a parent update to a child
336
+ # Returns whether this attribute is #{#cascaded?} and cascades a parent update to a child
337
337
  # create. This corresponds to the Hibernate +save-update+ cascade style but not the Hibernate
338
338
  # +all+ cascade style.
339
339
  #
@@ -79,7 +79,7 @@ module CaRuby
79
79
  end
80
80
 
81
81
  # Configures this importer with the given options. This method is intended for use by the
82
- # {#extend_module} method.
82
+ # +extend_module+ method.
83
83
  #
84
84
  # @param [{Symbol => Object}] opts the extension options
85
85
  # @option opts [String] :package the required Java package name
@@ -20,13 +20,13 @@ module CaRuby
20
20
  #
21
21
  # If other is not a Hash, then the other object's attributes values are merged into
22
22
  # this object. The default attributes is this mergeable's class
23
- # {Attributes#mergeable_attributes}.
23
+ # {Domain::Attributes#mergeable_attributes}.
24
24
  #
25
25
  # The merge is performed by calling {#merge_attribute} on each attribute with the matches
26
26
  # and merger block given to this method.
27
27
  #
28
28
  # @param [Mergeable, {Symbol => Object}] other the source domain object or value hash to merge from
29
- # @param [<Symbol>, nil] attributes the attributes to merge (default {Attributes#nondomain_attributes})
29
+ # @param [<Symbol>, nil] attributes the attributes to merge (default {Domain::Attributes#nondomain_attributes})
30
30
  # @param [{Resource => Resource}, nil] the optional merge source => target reference matches
31
31
  # @yield [attribute, oldval, newval] the optional merger block
32
32
  # @yieldparam [Symbol] attribute the merge target attribute
@@ -21,7 +21,7 @@ module CaRuby
21
21
  # Creates a new ReferenceVisitor on domain reference attributes.
22
22
  #
23
23
  # If a selector block is given to this initializer, then the reference attributes to visit
24
- # are determined by calling the block. Otherwise, the {Attributes#saved_domain_attributes}
24
+ # are determined by calling the block. Otherwise, the {Domain::Attributes#saved_domain_attributes}
25
25
  # are visited.
26
26
  #
27
27
  # @param options (see Visitor#initialize)
@@ -70,7 +70,7 @@ module CaRuby
70
70
  end
71
71
 
72
72
  # Adds a default matcher block if necessary and delegates to {Visitor#sync}. The default matcher block
73
- # calls {CaRuby::Resource#match_in} to match the candidate domain objects to visit.
73
+ # calls {Resource#match_in} to match the candidate domain objects to visit.
74
74
  #
75
75
  # @yield [ref, others] matches ref in others (optional)
76
76
  # @yieldparam [Resource] ref the domain object to match
@@ -79,8 +79,8 @@ module CaRuby
79
79
  # Subclasses can modify this method to complete the migration. The overridden
80
80
  # methods should call +super+ to pick up the superclass migration.
81
81
  #
82
- # @param [Hash] row the input row
83
- # @param [Enumerable] migrated the migrated instances, including this Resource
82
+ # @param [{Symbol => Object}] row the input row field => value hash
83
+ # @param [<Resource>] migrated the migrated instances, including this domain object
84
84
  def migrate(row, migrated)
85
85
  end
86
86
 
@@ -102,8 +102,8 @@ module CaRuby
102
102
  # for the _attribute_ to modify.
103
103
  #
104
104
  # The migratable reference attributes consist of the non-collection
105
- # {Attributes#saved_independent_attributes} and
106
- # {Attributes#unidirectional_dependent_attributes} which don't already have a value.
105
+ # {Domain::Attributes#saved_independent_attributes} and
106
+ # {Domain::Attributes#unidirectional_dependent_attributes} which don't already have a value.
107
107
  # For each such migratable attribute, if there is a single instance of the attribute
108
108
  # type in the given migrated domain objects, then the attribute is set to that
109
109
  # migrated instance.
@@ -27,7 +27,7 @@ module CaRuby
27
27
  # Creates a new Migrator.
28
28
  #
29
29
  # @param [{Symbol => Object}] opts the migration options
30
- # @option opts [String] :database required application {CaRuby::Database}
30
+ # @option opts [String] :database required application {Database}
31
31
  # @option opts [String] :target required target domain class
32
32
  # @option opts [String] :mapping required input field => caTissue attribute mapping file
33
33
  # @option opts [String] :defaults optional caTissue attribute => value default mapping file
@@ -40,7 +40,7 @@ module CaRuby
40
40
 
41
41
  # Sets the default attribute values for this domain object and its dependents. If this Resource
42
42
  # does not have an identifier, then missing attributes are set to the values defined by
43
- # {Attributes#add_attribute_defaults}.
43
+ # {Domain::Attributes#add_attribute_defaults}.
44
44
  #
45
45
  # Subclasses should override the private {#add_defaults_local} method rather than this method.
46
46
  #
@@ -62,12 +62,12 @@ module CaRuby
62
62
  add_defaults_recursive
63
63
  end
64
64
 
65
- # Validates this domain object and its #{Attributes.unproxied_savable_template_attributes}
65
+ # Validates this domain object and its #{Domain::Attributes#unproxied_savable_template_attributes}
66
66
  # for completeness prior to a database create operation.
67
67
  # An object without an identifer is valid if it contains a non-nil value for each mandatory property.
68
68
  # Objects which have an identifier or have already been validated are skipped.
69
69
  #
70
- # Subclasses should not override this method, but override the private {#local_validate} instead.
70
+ # Subclasses should not override this method, but override the private {#validate_local} instead.
71
71
  #
72
72
  # @return [Resource] this domain object
73
73
  # @raise (see #validate_local)
@@ -120,7 +120,7 @@ module CaRuby
120
120
  # Returns a new domain object with the given attributes copied from this domain object.
121
121
  # The attributes argument consists of either attribute Symbols or a single Enumerable
122
122
  # consisting of Symbols.
123
- # The default attributes are the {Attributes#nondomain_attributes}.
123
+ # The default attributes are the {Domain::Attributes#nondomain_attributes}.
124
124
  #
125
125
  # @param [<Symbol>, (<Symbol>)] attributes the attributes to copy
126
126
  # @return [Resource] a copy of this domain object
@@ -135,7 +135,7 @@ module CaRuby
135
135
  end
136
136
 
137
137
  # Clears the given attribute value. If the current value responds to the +clear+ method,
138
- # then the current value is cleared. Otherwise, the value is set to {Metadata#empty_value}.
138
+ # then the current value is cleared. Otherwise, the value is set to {Domain::Metadata#empty_value}.
139
139
  #
140
140
  # @param [Symbol] attribute the attribute to clear
141
141
  def clear_attribute(attribute)
@@ -213,7 +213,7 @@ module CaRuby
213
213
  end
214
214
 
215
215
  # Returns an attribute => value hash for the specified attributes with a non-nil, non-empty value.
216
- # The default attributes are this domain object's class {Attributes#attributes}.
216
+ # The default attributes are this domain object's class {Domain::Attributes#attributes}.
217
217
  # Only non-nil attributes defined by this Resource are included in the result hash.
218
218
  #
219
219
  # @param [<Symbol>, nil] attributes the attributes to merge
@@ -258,7 +258,7 @@ module CaRuby
258
258
  end
259
259
 
260
260
  # Returns the attributes which are required for save. This base implementation returns the
261
- # class {Attributes#mandatory_attributes}. Subclasses can override this method
261
+ # class {Domain::Attributes#mandatory_attributes}. Subclasses can override this method
262
262
  # for domain object state-specific refinements.
263
263
  #
264
264
  # @return [<Symbol>] the required attributes for a save operation
@@ -341,7 +341,7 @@ module CaRuby
341
341
  end
342
342
 
343
343
  # Returns the difference between this Persistable and the other Persistable for the
344
- # given attributes. The default attributes are the {Attributes#nondomain_attributes}.
344
+ # given attributes. The default attributes are the {Domain::Attributes#nondomain_attributes}.
345
345
  #
346
346
  # @param [Resource] other the domain object to compare
347
347
  # @param [<Symbol>, nil] attributes the attributes to compare
@@ -448,7 +448,7 @@ module CaRuby
448
448
 
449
449
  # Prints this domain object's content and recursively prints the referenced content.
450
450
  # The optional selector block determines the attributes to print. The default is the
451
- # {Attributes#java_attributes}. The database lazy loader is disabled during
451
+ # {Domain::Attributes#java_attributes}. The database lazy loader is disabled during
452
452
  # the execution of this method. Thus, the printed content reflects the transient
453
453
  # in-memory object graph rather than the persistent content.
454
454
  #
@@ -65,7 +65,7 @@ module Enumerable
65
65
  end
66
66
 
67
67
  # Returns a new Hash generated from this Enumerable with a block whose arguments include the enumerated item
68
- # and its index. Every value which is {#nil_or_empty} is excluded.
68
+ # and its index. Every value which is nil or empty is excluded.
69
69
  #
70
70
  # @example
71
71
  # [1, 2, 3].to_compact_hash_with_index { |item, index| item + index } #=> { 1 => 1, 2 => 3, 3 => 5 }
@@ -1,3 +1,3 @@
1
1
  module CaRuby
2
- VERSION = "1.5.2"
2
+ VERSION = "1.5.3"
3
3
  end
@@ -35,7 +35,7 @@ module CaRuby
35
35
  assert_nothing_raised(ValidationError, msg) { subject.validate }
36
36
  end
37
37
 
38
- # Tests saving the subject. Calls {Database#save} on the subject and verifies that subject and its
38
+ # Tests saving the subject. Calls {Database::Writer#save} on the subject and verifies that subject and its
39
39
  # references were persisted.
40
40
  #
41
41
  # @param [Resource] subject the object to save
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caruby-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 5
9
- - 2
10
- version: 1.5.2
9
+ - 3
10
+ version: 1.5.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - OHSU
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-06 00:00:00 -07:00
18
+ date: 2011-07-08 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency