Class: Semverve::Task

Inherits:
Object
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/semverve/task.rb

Overview

Defines Semverve's Rake tasks for the current Rake application.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|configuration| ... } ⇒ Semverve::Task

Configures and defines Semverve tasks if needed.

Yield Parameters:



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

.installSemverve::Task?

Installs Semverve tasks once for the current Rake application.

Returns:



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

#definevoid

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 do
      puts "Generated #{Generator.new(Semverve.configuration.resolved).generate}"
    end

    desc "Set the version.rb file to VERSION"
    task :set do
      set
    end

    desc "Check version references, code literals, and metadata"
    task :check do
      check
    end

    namespace :check do
      desc "Check configured files for stale version references"
      task :references do
        check_references
      end

      desc "Check configured code files for version literals"
      task :code do
        check_code
      end

      desc "Check gem metadata for version mismatches"
      task :metadata do
        
      end
    end

    desc "Fix version references, code literals, and metadata"
    task :fix do
      fix
    end

    namespace :fix do
      desc "Replace stale version references in configured files"
      task :references do
        fix_references
      end

      desc "Replace safe code version literals in configured files"
      task :code do
        fix_code
      end

      desc "Fix safe gem metadata version mismatches"
      task :metadata do
        
      end
    end
  end
end