Class: Semverve::Task
- Inherits:
-
Object
- Object
- Semverve::Task
- Includes:
- Rake::DSL
- Defined in:
- lib/semverve/task.rb
Overview
Defines Semverve's Rake tasks for the current Rake application.
Class Method Summary collapse
-
.install ⇒ Semverve::Task?
Installs Semverve tasks once for the current Rake application.
Instance Method Summary collapse
-
#define ⇒ void
Defines the
semverve:*Rake tasks. -
#initialize {|configuration| ... } ⇒ Semverve::Task
constructor
Configures and defines Semverve tasks if needed.
Constructor Details
#initialize {|configuration| ... } ⇒ Semverve::Task
Configures and defines Semverve tasks if needed.
63 64 65 66 67 68 69 70 |
# File 'lib/semverve/task.rb', line 63 def initialize yield Semverve.configuration if block_given? unless self.class.send(:installed_for_current_application?) define self.class.send(:mark_current_application_installed) end end |
Class Method Details
.install ⇒ Semverve::Task?
Installs Semverve tasks once for the current Rake application.
24 25 26 27 28 |
# File 'lib/semverve/task.rb', line 24 def install return if installed_for_current_application? new end |
Instance Method Details
#define ⇒ void
This method returns an undefined value.
Defines the semverve:* Rake tasks.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/semverve/task.rb', line 76 def define namespace :semverve do desc "Print the current version from the version.rb file" task :current do puts VersionFile.new(Semverve.configuration.resolved).current end namespace :increment do desc "Increment the version's PATCH level" task :patch do increment(:patch) end desc "Increment the version's MINOR level" task :minor do increment(:minor) end desc "Increment the version's MAJOR level" task :major do increment(:major) end end desc "Generate a version.rb file" task :generate, [:version, :format, :force] do |_task, args| = (args) puts "Generated #{Generator.new( Semverve.configuration.resolved, version: [:version], format: [:format], force: [:force] ).generate}" end desc "Set the version.rb file to version" task :set, [:version] do |_task, args| set(args) end desc "Check version references, code literals, and metadata" task :check, [:version] do |_task, args| check(args) end namespace :check do version_checks.each do |version_check| desc version_check.check_description task version_check.task_name, version_check.task_arguments do |_task, args| check_version_check(version_check, args) end end desc "Check whether the current gem version is already published" task :rubygems do check_rubygems end desc "Check configured release-readiness surfaces" task :release do check_release end end desc "Fix version references, code literals, and metadata" task :fix, [:version] do |_task, args| fix(args) end namespace :fix do version_checks.each do |version_check| desc version_check.fix_description task version_check.task_name, version_check.task_arguments do |_task, args| fix_version_check(version_check, args) end end end end end |