Module: Versionify

Defined in:
lib/versionify.rb,
lib/versionify/version.rb

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.bump(level = :patch) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/versionify.rb', line 4

def self.bump level = :patch
  version = read_or_create

  case level
  when :major
    version[0] +=1
    version[1] = 0
    version[2] = 0
  when :minor
    version[1] += 1
    version[0] += (version[1].to_f / 10).to_i
    version[1] = (version[1].to_f / 10).to_s.split('.')[1].to_i
    version[2] = 0
  when :patch
    version[2] += 1
  end

  write version
end

.get_versionObject



24
25
26
# File 'lib/versionify.rb', line 24

def self.get_version
  read_or_create.join '.'
end

.install_rake_tasksObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/versionify.rb', line 32

def self.install_rake_tasks
  
  desc 'print the current source version'
  task :version do
    print_version
  end

  namespace :version do
    namespace :bump do
      task :patch do
        bump :patch
        print_version
      end
      task :minor do
        bump :minor
        print_version
      end
      task :major do
        bump :major
        print_version
      end
    end
  end

end


28
29
30
# File 'lib/versionify.rb', line 28

def self.print_version
  puts "version #{get_version}"
end