class Frizz::Site

Attributes

distribution[R]
ignorance[R]
local[R]
options[R]
remote[R]

Public Class Methods

new(host, options={}) click to toggle source
# File lib/frizz/site.rb, line 3
def initialize(host, options={})
  @options = { from: "build" }.merge options

  @ignorance = Ignorance.new(@options[:ignore])

  if @options[:distribution]
    @distribution = Distribution.new(@options[:distribution])
  end

  local_options = options.select { |k, v| k == :redirect_rules }
  @local = Local.new(path_to_deploy, ignorance, local_options)

  remote_options = options.select { |k, v| k == :region }
  @remote = Remote.new(host, ignorance, remote_options)
end

Public Instance Methods

deploy!() click to toggle source
# File lib/frizz/site.rb, line 19
def deploy!
  changes = Sync.new(local, remote).run!
  distribution.invalidate!(changes) if distribution
end

Private Instance Methods

path_to_deploy() click to toggle source
# File lib/frizz/site.rb, line 28
def path_to_deploy
  File.expand_path(options[:from])
end