niceid 0.0.4 → 0.1.0

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.
@@ -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: