captive-stack-detector 0.5.2 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fc810ed8d9d2204217e8d85eff1c20e979562020eb2c984284038a7d3a48911
4
- data.tar.gz: 0eea2a1109de9ba13bf8c90a813f4ee2a8c9771eca25e979f3dca12d5c96d1ce
3
+ metadata.gz: 6f6cc07b2aebaa064c700e3efc99f2e9c08dc9cd9682206b66f6dacbcdaef476
4
+ data.tar.gz: eeadaa4880a5673b9b89545333cd71895be4a8f04e6ab9503ce57d6051ce7416
5
5
  SHA512:
6
- metadata.gz: 86a507762da229c553008d21c2ff36ddd6872e83168bd2f3341763b0a4071b6cd87c3a8369b594de32ee7969345ea07217d46f4c7c249fb0c379f16944454ac8
7
- data.tar.gz: 46dc7dbb6cdbda520948357f56598c612966d8079ff4e134ec8689b9f19648d32ee21bf14d74f14cd90a7f19cda157572e1ad6bff99e5c468c00453861e03223
6
+ metadata.gz: 7940bd96414ba39c325e183e898c9135e63cafca546c0189690846b5881d02fa5271358608d7d0055f240e2fa7267e0837b1b8cc51a3dc1ba3abb4172394c43c
7
+ data.tar.gz: a646c1aebebdc27038f703f2ac779e764d1120e00c493a75dda43b1f717de7cb80f620d91997ed2263ca92c0c39750857bfcb318e685b037383ed19980e5f72f
@@ -12,7 +12,7 @@ module CaptiveStackDetector
12
12
 
13
13
  def detect
14
14
  type = @analyzer.type
15
- raise UnsupportedStack unless type
15
+ raise UnsupportedStack, :no_node_entry unless type
16
16
 
17
17
  Result.new(
18
18
  type: type,
@@ -17,7 +17,8 @@ module CaptiveStackDetector
17
17
 
18
18
  def type
19
19
  return "expo" if deps.key?("expo")
20
- return "node" if @parsed.dig("scripts", "start")
20
+ # build seul : une SPA, buildée puis servie en statique
21
+ return "node" if @parsed.dig("scripts", "start") || @parsed.dig("scripts", "build")
21
22
 
22
23
  nil
23
24
  end
@@ -12,7 +12,7 @@ module CaptiveStackDetector
12
12
  end
13
13
 
14
14
  def detect
15
- raise UnsupportedStack unless @analyzer.rails?
15
+ raise UnsupportedStack, :no_rails unless @analyzer.rails?
16
16
 
17
17
  Result.new(
18
18
  type: "rails",
@@ -6,5 +6,13 @@ module CaptiveStackDetector
6
6
  Runtime = Data.define(:ruby, :node)
7
7
  Result = Data.define(:type, :subtype, :services, :worker, :runtime, :env_vars, :system_packages)
8
8
 
9
- UnsupportedStack = Class.new(StandardError)
9
+ # reason : :no_manifest, :no_rails ou :no_node_entry, pour que l'appelant explique le refus.
10
+ class UnsupportedStack < StandardError
11
+ attr_reader :reason
12
+
13
+ def initialize(reason = nil)
14
+ @reason = reason
15
+ super(reason&.to_s || "unsupported stack")
16
+ end
17
+ end
10
18
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CaptiveStackDetector
4
- VERSION = "0.5.2"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -20,7 +20,7 @@ module CaptiveStackDetector
20
20
  return RailsStackDetector.new(reader, GemfileAnalyzer.new(gemfile)).detect if gemfile
21
21
  return JsStackDetector.new(reader, package_json).detect if package_json
22
22
 
23
- raise UnsupportedStack
23
+ raise UnsupportedStack, :no_manifest
24
24
  end
25
25
  private_class_method :detect_from
26
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: captive-stack-detector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Captive Studio