ruby-fs-stack 0.4.12 → 0.5.0

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 (53) hide show
  1. data/README.rdoc +25 -1
  2. data/VERSION +1 -1
  3. data/lib/ruby-fs-stack/familytree.rb +13 -1435
  4. data/lib/ruby-fs-stack/familytree/characteristic.rb +12 -0
  5. data/lib/ruby-fs-stack/familytree/communicator.rb +412 -0
  6. data/lib/ruby-fs-stack/familytree/event.rb +49 -0
  7. data/lib/ruby-fs-stack/familytree/exist.rb +8 -0
  8. data/lib/ruby-fs-stack/familytree/gender.rb +9 -0
  9. data/lib/ruby-fs-stack/familytree/match.rb +3 -0
  10. data/lib/ruby-fs-stack/familytree/name.rb +69 -0
  11. data/lib/ruby-fs-stack/familytree/note.rb +48 -0
  12. data/lib/ruby-fs-stack/familytree/ordinance.rb +70 -0
  13. data/lib/ruby-fs-stack/familytree/pedigree.rb +103 -0
  14. data/lib/ruby-fs-stack/familytree/person.rb +495 -0
  15. data/lib/ruby-fs-stack/familytree/relationship.rb +209 -0
  16. data/lib/ruby-fs-stack/familytree/search.rb +27 -0
  17. data/lib/ruby-fs-stack/identity.rb +1 -37
  18. data/lib/ruby-fs-stack/identity/communicator.rb +41 -0
  19. data/ruby-fs-stack.gemspec +59 -43
  20. data/spec/{familytree_v2/familytree_communicator_spec.rb → ruby-fs-stack/familytree/communicator_spec.rb} +91 -1
  21. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/combine_request.js +0 -0
  22. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/combine_response.js +0 -0
  23. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/fakeweb_contributor.txt +0 -0
  24. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/fakeweb_pedigree.txt +0 -0
  25. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/fakeweb_pedigree2.txt +0 -0
  26. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/fakeweb_properties.txt +0 -0
  27. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/match_KW3B-NNM.js +0 -0
  28. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/note_create_response.js +0 -0
  29. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/KJ86-3VD_all.js +0 -0
  30. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/KJ86-3VD_parents_families.js +0 -0
  31. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/KJ86-3VD_version.js +0 -0
  32. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/fakeweb_10_batch.txt +0 -0
  33. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/fakeweb_6_batch.txt +0 -0
  34. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/multiple_version_read.js +0 -0
  35. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/post_response.js +0 -0
  36. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/relationship_not_found.js +0 -0
  37. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/relationship_read.js +0 -0
  38. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/relationship_update.js +0 -0
  39. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/person/spouse_read.js +0 -0
  40. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/json/search.js +0 -0
  41. data/spec/{familytree_v2/match_results_spec.rb → ruby-fs-stack/familytree/match_spec.rb} +1 -1
  42. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/note_spec.rb +1 -1
  43. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/pedigree_spec.rb +1 -1
  44. data/spec/{familytree_v2 → ruby-fs-stack/familytree}/person_spec.rb +1 -3
  45. data/spec/{familytree_v2/relationships_spec.rb → ruby-fs-stack/familytree/relationship_spec.rb} +1 -3
  46. data/spec/{familytree_v2/search_results_spec.rb → ruby-fs-stack/familytree/search_spec.rb} +1 -1
  47. data/spec/ruby-fs-stack/familytree/spec_helper.rb +2 -0
  48. data/spec/{communicator_spec.rb → ruby-fs-stack/fs_communicator_spec.rb} +5 -5
  49. data/spec/{fs_utils_spec.rb → ruby-fs-stack/fs_utils_spec.rb} +1 -1
  50. data/spec/ruby-fs-stack/identity/communicator_spec.rb +82 -0
  51. data/spec/{identity_v1 → ruby-fs-stack/identity}/json/login.js +0 -0
  52. metadata +61 -45
  53. data/spec/identity_v1/identity_spec.rb +0 -50
