Class: Writefully::Tools::Initializer
- Inherits:
-
Object
- Object
- Writefully::Tools::Initializer
- Includes:
- Celluloid
- Defined in:
- lib/writefully/tools/initializer.rb
Constant Summary collapse
- INITIALIZE_SCRIPT =
File.dirname(__FILE__) + "/../../../scripts/initialize.sh"
Instance Attribute Summary collapse
-
#api ⇒ Object
readonly
Returns the value of attribute api.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
Instance Method Summary collapse
- #add_sample_content ⇒ Object
- #build_content_folder ⇒ Object
- #content_folder_setup_command ⇒ Object
-
#initialize(message) ⇒ Initializer
constructor
A new instance of Initializer.
- #sample_content_for(file_name) ⇒ Object
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 = @api = Github.new oauth_token: [:auth_token] end |
Instance Attribute Details
#api ⇒ Object (readonly)
Returns the value of attribute api.
8 9 10 |
# File 'lib/writefully/tools/initializer.rb', line 8 def api @api end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
8 9 10 |
# File 'lib/writefully/tools/initializer.rb', line 8 def @message end |
Instance Method Details
#add_sample_content ⇒ Object
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 #{[:site_slug]}" Source.sample_content_paths.map do |path| api.repos.contents.create [:user_name], [:site_slug], path, sample_content_for(path.split('/').last) end end |
#build_content_folder ⇒ Object
24 25 26 27 |
# File 'lib/writefully/tools/initializer.rb', line 24 def build_content_folder Writefully.logger.info "Creating content folder #{[:site_slug]}" system(content_folder_setup_command) end |
#content_folder_setup_command ⇒ Object
29 30 31 |
# File 'lib/writefully/tools/initializer.rb', line 29 def content_folder_setup_command ['bash', INITIALIZE_SCRIPT, Writefully.[:content], [:site_slug], [: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 |