niceid 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - jruby
7
+ - ruby-head
8
+ - ree
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
- require 'bundler'
1
+ require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
- Bundler::GemHelper.install_tasks
4
- RSpec::Core::RakeTask.new('spec')
3
+
4
+ RSpec::Core::RakeTask.new
5
5
 
6
6
  task :default => :test
7
7
  task :test =>:spec
data/bin/niceid CHANGED
@@ -1,8 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
4
- $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
5
-
6
3
  require 'niceid'
7
4
 
8
5
  puts NiceId::Id.new
@@ -1,30 +1,31 @@
1
1
  module NiceId
2
2
  class Id
3
3
  VARS_NUM = %w{2 3 4 5 6 7 8 9}
4
- VARS_LET = %w{f j k m p s t v w x y z}
4
+ VARS_LET = %w{f j k m p s t v w x y z e}
5
5
  DEFAULT_SIZE = 3
6
6
 
7
7
  def initialize(how_many = DEFAULT_SIZE)
8
- @key = ''
9
- @summ = 0
10
- how_many.times do
11
- a = rand VARS_NUM.size
12
- b = rand VARS_LET.size
13
- @key<<VARS_NUM[a]+VARS_LET[b]
14
- end
15
- @key=@key.chop << calc
8
+ rand_method = [].respond_to?(:sample) ? :sample : :choice
9
+ @key = [].fill(0, how_many) { [VARS_NUM.send(rand_method),VARS_LET.send(rand_method)] }
10
+ @key = @key.flatten.join
11
+ @key = @key.chop + calc(@key)
16
12
  end
13
+
17
14
  def to_s
18
15
  @key
19
16
  end
17
+
20
18
  private
19
+
21
20
  def correct?
22
- @key[-1..-1] == calc
21
+ @key[-1..-1] == calc(@key)
23
22
  end
24
- def calc
25
- @sum = @key.chop.scan(/./).map{|a| VARS_NUM.index(a)||VARS_LET.index(a)||0 }
23
+
24
+ def calc(key)
25
+ @sum = key.chop.scan(/./).map{ |a| VARS_NUM.index(a)||VARS_LET.index(a)||0 }
26
26
  VARS_LET.at @sum.inject(:+) % VARS_LET.size
27
27
  end
28
+
28
29
  end
29
30
  end
30
31
 
@@ -1,3 +1,3 @@
1
1
  module NiceId
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.description = %q{Simple to remember and safe for handwriting, letters and numbers based ID.}
14
14
 
15
15
  s.add_development_dependency "rspec", "~> 2.3"
16
- s.add_development_dependency "backports", ">= 2.0"
16
+ s.add_development_dependency "rake"
17
17
 
18
18
  s.executables = "niceid"
19
19
  s.files = `git ls-files`.split("\n")
@@ -1,6 +1,4 @@
1
- require 'backports'
2
- require_relative 'spec_helper'
3
-
1
+ require 'spec_helper'
4
2
 
5
3
  describe NiceId::Id do
6
4
 
@@ -20,8 +18,12 @@ describe NiceId::Id do
20
18
  @id.send(:correct?).should be_false
21
19
  end
22
20
 
21
+ it "should be uniq" do
22
+ @id.to_s.should_not eq described_class.new.to_s
23
+ end
24
+
23
25
  it "should genarate Id with custom size" do
24
- described_class.new(7).to_s.length.should eq 7*2
26
+ described_class.new(7).to_s.length.should eq 7 * 2
25
27
  end
26
28
 
27
29
  end
metadata CHANGED
@@ -1,51 +1,50 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: niceid
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
4
5
  prerelease:
5
- version: 0.0.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Serg Podtynnyi
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-10 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rspec
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &69701170 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: "2.3"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.3'
24
22
  type: :development
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: backports
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *69701170
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &69700270 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "2.0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
35
33
  type: :development
36
- version_requirements: *id002
37
- description: Simple to remember and safe for handwriting, letters and numbers based ID.
38
- email:
34
+ prerelease: false
35
+ version_requirements: *69700270
36
+ description: Simple to remember and safe for handwriting, letters and numbers based
37
+ ID.
38
+ email:
39
39
  - serg.podtynnyi@gmail.com
40
- executables:
40
+ executables:
41
41
  - niceid
42
42
  extensions: []
43
-
44
43
  extra_rdoc_files: []
45
-
46
- files:
44
+ files:
47
45
  - .gitignore
48
46
  - .rspec
47
+ - .travis.yml
49
48
  - Gemfile
50
49
  - Rakefile
51
50
  - bin/niceid
@@ -56,30 +55,27 @@ files:
56
55
  - spec/spec_helper.rb
57
56
  homepage: https://github.com/shtirlic/niceid
58
57
  licenses: []
59
-
60
58
  post_install_message:
61
59
  rdoc_options: []
62
-
63
- require_paths:
60
+ require_paths:
64
61
  - lib
65
- required_ruby_version: !ruby/object:Gem::Requirement
62
+ required_ruby_version: !ruby/object:Gem::Requirement
66
63
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: "0"
71
- required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
69
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: "0"
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
77
74
  requirements: []
78
-
79
75
  rubyforge_project:
80
- rubygems_version: 1.8.3
76
+ rubygems_version: 1.8.11
81
77
  signing_key:
82
78
  specification_version: 3
83
79
  summary: Nice ID Generator with checksum check.
84
80
  test_files: []
85
-
81
+ has_rdoc: