Sha256: 2363d83078d9eaef98b12734bfc8bbf9b0809a73843ddd08760f150ff723e972

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

require 'rubygems'
require 'gamefic-sdk'
require 'rake'

module Gamefic::Sdk::Tasks
  autoload :Common, 'gamefic-sdk/tasks/common'
  autoload :Ruby,   'gamefic-sdk/tasks/ruby'
  autoload :Web,    'gamefic-sdk/tasks/web'

  module_function

  def define_all
    define_task 'ruby:run', 'Run a Ruby CLI app' do
      Ruby.new.run
    end

    define_task 'ruby:build', 'Build a distributable CLI app' do
      Ruby.new.build
    end

    Rake::Task.define_task('web:generate', [:version]) { |_, args| Web.new.generate(args[:version]) }
              .tap { |task| task.add_description 'Generate a web app' }

    define_task 'web:run', 'Run a standalone web app' do
      Web.new.run
    end

    define_task 'web:build', 'Build a distributable web app' do
      Web.new.build
    end
  end

  def define_task(name, desc, &block)
    return if Rake::Task.task_defined?(name)

    # @type [Rake::Task]
    task = Rake::Task.define_task(name, &block)
    task.add_description desc
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gamefic-sdk-3.4.1 lib/gamefic-sdk/tasks.rb
gamefic-sdk-3.4.0 lib/gamefic-sdk/tasks.rb
gamefic-sdk-3.3.0 lib/gamefic-sdk/tasks.rb
gamefic-sdk-3.2.1 lib/gamefic-sdk/tasks.rb