Class: Writefully::Tools::Initializer

Inherits:
Object
  • Object
show all
Includes:
Celluloid
Defined in:
lib/writefully/tools/initializer.rb

Constant Summary collapse

INITIALIZE_SCRIPT =
File.dirname(__FILE__) + "/../../../scripts/initialize.sh"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ Initializer

Returns a new instance of Initializer.



10
11
12
13
# File 'lib/writefully/tools/initializer.rb', line 10

def initialize message
  @message = message
  @api = Github.new oauth_token: message[:auth_token]
end

Instance Attribute Details

#apiObject (readonly)

Returns the value of attribute api.



8
9
10
# File 'lib/writefully/tools/initializer.rb', line 8

def api
  @api
end

#messageObject (readonly)

Returns the value of attribute message.



8
9
10
# File 'lib/writefully/tools/initializer.rb', line 8

def message
  @message
end

Instance Method Details

#add_sample_contentObject



15
16
17
18
19
20
21
22
# File 'lib/writefully/tools/initializer.rb', line 15

def add_sample_content
  Writefully.logger.info "Adding Sample content #{message[:site_slug]}"
  Source.sample_content_paths.map do |path|
    api.repos.contents.create  message[:user_name], 
                               message[:site_slug], 
                               path, sample_content_for(path.split('/').last)     
  end
end

#build_content_folderObject



24
25
26
27
# File 'lib/writefully/tools/initializer.rb', line 24

def build_content_folder
  Writefully.logger.info "Creating content folder #{message[:site_slug]}"
  system(content_folder_setup_command)
end

#content_folder_setup_commandObject



29
30
31
# File 'lib/writefully/tools/initializer.rb', line 29

def content_folder_setup_command
  ['bash', INITIALIZE_SCRIPT, Writefully.options[:content], message[:site_slug], message[:ssh_url]].join(' ')
end

#sample_content_for(file_name) ⇒ Object



33
34
35
# File 'lib/writefully/tools/initializer.rb', line 33

def sample_content_for file_name
  Source.sample_content_properties(file_name)
end