espace_membre-ruby 0.3 → 0.4
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.
- checksums.yaml +4 -4
- data/lib/espace_membre/phase.rb +5 -1
- data/lib/espace_membre/startup.rb +11 -1
- data/lib/espace_membre/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 39c15979e242f994f2e4e24dd4172df5580474880076dcb0dcdde4a35de7356c
|
|
4
|
+
data.tar.gz: f49d47e2527fbc5000dc867ddd6e9365493b10a170ff1d8bee58fa5e5089432f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff0a7c8236eefc19c582e4b536e6b0a4ff58b5405a9b604a358b0ee53e92ec2e7fd15626987b4ed69591eb1591de0d88f60834326dadc0640377e0787ade73e7
|
|
7
|
+
data.tar.gz: 39cb9439a25d65e326ee9d6ccb380df56403e5e8a9409f5f6fcf965cb93f20f434c95a9caf019f66f09088819c7f0e10534408e13075b0014735a9839f409ecd
|
data/lib/espace_membre/phase.rb
CHANGED
|
@@ -11,7 +11,11 @@ module EspaceMembre
|
|
|
11
11
|
"transfer"
|
|
12
12
|
]
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
# FIXME: at the moment multiple ongoing/active (i.e no end date)
|
|
15
|
+
# phases for the same startup can coexist happily, we must fix the
|
|
16
|
+
# data and make this a valid statement.
|
|
17
|
+
#
|
|
18
|
+
# scope :active, -> { where("end" => nil) } # this does NOT work
|
|
15
19
|
|
|
16
20
|
PHASES.each do |phase|
|
|
17
21
|
# define scopes for each state (Phase.success, Phase.alumni, etc.)
|
|
@@ -19,7 +19,17 @@ module EspaceMembre
|
|
|
19
19
|
class_name: "Phase",
|
|
20
20
|
inverse_of: :startup
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
# we must use this tragic hack because a startup can have one or
|
|
23
|
+
# more phases without an 'end' timestamp, which is wrong and
|
|
24
|
+
# misleading but that's how the data exists. So instead of
|
|
25
|
+
# assuming 'phase.end = nil' designates the active and latest
|
|
26
|
+
# phase, we have to always look at which one startet
|
|
27
|
+
# last.
|
|
28
|
+
scope :in_phase, ->(*phase) {
|
|
29
|
+
joins(:phases)
|
|
30
|
+
.where(phases: { name: phase })
|
|
31
|
+
.where("phases.start = (SELECT MAX(p2.start) FROM phases p2 WHERE p2.startup_id = startups.uuid)")
|
|
32
|
+
}
|
|
23
33
|
|
|
24
34
|
Phase::PHASES.each do |name|
|
|
25
35
|
define_method "in_#{name}?" do
|