kruptos 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ rvm:
2
+ - "1.9.3"
3
+ - "1.9.2"
4
+ - "2.0.0"
data/Gemfile CHANGED
@@ -2,3 +2,9 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in kruptos.gemspec
4
4
  gemspec
5
+
6
+ group :test do
7
+ gem 'rake'
8
+ end
9
+
10
+
data/Rakefile CHANGED
@@ -1,11 +1,51 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ # encoding: utf-8
3
2
 
4
- Rake::TestTask.new do |test|
5
- test.libs << "test" << "lib"
6
- test.test_files = Dir[ "test/test-*.rb" ]
7
- test.verbose = true
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
8
11
  end
12
+ require 'rake'
9
13
 
10
- task :default => [:test]
14
+ require 'rspec/core'
15
+ require 'rspec/core/rake_task'
16
+ RSpec::Core::RakeTask.new(:spec) do |spec|
17
+ spec.pattern = FileList['spec/**/*_spec.rb']
18
+ spec.rspec_opts = Dir.glob("[0-9][0-9][0-9]_*").collect { |x| "-I#{x}" }
19
+ spec.rspec_opts << '--color -f d'
20
+ end
21
+
22
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
23
+ spec.pattern = 'spec/**/*_spec.rb'
24
+ spec.rcov = true
25
+ end
26
+
27
+ RSpec::Core::RakeTask.new(:coverage) do |spec|
28
+ # add simplecov
29
+ ENV["COVERAGE"] = 'yes'
30
+
31
+ # run the specs
32
+ Rake::Task['spec'].execute
33
+ end
34
+
35
+ require 'cucumber/rake/task'
36
+ Cucumber::Rake::Task.new(:features)
37
+
38
+ task :default => :spec
39
+
40
+ require 'rdoc/task'
41
+ Rake::RDocTask.new do |rdoc|
42
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
43
+
44
+ rdoc.rdoc_dir = 'rdoc'
45
+ rdoc.title = "gitit #{version}"
46
+ rdoc.rdoc_files.include('README*')
47
+ rdoc.rdoc_files.include('lib/**/*.rb')
48
+ end
49
+
50
+ Dir.glob('lib/tasks/*.rake').each {|r| import r}
11
51
 
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.0
data/kruptos.gemspec CHANGED
@@ -16,4 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
+
20
+ gem.add_development_dependency 'rspec'
21
+ gem.add_development_dependency 'cli-colorize'
22
+ gem.add_development_dependency 'rdoc', '>= 3.12'
23
+ gem.add_development_dependency 'cucumber', '>= 1.0'
24
+ gem.add_development_dependency 'bundler', '>= 1.0.0'
25
+ gem.add_development_dependency 'simplecov'
19
26
  end
data/lib/kruptos.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "kruptos/version"
2
+ require "kruptos/blowfish"
2
3
 
3
4
  module Kruptos
4
5
  # Your code goes here...
