Sha256: 348a606c37c05a3f34f38854a6d7b3bbf480883410588080383887618b7f815f

Contents?: true

Size: 1.87 KB

Versions: 6

Compression:

Stored size: 1.87 KB

Contents

def scrolls; @scrolls end
def scroll?(name); @scrolls.include?(name) end

def say_custom(tag, text); say "\033[1m\033[36m" + tag.to_s.rjust(10) + "\033[0m" + "  #{text}" end
def say_scroll(name); say "\033[1m\033[36m" + "scroll".rjust(10) + "\033[0m" + "  Running #{name} scroll..." end
def say_wizard(text); say_custom(@current_scroll || 'wizard', text) end

def ask_wizard(question)
  ask "\033[1m\033[30m\033[46m" + (@current_scroll || "prompt").rjust(10) + "\033[0m\033[36m" + "  #{question}\033[0m"
end

def yes_wizard?(question)
  answer = ask_wizard(question + " \033[33m(y/n)\033[0m")
  case answer.downcase
    when "yes", "y"
      true
    when "no", "n"
      false
    else
      yes_wizard?(question)
  end
end

def no_wizard?(question); !yes_wizard?(question) end

def multiple_choice(question, choices)
  say_custom('question', question)
  values = {}
  choices.each_with_index do |choice,i| 
    values[(i + 1).to_s] = choice[1]
    say_custom (i + 1).to_s + ')', choice[0]
  end
  answer = ask_wizard("Enter your selection:") while !values.keys.include?(answer)
  values[answer]
end

# Is the current ruby jruby?
def jruby?
  @jruby ||= `ruby -v` =~ /^jruby/
end

def project_name
  @project_name ||= File.basename(File.expand_path("."))
end

@current_scroll = nil
@configs = {}

@before_everything_blocks = []
def before_everything(&block); @before_everything_blocks << [@current_scroll, block]; end
@after_blocks = []
def after_bundler(&block); @after_blocks << [@current_scroll, block]; end
@after_everything_blocks = []
def after_everything(&block); @after_everything_blocks << [@current_scroll, block]; end
@before_configs = {}
def before_config(&block); @before_configs[@current_scroll] = block; end

def git_commit(message)
  `git add .`
  `git commit -m "#{message}"`
end

def execute_block(block)
  config = @configs[block[0]] || {}
  @current_scroll = block[0];
  block[1].call
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
appscrolls-0.11.2 templates/helpers.erb
appscrolls-0.11.1 templates/helpers.erb
appscrolls-0.11.0 templates/helpers.erb
appscrolls-0.10.1 templates/helpers.erb
appscrolls-0.10.0 templates/helpers.erb
appscrolls-0.9.0 templates/helpers.erb