-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathloxodonta_africana.rb
More file actions
109 lines (104 loc) · 2.91 KB
/
loxodonta_africana.rb
File metadata and controls
109 lines (104 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
shared_context 'Loxodonta africana' do
{
ghana: 'GH',
botswana: 'BW',
namibia: 'NA',
zambia: 'ZA',
zimbabwe: 'ZW'
}.each do |name, iso_code|
define_method(name) do
name = name.to_s
var = instance_variable_get("@#{name}")
return var if var
country = create(
:geo_entity,
geo_entity_type: country_geo_entity_type,
name: name.capitalize,
iso_code2: iso_code
)
instance_variable_set("@#{name}", country)
end
end
before(:all) do
@order = create_cites_eu_order(
taxon_name: create(:taxon_name, scientific_name: 'Proboscidea'),
parent: cites_eu_mammalia
)
@family = create_cites_eu_family(
taxon_name: create(:taxon_name, scientific_name: 'Elephantidae'),
parent: @order
)
@genus = create_cites_eu_genus(
taxon_name: create(:taxon_name, scientific_name: 'Loxodonta'),
parent: @family
)
@species = create_cites_eu_species(
taxon_name: create(:taxon_name, scientific_name: 'Africana'),
parent: @genus
)
create(:distribution, taxon_concept_id: @species.id, geo_entity_id: botswana.id)
cites_lc1 = create_cites_I_addition(
taxon_concept: @species,
effective_at: '1997-09-18'
)
cites_lc2 = create_cites_II_addition(
taxon_concept: @species,
effective_at: '1997-09-18'
)
[ botswana, namibia, zimbabwe ].each do |country|
create(
:listing_distribution,
geo_entity: country,
listing_change: cites_lc2,
is_party: false
)
end
cites_lc1 = create_cites_I_addition(
taxon_concept: @species,
effective_at: '2000-07-19',
is_current: true
)
cites_lc2 = create_cites_II_addition(
taxon_concept: @species,
effective_at: '2000-07-19',
is_current: true
)
eu_lc1 = create_eu_A_addition(
taxon_concept: @species,
effective_at: '2013-08-10',
event: reg2013,
is_current: true
)
eu_lc2 = create_eu_B_addition(
taxon_concept: @species,
effective_at: '2013-08-10',
event: reg2013,
is_current: true
)
[ botswana, namibia, zambia, zimbabwe ].each do |country|
create(
:listing_distribution,
geo_entity: country,
listing_change: cites_lc2,
is_party: false
)
create(
:listing_distribution,
geo_entity: country,
listing_change: eu_lc2,
is_party: false
)
end
SapiModule::StoredProcedures.rebuild_cites_taxonomy_and_listings
self.instance_variables.each do |t|
# Skip old sapi context let statements,
# which are now instance variables starting with _
next if t.to_s.include?('@_')
var = self.instance_variable_get(t)
if var.kind_of? TaxonConcept
self.instance_variable_set(t, MTaxonConcept.find(var.id))
self.instance_variable_get(t).reload
end
end
end
end