bowie 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a93c5966ff401a6ac099e9192367aa9e26d625dd
4
- data.tar.gz: ccb727e7ce5aa2bfbda88994ab303c2c11995b43
3
+ metadata.gz: 8c182a6f7349ab0663779585067e40a2aab576b3
4
+ data.tar.gz: e56ac3de3987bf09947200d3e6b8cc81466639c6
5
5
  SHA512:
6
- metadata.gz: bfcfe4277d62a487aef6026d8f8b622959b911a2b267b5d178a6e4babe4cc8fbd5d38f2047a777805896291b5dfec5e4dc00a98203acb9a0ed10e49c156255f6
7
- data.tar.gz: b2625bc045740b78d6eeb40ad04d755d5d7900efded6c65b700c0904313fdbf3ded3ebf921cf650ddf7cb24ef1bfc4f6d62b704ae6eaffb128a80d956ba33b3f
6
+ metadata.gz: f7f3cf3b0cc084f746f9701290d20cb618542edb7e940c995457aaf51497f334435ce264907a31c4e62bef93c9f4fef6a1bf8fd3be2634c64eafc750fd584896
7
+ data.tar.gz: 9d0dfaddf0102d2385b7f9354bf8f07d265fca280945934341eb73c2a159f62c100edefec835e55108b60fe9697f5c299acc24c1d818250ccb53d5c7bfbbaa63
@@ -1,10 +1,11 @@
1
1
  require "bowie/version"
2
- require "bowie/utils"
3
2
  require "yaml"
4
3
  require "open-uri"
5
4
  require "fileutils"
6
5
  require "git"
7
6
  require "logger"
7
+ require "bowie/utils"
8
+ require "bowie/semver"
8
9
 
9
10
  module Bowie
10
11
 
@@ -0,0 +1,85 @@
1
+ class Semver
2
+ include Comparable
3
+
4
+ attr_reader :major, :minor, :patch
5
+
6
+ def initialize *s
7
+ case s.length
8
+ when 0
9
+ @major = 0
10
+ @minor = 0
11
+ @patch = 0
12
+ when 1
13
+ if valid? s[0]
14
+ v = (parse_version s[0]).split '.'
15
+ @major = Integer v[0]
16
+ @minor = Integer v[1]
17
+ @patch = Integer v[2]
18
+ else
19
+ p 'error'
20
+ end
21
+ else
22
+ p 'error'
23
+ end
24
+ end
25
+
26
+ def to_s opts = {}
27
+ opts[:v]? "v#{@major}.#{minor}.#{patch}" : "#{@major}.#{minor}.#{patch}"
28
+ end
29
+
30
+ def bump *type
31
+ case type.length
32
+ when 0
33
+ @patch = @patch + 1
34
+ when 1
35
+ case type[0]
36
+ when :major
37
+ @major = @major + 1
38
+ when :minor
39
+ @minor = @minor + 1
40
+ when :patch
41
+ @patch = @patch + 1
42
+ else
43
+ p 'error'
44
+ end
45
+ else
46
+ p 'error'
47
+ end
48
+ end
49
+
50
+ def <=>(other)
51
+ case self.major <=> other.major
52
+ when 1
53
+ return 1
54
+ when -1
55
+ return -1
56
+ when 0
57
+ case self.minor <=> other.minor
58
+ when 1
59
+ return 1
60
+ when -1
61
+ return -1
62
+ when 0
63
+ case self.patch <=> other.patch
64
+ when 1
65
+ return 1
66
+ when -1
67
+ return -1
68
+ when 0
69
+ return 0
70
+ end
71
+ end
72
+ end
73
+ end
74
+
75
+ private
76
+ # read a version string in the form x.x.x or vx.x.x and always return it in the form x.x.x
77
+ def parse_version(string)
78
+ string[0] == "v" ? string[1..-1] : string
79
+ end
80
+
81
+ # return true if [string] is a valid semantic version in the form x.x.x or vx.x.x
82
+ def valid?(string)
83
+ (/^v?\d+.\d+.\d+$/ =~ string)? true : false
84
+ end
85
+ end
@@ -12,5 +12,15 @@ module Bowie
12
12
  result
13
13
  end
14
14
 
15
+ # Parse the name of a package in the form name#version
16
+ def self.parse_song_name(s)
17
+ s.split("#")[0]
18
+ end
19
+
20
+ # Parse the version of a package in the form name#version
21
+ def self.parse_song_version(s)
22
+ s.split("#")[1]
23
+ end
24
+
15
25
  end
16
26
  end
@@ -1,3 +1,3 @@
1
1
  module Bowie
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bowie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrea Moretti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-11 00:00:00.000000000 Z
11
+ date: 2013-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,6 +82,7 @@ files:
82
82
  - bin/bowie
83
83
  - bowie.gemspec
84
84
  - lib/bowie.rb
85
+ - lib/bowie/semver.rb
85
86
  - lib/bowie/utils.rb
86
87
  - lib/bowie/version.rb
87
88
  homepage: http://axyz.github.io/bowie/