@@ -0,0 +1,209 @@
1
+ module Org::Familysearch::Ws::Familytree::V2::Schema
2
+
3
+ class RelationshipAssertions
4
+ # ====Params
5
+ # * <tt>options</tt> - :type ('Lineage' or valid CharacteristicType), :lineage => 'Biological', etc.
6
+ def add_characteristic(options)
7
+ self.characteristics ||= []
8
+ characteristic = CharacteristicAssertion.new
9
+ characteristic.add_value(options)
10
+ self.characteristics << characteristic
11
+ end
12
+
13
+ # ====Params
14
+ # * <tt>options</tt> - Accepts the following options
15
+ # ** :type - 'Marriage', etc. REQUIRED
16
+ # ** :date - 'Utah, United States' (optional)
17
+ # ** :place - '16 Nov 1987' (optional)
18
+ def add_event(options)
19
+ self.events ||= []
20
+ event = EventAssertion.new
21
+ event.add_value(options)
22
+ self.events << event
23
+ end
24
+
25
+ # ====Params
26
+ # * <tt>options</tt> - Accepts the following options
27
+ # ** :type - 'Sealing_to_Spouse', etc. REQUIRED
28
+ # ** :date - 'Utah, United States' (optional)
29
+ # ** :place - '16 Nov 1987' (optional)
30
+ # ** :temple - 'SLAKE'
31
+ def add_ordinance(options)
32
+ self.ordinances ||= []
33
+ ordinance = OrdinanceAssertion.new
34
+ ordinance.add_value(options)
35
+ self.ordinances << ordinance
36
+ end
37
+
38
+ def add_exists
39
+ self.exists ||= []
40
+ exist = ExistsAssertion.new
41
+ exist.add_value
42
+ self.exists << exist
43
+ end
44
+ end
45
+
46
+ class Relationship
47
+ def add_lineage_characteristic(lineage)
48
+ add_assertions!
49
+ self.assertions.add_characteristic(:type => 'Lineage', :lineage => lineage)
50
+ end
51
+
52
+ def add_exists
53
+ add_assertions!
54
+ self.assertions.add_exists
55
+ end
56
+
57
+ # ====Params
58
+ # * <tt>event_hash</tt> - Accepts the following options
59
+ # ** :type - 'Marriage', etc. REQUIRED
60
+ # ** :date - 'Utah, United States' (optional)
61
+ # ** :place - '16 Nov 1987' (optional)
62
+ def add_event(event_hash)
63
+ add_assertions!
64
+ self.assertions.add_event(event_hash)
65
+ end
66
+
67
+ # ====Params
68
+ # * <tt>ordinance_hash</tt> - Accepts the following options
69
+ # ** :type - 'Sealing_to_Spouse', etc. REQUIRED
70
+ # ** :date - 'Utah, United States' (optional)
71
+ # ** :place - '16 Nov 1987' (optional)
72
+ # ** :temple - 'SLAKE'
73
+ def add_ordinance(ordinance_hash)
74
+ add_assertions!
75
+ self.assertions.add_ordinance(ordinance_hash)
76
+ end
77
+
78
+ private
79
+ def add_assertions!
80
+ self.assertions ||= RelationshipAssertions.new
81
+ end
82
+ end
83
+
84
+ class FamilyReference
85
+ def select_spouse(spouse_id)
86
+ add_parents!
87
+ self.action = 'Select'
88
+ parent = PersonReference.new
89
+ parent.id = spouse_id
90
+ self.parents << parent
91
+ end
92
+
93
+ private
94
+ def add_parents!
95
+ self.parents ||= []
96
+ end
97
+ end
98
+
99
+ class ParentsReference
100
+ def select_parent(parent_id, gender)
101
+ add_parents!
102
+ self.action = 'Select'
103
+ parent = PersonReference.new
104
+ parent.gender = gender
105
+ parent.id = parent_id
106
+ self.parents << parent
107
+ end
108
+
109
+ private
110
+ def add_parents!
111
+ self.parents ||= []
112
+ end
113
+ end
114
+
115
+ class PersonRelationships
116
+ def initialize
117
+ @parents = []
118
+ @spouses = []
119
+ @children = []
120
+ end
121
+
122
+ # ====Params
123
+ # * <tt>options</tt> - requires the following:
124
+ # ** :type - 'parent', 'child', 'spouse'
125
+ # ** :with - ID of the person with whom you are making the relationship
126
+ # ** :lineage (optional) - 'Biological', 'Adoptive', etc.
127
+ # ** :event - a hash with values {:type => 'Marriage', :date => '15 Nov 2007', :place => 'Utah, United States'}
128
+ # ** :ordinance - a hash with values {:date => '15 Nov 2007', :temple => 'SLAKE', :place => 'Utah, United States', :type => "Sealing_to_Spouse"}
129
+ def add_relationship(options)
130
+ relationship = self.get_relationships_of_type(options[:type]).find{|r|r.id == options[:with] || r.requestedId == options[:with]}
131
+ if relationship.nil?
132
+ relationship = Relationship.new
133
+ relationship.id = options[:with]
134
+ end
135
+ if options[:lineage]
136
+ relationship.add_lineage_characteristic(options[:lineage]) if options[:lineage]
137
+ else
138
+ relationship.add_exists
139
+ end
140
+ if options[:event]
141
+ relationship.add_event(options[:event])
142
+ end
143
+ if options[:ordinance]
144
+ relationship.add_ordinance(options[:ordinance])
145
+ end
146
+ s_command = set_command(options[:type])
147
+ self.send(s_command.to_sym,[relationship])
148
+ end
149
+
150
+ # ====Params
151
+ # * type - should be 'child', 'spouse', or 'parent'
152
+ def get_relationships_of_type(type)
153
+ g_command = get_command(type)
154
+ relationships = self.send(g_command.to_sym)
155
+ end
156
+
157
+ # Overriding the Enunciate code because of a bug (parents, spouses, and children were not pluralized)
158
+ # the json hash for this PersonRelationships
159
+ def to_jaxb_json_hash
160
+ _h = {}
161
+ if !parents.nil?
162
+ _ha = Array.new
163
+ parents.each { | _item | _ha.push _item.to_jaxb_json_hash }
164
+ _h['parents'] = _ha
165
+ end
166
+ if !spouses.nil?
167
+ _ha = Array.new
168
+ spouses.each { | _item | _ha.push _item.to_jaxb_json_hash }
169
+ _h['spouses'] = _ha
170
+ end
171
+ if !children.nil?
172
+ _ha = Array.new
173
+ children.each { | _item | _ha.push _item.to_jaxb_json_hash }
174
+ _h['children'] = _ha
175
+ end
176
+ return _h
177
+ end
178
+
179
+ # Overriding the Enunciate code because of a bug
180
+ #initializes this PersonRelationships with a json hash
181
+ def init_jaxb_json_hash(_o)
182
+ if !_o['parents'].nil?
183
+ @parents = Array.new
184
+ _oa = _o['parents']
185
+ _oa.each { | _item | @parents.push Org::Familysearch::Ws::Familytree::V2::Schema::Relationship.from_json(_item) }
186
+ end
187
+ if !_o['spouses'].nil?
188
+ @spouses = Array.new
189
+ _oa = _o['spouses']
190
+ _oa.each { | _item | @spouses.push Org::Familysearch::Ws::Familytree::V2::Schema::Relationship.from_json(_item) }
191
+ end
192
+ if !_o['children'].nil?
193
+ @children = Array.new
194
+ _oa = _o['children']
195
+ _oa.each { | _item | @children.push Org::Familysearch::Ws::Familytree::V2::Schema::Relationship.from_json(_item) }
196
+ end
197
+ end
198
+
199
+ private
200
+ def get_command(type)
201
+ (type.to_s == 'child') ? 'children' : "#{type}s"
202
+ end
203
+
204
+ def set_command(type)
205
+ get_command(type)+"="
206
+ end
207
+ end
208
+
209
+ end
@@ -0,0 +1,27 @@
1
+ module Org::Familysearch::Ws::Familytree::V2::Schema
2
+
3
+ class SearchPerson
4
+ alias :name :full_name
5
+ alias :ref :id
6
+ def events
7
+ (assertions && assertions.events) ? assertions.events : []
8
+ end
9
+
10
+ # Always will return nil. Method is here for v1 backwards compatibility
11
+ def marriage
12
+ nil
13
+ end
14
+ end
15
+
16
+ class SearchResult
17
+ alias :ref :id
18
+
19
+ def father
20
+ parents.find{|p|p.gender == 'Male'}
21
+ end
22
+
23
+ def mother
24
+ parents.find{|p|p.gender == 'Female'}
25
+ end
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  require 'rubygems'
2
- require 'ruby-fs-stack/fs_communicator'
2
+ require 'ruby-fs-stack/identity/communicator'
3
3
  # Including more than one enunciate library raises a warning of
4
4
  # already initialized constant.
5
5
  require 'ruby-fs-stack/warning_suppressor'
@@ -7,39 +7,3 @@ with_warnings_suppressed do
7
7
  require 'ruby-fs-stack/enunciate/identity'
8
8
  end
9
9
 
10
- module IdentityV1
11
-
12
- # This method gets mixed into the FsCommunicator so that
13
- # you can make calls on the fs_familytree_v1 module
14
- def identity_v1
15
- @identity_v1_com ||= Communicator.new self # self at this point refers to the FsCommunicator instance
16
- end
17
-
18
- class Communicator
19
- Base = '/identity/v1/'
20
-
21
- # ====params
22
- # fs_communicator: FsCommunicator instance
23
- def initialize(fs_communicator)
24
- @communicator = fs_communicator
25
- end
26
-
27
- # ==== Params
28
- # <tt>credentials</tt> - :username, :password
29
- def authenticate(credentials = {})
30
- url = Base + 'login'
31
- response = @communicator.get(url, credentials)
32
- login_result = Org::Familysearch::Ws::Identity::V1::Schema::Identity.from_json JSON.parse(response.body)
33
- if login_result.statusCode == 200
34
- @communicator.session = login_result.session.id
35
- return true
36
- end
37
- end
38
- end
39
-
40
- end
41
-
42
- # Mix in the module so that the identity_v1 can be called
43
- class FsCommunicator
44
- include IdentityV1
45
- end
@@ -0,0 +1,41 @@
1
+ require 'ruby-fs-stack/fs_communicator'
2
+ module IdentityV1
3
+
4
+ # This method gets mixed into the FsCommunicator so that
5
+ # you can make calls on the fs_familytree_v1 module
6
+ def identity_v1
7
+ @identity_v1_com ||= Communicator.new self # self at this point refers to the FsCommunicator instance
8
+ end
9
+
10
+ class Communicator
11
+ Base = '/identity/v1/'
12
+
13
+ # ====params
14
+ # fs_communicator: FsCommunicator instance
15
+ def initialize(fs_communicator)
16
+ @communicator = fs_communicator
17
+ end
18
+
19
+ # ==== Params
20
+ # <tt>credentials</tt> - :username, :password
21
+ def authenticate(credentials = {})
22
+ url = Base + 'login'
23
+ response = @communicator.get(url, credentials)
24
+ if response.code == '200'
25
+ login_result = Org::Familysearch::Ws::Identity::V1::Schema::Identity.from_json JSON.parse(response.body)
26
+ @communicator.session = login_result.session.id
27
+ return true
28
+ else
29
+ return false
30
+ end
31
+ end
32
+
33
+ alias :login :authenticate
34
+ end
35
+
36
+ end
37
+
38
+ # Mix in the module so that the identity_v1 can be called
39
+ class FsCommunicator
40
+ include IdentityV1
41
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ruby-fs-stack}
8
- s.version = "0.4.12"
8
+ s.version = "0.5.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jimmy Zimmerman"]
12
- s.date = %q{2010-05-01}
12
+ s.date = %q{2010-05-15}
13
13
  s.description = %q{A library that enables you to read and update information with the new.familysearch.org API.}