@@ -1,3 +1,3 @@
1
1
  module Kruptos
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,138 @@
1
+ require 'cli-colorize'
2
+
3
+ def valid? version
4
+ pattern = /^\d+\.\d+\.\d+(\-(dev|beta|rc\d+))?$/
5
+ raise "Tried to set invalid version: #{version}".red unless version =~ pattern
6
+ end
7
+
8
+ def correct_version version
9
+ ver, flag = version.split '-'
10
+ v = ver.split '.'
11
+ (0..2).each do |n|
12
+ v[n] = v[n].to_i
13
+ end
14
+ [v.join('.'), flag].compact.join '-'
15
+ end
16
+
17
+ def read_version
18
+ begin
19
+ File.read 'VERSION'
20
+ rescue
21
+ raise "VERSION file not found or unreadable.".red
22
+ end
23
+ end
24
+
25
+ def write_version version
26
+ valid? version
27
+ begin
28
+ File.open 'VERSION', 'w' do |file|
29
+ file.write correct_version(version)
30
+ end
31
+ rescue
32
+ raise "VERSION file not found or unwritable.".red
33
+ end
34
+ end
35
+
36
+ def reset current, which
37
+ version, flag = current.split '-'
38
+ v = version.split '.'
39
+ which.each do |part|
40
+ v[part] = 0
41
+ end
42
+ [v.join('.'), flag].compact.join '-'
43
+ end
44
+
45
+ def increment current, which
46
+ version, flag = current.split '-'
47
+ v = version.split '.'
48
+ v[which] = v[which].to_i + 1
49
+ [v.join('.'), flag].compact.join '-'
50
+ end
51
+
52
+ desc "Prints the current application version"
53
+ version = read_version
54
+ task :version do
55
+ puts <<HELP
56
+ Available commands are:
57
+ -----------------------
58
+ rake version:write[version] # set custom version in the x.x.x-? format
59
+ rake version:patch # increment the patch x.x.x+1 (keeps any flags on)
60
+ rake version:minor # increment minor and reset patch x.x+1.0 (keeps any flags on)
61
+ rake version:major # increment major and reset others x+1.0.0 (keeps any flags on)
62
+ rake version:dev # set the dev flag on x.x.x-dev
63
+ rake version:beta # set the beta flag on x.x.x-beta
64
+ rake version:rc # set or increment the rc flag x.x.x-rcX
65
+ rake version:release # removes any flags from the current version
66
+
67
+ HELP
68
+ puts "Current version is: #{version.green}"
69
+ end
70
+
71
+ namespace :version do
72
+
73
+ desc "Write version explicitly by specifying version number as a parameter"
74
+ task :write, [:version] do |task, args|
75
+ write_version args[:version].strip
76
+ puts "Version explicitly written: #{read_version.green}"
77
+ end
78
+
79
+ desc "Increments the patch version"
80
+ task :patch do
81
+ new_version = increment read_version, 2
82
+ write_version new_version
83
+ puts "Application patched: #{new_version.green}"
84
+ end
85
+
86
+ desc "Increments the minor version and resets the patch"
87
+ task :minor do
88
+ incremented = increment read_version, 1
89
+ new_version = reset incremented, [2]
90
+ write_version new_version
91
+ puts "New version released: #{new_version.green}"
92
+ end
93
+
94
+ desc "Increments the major version and resets both minor and patch"
95
+ task :major do
96
+ incremented = increment read_version, 0
97
+ new_version = reset incremented, [1, 2]
98
+ write_version new_version
99
+ puts "Major application version change: #{new_version.green}. Congratulations!"
100
+ end
101
+
102
+ desc "Sets the development flag on"
103
+ task :dev do
104
+ version, flag = read_version.split '-'
105
+ new_version = [version, 'dev'].join '-'
106
+ write_version new_version
107
+ puts "Version in development: #{new_version.green}"
108
+ end
109
+
110
+ desc "Sets the beta flag on"
111
+ task :beta do
112
+ version, flag = read_version.split '-'
113
+ new_version = [version, 'beta'].join '-'
114
+ write_version new_version
115
+ puts "Version in beta: #{new_version.green}"
116
+ end
117
+
118
+ desc "Sets or increments the rc flag"
119
+ task :rc do
120
+ version, flag = read_version.split '-'
121
+ rc = /^rc(\d+)$/.match flag
122
+ if rc
123
+ new_version = [version, "rc#{rc[1].to_i+1}"].join '-'
124
+ else
125
+ new_version = [version, 'rc1'].join '-'
126
+ end
127
+ write_version new_version
128
+ puts "New version release candidate: #{new_version.green}"
129
+ end
130
+
131
+ desc "Removes any version flags"
132
+ task :release do
133
+ version, flag = read_version.split '-'
134
+ write_version version
135
+ puts "Released stable version: #{version.green}"
136
+ end
137
+
138
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kruptos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,104 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-19 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2013-07-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: cli-colorize
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rdoc
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '3.12'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '3.12'
62
+ - !ruby/object:Gem::Dependency
63
+ name: cucumber
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '1.0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: bundler
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.0.0
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.0.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: simplecov
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
14
110
  description: Crypto ruby gem
15
111
  email:
16
112
  - pat@covenofchaos.com
@@ -19,10 +115,12 @@ extensions: []
19
115
  extra_rdoc_files: []
20
116
  files:
21
117
  - .gitignore
118
+ - .travis.yml
22
119
  - Gemfile
23
120
  - LICENSE.txt
24
121
  - README.md
25
122
  - Rakefile
123
+ - VERSION
26
124
  - kruptos.gemspec
27
125
  - lib/kruptos.rb
28
126
  - lib/kruptos/blowfish-tables.rb
@@ -33,6 +131,7 @@ files:
33
131
  - lib/kruptos/noise.rb
34
132
  - lib/kruptos/stringxor.rb
35
133
  - lib/kruptos/version.rb
134
+ - lib/tasks/version.rake
36
135
  - test/test-blowfish.rb
37
136
  - test/test-gost.rb
38
137
  - test/test-idea.rb