kruptos 0.0.1 → 0.0.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.
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