Sha256: 1b2e2e7c702830f733f9286fc7bb56773fd4b3159d79fb8f9f3e592d96c3a0fd

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

module EY
  module Serverside
    module DependencyManager
      class Base
        def self.detect(servers, config, shell, runner)
          manager = new(servers, config, shell, runner)
          manager.detected? && manager
        end

        attr_reader :servers, :config, :shell, :runner

        def initialize(servers, config, shell, runner)
          @servers, @config, @shell = servers, config, shell
          @runner = runner
        end

        # Public interface
        #

        def detected?() true end
        def check() end
        def install() end

        # assume not using sqlite3 unless a dependency system says so
        def uses_sqlite3?() false end
        def rails_version() end
        def check_ey_config() end

        # Legacy methods, this should not be public API to this class
        # With proper warning, cut these methods off
        def gemfile?() end
        def bundler_config
          raise "This method has been removed. Use bundle_options in ey.yml"
        end
        def lockfile() end
        def check_ruby_bundler() end
        def check_node_npm() end
        def clean_bundle_on_system_version_change() end
        def write_system_version() end

        protected

        def paths
          config.paths
        end

        def on_roles
          [:app_master, :app, :solo, :util]
        end

        def run(cmd)
          runner.roles(on_roles) do
            runner.run(cmd)
          end
        end

        def sudo(cmd)
          runner.roles(on_roles) do
            runner.sudo(cmd)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
engineyard-serverside-2.2.0.pre2 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.2.0.pre lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.4 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.3 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.2 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.1 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.0 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.0.rc1 lib/engineyard-serverside/dependency_manager/base.rb
engineyard-serverside-2.1.0.pre lib/engineyard-serverside/dependency_manager/base.rb