ruby-fs-stack 0.4.4 → 0.4.5

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.4
1
+ 0.4.5
@@ -1060,9 +1060,31 @@ module Org::Familysearch::Ws::Familytree::V2::Schema
1060
1060
  persona
1061
1061
  end
1062
1062
  end
1063
+
1064
+ def father_id
1065
+ parent_id('Male')
1066
+ end
1067
+
1068
+ def mother_id
1069
+ parent_id('Female')
1070
+ end
1071
+
1072
+ def spouse_id
1073
+ if families && families[0] && families[0].parents
1074
+ spouse_ref = families[0].parents.find{|p|p.id != self.id}
1075
+ spouse_ref.id if spouse_ref
1076
+ end
1077
+ end
1063
1078
 
1064
1079
  private
1065
1080
 
1081
+ def parent_id(gender)
1082
+ if parents && parents[0]
1083
+ parent_ref = parents[0].parents.find{|p|p.gender == gender}
1084
+ parent_ref.id if parent_ref
1085
+ end
1086
+ end
1087
+
1066
1088
  def add_parents!
1067
1089
  self.parents ||= []
1068
1090
  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.4"
8
+ s.version = "0.4.5"
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-02-19}
12
+ s.date = %q{2010-02-24}
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 = [
@@ -45,6 +45,7 @@ Gem::Specification.new do |s|
45
45
  "spec/familytree_v2/json/match_KW3B-NNM.js",
46
46
  "spec/familytree_v2/json/note_create_response.js",
47
47
  "spec/familytree_v2/json/person/KJ86-3VD_all.js",
48
+ "spec/familytree_v2/json/person/KJ86-3VD_parents_families.js",
48
49
  "spec/familytree_v2/json/person/KJ86-3VD_version.js",
49
50
  "spec/familytree_v2/json/person/multiple_version_read.js",
50
51
  "spec/familytree_v2/json/person/post_response.js",
@@ -0,0 +1 @@
1
+ {"persons":[{"id":"KJ86-3VD","version":"953482805275","assertions":{"names":[{"value":{"type":"Name","forms":[{"pieces":[{"value":"Parker","type":"Given","predelimiters":"","postdelimiters":" "},{"value":"Felch","type":"Family","predelimiters":"","postdelimiters":""}],"fullText":"Parker Felch","selected":false}]},"selected":{"date":1256700019279,"contributor":{"id":"MMN3-1QG"}}}],"events":[{"value":{"type":"Birth","date":{"selected":false,"normalized":"November 1808","original":"Nov 1808","astro":{"earliest":"2381723","latest":"2381752"}},"place":{"selected":false,"normalized":{"value":"Carroll, New Hampshire, United States","id":"1922","version":"3.5.0"},"original":"Carroll County, New Hampshire, United States"}},"selected":{"date":1256700019284,"contributor":{"id":"MMN3-1QG"}}},{"value":{"type":"Death","date":{"selected":false,"normalized":"1894","original":"1894","astro":{"earliest":"2412830","latest":"2413194"}}},"selected":{"date":1256700019285,"contributor":{"id":"MMN3-1QG"}}}],"genders":[{"value":{"type":"Male"}}]},"parents":[{"parents":[{"gender":"Male","id":"KJ86-3VW"},{"gender":"Female","id":"KFY6-FC8"}],"parent":[{"gender":"Male","id":"KJ86-3VW"},{"gender":"Female","id":"KFY6-FC8"}]}],"families":[{"parents":[{"gender":"Male","id":"KJ86-3VD"},{"gender":"Female","id":"279W-XKJ"}],"parent":[{"gender":"Male","id":"KJ86-3VD"},{"gender":"Female","id":"279W-XKJ"}],"marriage":{"value":{"type":"Marriage","date":{"selected":false,"normalized":"1828","original":" 1828","astro":{"earliest":"2388723","latest":"2389088"}},"place":{"selected":false,"normalized":{"value":"Piermont, Grafton, New Hampshire, United States","id":"799545","version":"3.5.0"},"original":"Piermont,Grafton,New Hampshire"}}}},{"parents":[{"gender":"Male","id":"KJ86-3VD"},{"gender":"Female","id":"MN98-WRS"}],"parent":[{"gender":"Male","id":"KJ86-3VD"},{"gender":"Female","id":"MN98-WRS"}]}],"requestedId":"KJ86-3VD"}],"version":"2.0.20091103.5215","statusCode":200,"statusMessage":"OK"}
@@ -144,6 +144,63 @@ describe Org::Familysearch::Ws::Familytree::V2::Schema::Person do
144
144
 
145
145
  end
146
146
 
147
+ describe "father_id" do
148
+ before(:each) do
149
+ @person = parse_person('KJ86-3VD_parents_families.js')
150
+ end
151
+
152
+ it "should give me the father's ID" do
153
+ @person.father_id.should == 'KJ86-3VW'
154
+ end
155
+
156
+ it "should give me nil if any of the parent elements are missing" do
157
+ @person.parents[0].parents = []
158
+ @person.father_id.should == nil
159
+ @person.parents = []
160
+ @person.father_id.should == nil
161
+ @person.parents = nil
162
+ @person.father_id.should == nil
163
+ end
164
+ end
165
+
166
+ describe "mother_id" do
167
+ before(:each) do
168
+ @person = parse_person('KJ86-3VD_parents_families.js')
169
+ end
170
+
171
+ it "should give me the mother's ID" do
172
+ @person.mother_id.should == 'KFY6-FC8'
173
+ end
174
+
175
+ it "should give me nil if any of the parent elements are missing" do
176
+ @person.parents[0].parents = []
177
+ @person.mother_id.should == nil
178
+ @person.parents = []
179
+ @person.mother_id.should == nil
180
+ @person.parents = nil
181
+ @person.mother_id.should == nil
182
+ end
183
+ end
184
+
185
+ describe "spouse_id" do
186
+ before(:each) do
187
+ @person = parse_person('KJ86-3VD_parents_families.js')
188
+ end
189
+
190
+ it "should give me the spouse's ID" do
191
+ @person.spouse_id.should == '279W-XKJ'
192
+ end
193
+
194
+ it "should give me nil if any of the parent elements are missing" do
195
+ @person.families[0].parents = []
196
+ @person.spouse_id.should == nil
197
+ @person.families = []
198
+ @person.spouse_id.should == nil
199
+ @person.families = nil
200
+ @person.spouse_id.should == nil
201
+ end
202
+ end
203
+
147
204
  describe "births" do
148
205
  describe "for persons with at least one birth event" do
149
206
  before(:each) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-fs-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Zimmerman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-19 00:00:00 -07:00
12
+ date: 2010-02-24 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -70,6 +70,7 @@ files:
70
70
  - spec/familytree_v2/json/match_KW3B-NNM.js
71
71
  - spec/familytree_v2/json/note_create_response.js
72
72
  - spec/familytree_v2/json/person/KJ86-3VD_all.js
73
+ - spec/familytree_v2/json/person/KJ86-3VD_parents_families.js
73
74
  - spec/familytree_v2/json/person/KJ86-3VD_version.js
74
75
  - spec/familytree_v2/json/person/multiple_version_read.js
75
76
  - spec/familytree_v2/json/person/post_response.js