Sha256: 89749c38fb38f1ed1dbfcaa9da5877f71e3135ec7a98eca03fc6b3e3fd051e82

Contents?: true

Size: 1.04 KB

Versions: 79

Compression:

Stored size: 1.04 KB

Contents

# Detects route variable changes
class Jets::Resource::ApiGateway::RestApi::Routes::Change
  class Variable < Base
    def changed?
      changed = false
      deployed_routes.each do |deployed_route|
        parent = collision.variable_parent(deployed_route.path)
        parent_variables = collision.parent_variables(parent, [deployed_route.path])
        new_parent_variables = collision.parent_variables(parent, new_paths)

        changed = parent_variables.size > 0 && new_parent_variables.size > 0 &&
                  parent_variables != new_parent_variables
        break if changed
      end
      changed
    end

    # Only consider paths with variables
    def new_paths
      new_routes.map(&:path).select {|p| p.include?(':')}.uniq
    end

    # Only consider deployed routes with variables
    def deployed_routes
      deployed_routes = super
      deployed_routes.select do |route|
        route.path.include?(':')
      end
    end

    def collision
      @collision ||= Jets::Resource::ApiGateway::RestApi::Routes::Collision.new
    end
  end
end

Version data entries

79 entries across 79 versions & 2 rubygems

Version Path
jets-4.0.12 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.11 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.10 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.9 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.8 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.7 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.6 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.5 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.4 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.3 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.2 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.1 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-4.0.0 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.2.2 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.2.1 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets.benforeva-3.0.17.pre.mount.pre.fix lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.2.0 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.1.5 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.1.4 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
jets-3.1.3 lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb