Sha256: 689076ca94803bd56d23b0c34c6d1e158640e67e017d2ddf54424f9fefbc9e8d

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# encoding: utf-8

module Develry

  # Encapsulates a specific {Project} develry is used for
  class Site

    attr_reader :root

    attr_reader :project

    def initialize(project)
      @project = project
      @root    = project.root
    end

    # Initialize project and load shared specs
    #
    # Expects to be called from $application_root/spec/spec_helper.rb
    #
    # @return [self]
    #
    # @api private
    def init_spec_helper
      Project::Initializer::Rspec.call(project)
      self
    end

    # Initialize develry using default config
    #
    # @return [undefined]
    #
    # @api private
    def init
      Initializer.call(self)
      puts 'Run bundle install to complete the develry installation'
      self
    end

    # Sync gemfiles
    #
    # @return [undefined]
    #
    # @api private
    def sync
      target = root.join(GEMFILE_NAME)
      FileUtils.cp(SHARED_GEMFILE_PATH, target)
      puts "Successfully synced #{target}"
      self
    end

    # Sync gemfiles and run bundle update
    #
    # @return [undefined]
    #
    # @api private
    def update
      sync
      system(BUNDLE_UPDATE)
      self
    end

  end # class Site
end # module Develry

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
develry-0.0.3 lib/develry/site.rb
develry-0.0.2 lib/develry/site.rb