14
14
  s.email = %q{jimmy.zimmerman@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -33,43 +33,58 @@ Gem::Specification.new do |s|
33
33
  "lib/ruby-fs-stack/enunciate/identity.rb",
34
34
  "lib/ruby-fs-stack/errors.rb",
35
35
  "lib/ruby-fs-stack/familytree.rb",
36
+ "lib/ruby-fs-stack/familytree/characteristic.rb",
37
+ "lib/ruby-fs-stack/familytree/communicator.rb",
38
+ "lib/ruby-fs-stack/familytree/event.rb",
39
+ "lib/ruby-fs-stack/familytree/exist.rb",
40
+ "lib/ruby-fs-stack/familytree/gender.rb",
41
+ "lib/ruby-fs-stack/familytree/match.rb",
42
+ "lib/ruby-fs-stack/familytree/name.rb",
43
+ "lib/ruby-fs-stack/familytree/note.rb",
44
+ "lib/ruby-fs-stack/familytree/ordinance.rb",
45
+ "lib/ruby-fs-stack/familytree/pedigree.rb",
46
+ "lib/ruby-fs-stack/familytree/person.rb",
47
+ "lib/ruby-fs-stack/familytree/relationship.rb",
48
+ "lib/ruby-fs-stack/familytree/search.rb",
36
49
  "lib/ruby-fs-stack/fs_communicator.rb",
37
50
  "lib/ruby-fs-stack/fs_utils.rb",
38
51
  "lib/ruby-fs-stack/identity.rb",
52
+ "lib/ruby-fs-stack/identity/communicator.rb",
39
53
  "lib/ruby-fs-stack/warning_suppressor.rb",
40
54
  "ruby-fs-stack.gemspec",
41
- "spec/communicator_spec.rb",
42
- "spec/familytree_v2/familytree_communicator_spec.rb",
43
- "spec/familytree_v2/json/combine_request.js",
44
- "spec/familytree_v2/json/combine_response.js",
45
- "spec/familytree_v2/json/fakeweb_contributor.txt",
46
- "spec/familytree_v2/json/fakeweb_pedigree.txt",
47
- "spec/familytree_v2/json/fakeweb_pedigree2.txt",
48
- "spec/familytree_v2/json/fakeweb_properties.txt",
49
- "spec/familytree_v2/json/match_KW3B-NNM.js",
50
- "spec/familytree_v2/json/note_create_response.js",
51
- "spec/familytree_v2/json/person/KJ86-3VD_all.js",
52
- "spec/familytree_v2/json/person/KJ86-3VD_parents_families.js",
53
- "spec/familytree_v2/json/person/KJ86-3VD_version.js",
54
- "spec/familytree_v2/json/person/fakeweb_10_batch.txt",
55
- "spec/familytree_v2/json/person/fakeweb_6_batch.txt",
56
- "spec/familytree_v2/json/person/multiple_version_read.js",
57
- "spec/familytree_v2/json/person/post_response.js",
58
- "spec/familytree_v2/json/person/relationship_not_found.js",
59
- "spec/familytree_v2/json/person/relationship_read.js",
60
- "spec/familytree_v2/json/person/relationship_update.js",
61
- "spec/familytree_v2/json/person/spouse_read.js",
62
- "spec/familytree_v2/json/search.js",
63
- "spec/familytree_v2/match_results_spec.rb",
64
- "spec/familytree_v2/note_spec.rb",
65
- "spec/familytree_v2/pedigree_spec.rb",
66
- "spec/familytree_v2/person_spec.rb",
67
- "spec/familytree_v2/relationships_spec.rb",
68
- "spec/familytree_v2/search_results_spec.rb",
69
55
  "spec/fixtures/fakeweb_response.txt",
70
- "spec/fs_utils_spec.rb",
71
- "spec/identity_v1/identity_spec.rb",
72
- "spec/identity_v1/json/login.js",
56
+ "spec/ruby-fs-stack/familytree/communicator_spec.rb",
57
+ "spec/ruby-fs-stack/familytree/json/combine_request.js",
58
+ "spec/ruby-fs-stack/familytree/json/combine_response.js",
59
+ "spec/ruby-fs-stack/familytree/json/fakeweb_contributor.txt",
60
+ "spec/ruby-fs-stack/familytree/json/fakeweb_pedigree.txt",
61
+ "spec/ruby-fs-stack/familytree/json/fakeweb_pedigree2.txt",
62
+ "spec/ruby-fs-stack/familytree/json/fakeweb_properties.txt",
63
+ "spec/ruby-fs-stack/familytree/json/match_KW3B-NNM.js",
64
+ "spec/ruby-fs-stack/familytree/json/note_create_response.js",
65
+ "spec/ruby-fs-stack/familytree/json/person/KJ86-3VD_all.js",
66
+ "spec/ruby-fs-stack/familytree/json/person/KJ86-3VD_parents_families.js",
67
+ "spec/ruby-fs-stack/familytree/json/person/KJ86-3VD_version.js",
68
+ "spec/ruby-fs-stack/familytree/json/person/fakeweb_10_batch.txt",
69
+ "spec/ruby-fs-stack/familytree/json/person/fakeweb_6_batch.txt",
70
+ "spec/ruby-fs-stack/familytree/json/person/multiple_version_read.js",
71
+ "spec/ruby-fs-stack/familytree/json/person/post_response.js",
72
+ "spec/ruby-fs-stack/familytree/json/person/relationship_not_found.js",
73
+ "spec/ruby-fs-stack/familytree/json/person/relationship_read.js",
74
+ "spec/ruby-fs-stack/familytree/json/person/relationship_update.js",
75
+ "spec/ruby-fs-stack/familytree/json/person/spouse_read.js",
76
+ "spec/ruby-fs-stack/familytree/json/search.js",
77
+ "spec/ruby-fs-stack/familytree/match_spec.rb",
78
+ "spec/ruby-fs-stack/familytree/note_spec.rb",
79
+ "spec/ruby-fs-stack/familytree/pedigree_spec.rb",
80
+ "spec/ruby-fs-stack/familytree/person_spec.rb",
81
+ "spec/ruby-fs-stack/familytree/relationship_spec.rb",
82
+ "spec/ruby-fs-stack/familytree/search_spec.rb",
83
+ "spec/ruby-fs-stack/familytree/spec_helper.rb",
84
+ "spec/ruby-fs-stack/fs_communicator_spec.rb",
85
+ "spec/ruby-fs-stack/fs_utils_spec.rb",
86
+ "spec/ruby-fs-stack/identity/communicator_spec.rb",
87
+ "spec/ruby-fs-stack/identity/json/login.js",
73
88
  "spec/ruby-fs-stack_spec.rb",
74
89
  "spec/spec_helper.rb"
75
90
  ]
@@ -80,16 +95,17 @@ Gem::Specification.new do |s|
80
95
  s.rubygems_version = %q{1.3.6}
81
96
  s.summary = %q{Ruby wrapper for all FamilySearch APIs.}
82
97
  s.test_files = [
83
- "spec/communicator_spec.rb",
84
- "spec/familytree_v2/familytree_communicator_spec.rb",
85
- "spec/familytree_v2/match_results_spec.rb",
86
- "spec/familytree_v2/note_spec.rb",
87
- "spec/familytree_v2/pedigree_spec.rb",
88
- "spec/familytree_v2/person_spec.rb",
89
- "spec/familytree_v2/relationships_spec.rb",
90
- "spec/familytree_v2/search_results_spec.rb",
91
- "spec/fs_utils_spec.rb",
92
- "spec/identity_v1/identity_spec.rb",
98
+ "spec/ruby-fs-stack/familytree/communicator_spec.rb",
99
+ "spec/ruby-fs-stack/familytree/match_spec.rb",
100
+ "spec/ruby-fs-stack/familytree/note_spec.rb",
101
+ "spec/ruby-fs-stack/familytree/pedigree_spec.rb",
102
+ "spec/ruby-fs-stack/familytree/person_spec.rb",
103
+ "spec/ruby-fs-stack/familytree/relationship_spec.rb",
104
+ "spec/ruby-fs-stack/familytree/search_spec.rb",
105
+ "spec/ruby-fs-stack/familytree/spec_helper.rb",
106
+ "spec/ruby-fs-stack/fs_communicator_spec.rb",
107
+ "spec/ruby-fs-stack/fs_utils_spec.rb",
108
+ "spec/ruby-fs-stack/identity/communicator_spec.rb",
93
109
  "spec/ruby-fs-stack_spec.rb",
94
110
  "spec/spec_helper.rb",
95
111
  "examples/familytree_example.rb",