uxid 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c978775f6f1bc8d90742d12704cf58b5909977a034d486d8c23d857a3b5d6ded
4
- data.tar.gz: c0ef77341f93dd6c242e83c044b717cf9df65d1b278062533374ddfd50d8e743
3
+ metadata.gz: 329b2b3ae00dc22cfc6a32ce123ad4f22a1211cc2d1851d1797211b838b59983
4
+ data.tar.gz: 586e48ce10bd900cf51a1fafc363640443d2f22e6ac845ddcaac85ae810467bc
5
5
  SHA512:
6
- metadata.gz: efec15348c4f3b60e9b30a88b7a8c8df414b9b5ee9dd3a45fe6284d4896a381de51f6ebe0e3e37e3310dea1c5e11741caa3804412424f81f21aac7decdaff456
7
- data.tar.gz: 9713fad5b5b7c9ea5fce242d1cddc3dcf787935d141d5673d80ca00e83082192b0fbfb4d6bdd71a53d1f737d8180ae542ea2e48262e52a3423808ed70938ae7c
6
+ metadata.gz: a5516fd55ea9f94f64c4a7535b4d1bb751ba729021aad89e28a47fd23b7adb42183d2267374a28badacb0aab704fd591eb22a7d7f4ae0d3a589eb0ee04b2c384
7
+ data.tar.gz: a19e5b88e3e0d2b88931bfb146d2323595e848dbf4d6675726afc476c4a1a1a3810870bd1e34e7f92bbbf1b8014419bf97a7bebd5c3392f4a7f624043f56a555
@@ -0,0 +1,72 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ danger:
10
+ runs-on: ubuntu-latest
11
+ if: github.event_name == 'pull_request' # only run pull request when multiple trigger workflow
12
+ steps:
13
+ - name: Checkout Repo
14
+ uses: actions/checkout@v2
15
+
16
+ - name: Setup Ruby
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: '2.6'
20
+
21
+ - name: Cache Ruby Gems
22
+ uses: actions/cache@v2
23
+ with:
24
+ path: vendor/bundle
25
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
26
+ restore-keys: |
27
+ ${{ runner.os }}-gems-
28
+
29
+ - name: Bundle Install
30
+ run: |
31
+ bundle config path vendor/bundle
32
+ bundle install --jobs 4 --retry 3
33
+
34
+ - name: Danger linting
35
+ uses: MeilCli/danger-action@v5
36
+ with:
37
+ plugins_file: Gemfile
38
+ install_path: vendor/bundle
39
+ danger_file: Dangerfile
40
+ danger_id: danger-pr
41
+ env:
42
+ DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
43
+
44
+ tests:
45
+ runs-on: ubuntu-latest
46
+ if: github.event_name == 'pull_request' # only run pull request when multiple trigger workflow
47
+ steps:
48
+ - name: Checkout Repo
49
+ uses: actions/checkout@v2
50
+
51
+ - name: Setup Ruby
52
+ uses: actions/setup-ruby@v1
53
+ with:
54
+ ruby-version: '2.6'
55
+
56
+ - name: Cache Ruby Gems
57
+ uses: actions/cache@v2
58
+ with:
59
+ path: vendor/bundle
60
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
61
+ restore-keys: |
62
+ ${{ runner.os }}-gems-
63
+
64
+ - name: Bundle Install
65
+ run: |
66
+ bundle config path vendor/bundle
67
+ bundle install --jobs 4 --retry 3
68
+
69
+ - name: Run Tests
70
+ run: |
71
+ bundle config path vendor/bundle
72
+ bundle exec rake test
@@ -0,0 +1,43 @@
1
+ # Custom files
2
+
3
+ # Compiled source
4
+ *.com
5
+ *.class
6
+ *.dll
7
+ *.exe
8
+ *.o
9
+ *.so
10
+
11
+ # Packages
12
+ #
13
+ # It's better to unpack these files and commit the raw source
14
+ # git has its own built in compression methods
15
+ *.7z
16
+ *.dmg
17
+ *.gz
18
+ *.iso
19
+ *.jar
20
+ *.rar
21
+ *.tar
22
+ *.zip
23
+
24
+ # Logs and databases
25
+ *.log
26
+ *.sql
27
+ *.sqlite
28
+
29
+ # OS generated files #
30
+ .DS_Store
31
+ .DS_Store?
32
+ ._*
33
+ .Spotlight-V100
34
+ .Trashes
35
+ ehthumbs.db
36
+ Thumbs.db
37
+
38
+ # Editor-made files
39
+ *.swp
40
+
41
+ #===== Ruby =====
42
+ *.gem
43
+ reports/
@@ -3,7 +3,12 @@
3
3
  * (Nothing yet)
4
4
 
5
5
 
6
- ### 0.2.2 / 2020-11/25
6
+ ### 0.2.3 / 2020-11-29
7
+
8
+ * Updates project URL
9
+
10
+
11
+ ### 0.2.2 / 2020-11-25
7
12
 
8
13
  * Uses Ruby path for Gemspec homepage
9
14
  * Adds more tests around generation using size option
@@ -0,0 +1,5 @@
1
+ # Check format of commit message
2
+ commit_lint.check fail: :all
3
+
4
+ # Make it more obvious that a PR is a work in progress and shouldn't be merged yet
5
+ warn "PR is classed as Work in Progress" if github.pr_title.include? "[WIP]"
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in uxid.gemspec
4
4
  gemspec
5
5
 
6
+ gem "danger"
7
+ gem "danger-commit_lint"
6
8
  gem "minitest", "~> 5.0"
7
9
  gem "minitest-focus"
8
10
  gem "minitest-reporters"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- uxid (0.2.0)
4
+ uxid (0.2.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -15,14 +15,44 @@ GEM
15
15
  ice_nine (~> 0.11.0)
16
16
  thread_safe (~> 0.3, >= 0.3.1)
17
17
  builder (3.2.4)
18
+ claide (1.0.3)
19
+ claide-plugins (0.9.2)
20
+ cork
21
+ nap
22
+ open4 (~> 1.3)
18
23
  coderay (1.1.3)
19
24
  coercible (1.0.0)
20
25
  descendants_tracker (~> 0.0.1)
26
+ colored2 (3.1.2)
27
+ cork (0.3.0)
28
+ colored2 (~> 3.1)
29
+ danger (8.2.1)
30
+ claide (~> 1.0)
31
+ claide-plugins (>= 0.9.2)
32
+ colored2 (~> 3.1)
33
+ cork (~> 0.1)
34
+ faraday (>= 0.9.0, < 2.0)
35
+ faraday-http-cache (~> 2.0)
36
+ git (~> 1.7)
37
+ kramdown (~> 2.3)
38
+ kramdown-parser-gfm (~> 1.0)
39
+ no_proxy_fix
40
+ octokit (~> 4.7)
41
+ terminal-table (~> 1)
42
+ danger-commit_lint (0.0.7)
43
+ danger-plugin-api (~> 1.0)
44
+ danger-plugin-api (1.0.0)
45
+ danger (> 2.0)
21
46
  descendants_tracker (0.0.4)
22
47
  thread_safe (~> 0.3, >= 0.3.1)
23
48
  docile (1.3.2)
24
49
  equalizer (0.0.11)
25
50
  erubis (2.7.0)
51
+ faraday (1.1.0)
52
+ multipart-post (>= 1.2, < 3)
53
+ ruby2_keywords
54
+ faraday-http-cache (2.2.0)
55
+ faraday (>= 0.8)
26
56
  flay (2.12.1)
27
57
  erubis (~> 2.7.0)
28
58
  path_expander (~> 1.0)
@@ -32,7 +62,13 @@ GEM
32
62
  path_expander (~> 1.0)
33
63
  ruby_parser (~> 3.1, > 3.1.0)
34
64
  sexp_processor (~> 4.8)
65
+ git (1.7.0)
66
+ rchardet (~> 1.8)
35
67
  ice_nine (0.11.2)
68
+ kramdown (2.3.0)
69
+ rexml
70
+ kramdown-parser-gfm (1.1.0)
71
+ kramdown (~> 2.0)
36
72
  kwalify (0.7.2)
37
73
  launchy (2.5.0)
38
74
  addressable (~> 2.7)
@@ -45,6 +81,13 @@ GEM
45
81
  builder
46
82
  minitest (>= 5.0)
47
83
  ruby-progressbar
84
+ multipart-post (2.1.1)
85
+ nap (1.1.0)
86
+ no_proxy_fix (0.1.2)
87
+ octokit (4.19.0)
88
+ faraday (>= 0.9)
89
+ sawyer (~> 0.8.0, >= 0.5.3)
90
+ open4 (1.3.4)
48
91
  parallel (1.19.2)
49
92
  parser (2.7.1.3)
50
93
  ast (~> 2.4.0)
@@ -58,6 +101,7 @@ GEM
58
101
  public_suffix (4.0.5)
59
102
  rainbow (3.0.0)
60
103
  rake (12.3.3)
104
+ rchardet (1.8.0)
61
105
  reek (6.0.1)
62
106
  kwalify (~> 0.7.0)
63
107
  parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
@@ -77,6 +121,7 @@ GEM
77
121
  rubocop-ast (0.0.3)
78
122
  parser (>= 2.7.0.1)
79
123
  ruby-progressbar (1.10.1)
124
+ ruby2_keywords (0.0.2)
80
125
  ruby_parser (3.14.2)
81
126
  sexp_processor (~> 4.9)
82
127
  rubycritic (4.5.0)
@@ -90,11 +135,16 @@ GEM
90
135
  simplecov (>= 0.17.0)
91
136
  tty-which (~> 0.4.0)
92
137
  virtus (~> 1.0)
138
+ sawyer (0.8.2)
139
+ addressable (>= 2.3.5)
140
+ faraday (> 0.8, < 2.0)
93
141
  sexp_processor (4.15.0)
94
142
  simplecov (0.18.5)
95
143
  docile (~> 1.1)
96
144
  simplecov-html (~> 0.11)
97
145
  simplecov-html (0.12.2)
146
+ terminal-table (1.8.0)
147
+ unicode-display_width (~> 1.1, >= 1.1.1)
98
148
  thread_safe (0.3.6)
99
149
  tty-which (0.4.2)
100
150
  unicode-display_width (1.7.0)
@@ -108,6 +158,8 @@ PLATFORMS
108
158
  ruby
109
159
 
110
160
  DEPENDENCIES
161
+ danger
162
+ danger-commit_lint
111
163
  minitest (~> 5.0)
112
164
  minitest-focus
113
165
  minitest-reporters
@@ -117,6 +169,3 @@ DEPENDENCIES
117
169
  rubycritic
118
170
  simplecov
119
171
  uxid!
120
-
121
- BUNDLED WITH
122
- 2.1.4
File without changes
@@ -1,3 +1,3 @@
1
1
  module UXID
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -7,9 +7,9 @@ Gem::Specification.new do |spec|
7
7
  spec.authors = ["JohnnyT"]
8
8
  spec.email = ["ubergeek3141@gmail.com"]
9
9
 
10
- spec.summary = "Generates IDs like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ (similar to Stripe identifiers)."
10
+ spec.summary = "Generates IDs like: cus_01EPEY1JMK and txn_01EPEY2P06TR1RTV07 (similar to Stripe identifiers)."
11
11
  spec.description = spec.summary
12
- spec.homepage = "https://github.com/riddler/uxid/tree/master/impl/rb"
12
+ spec.homepage = "https://github.com/riddler/uxid-rb"
13
13
  spec.license = "MIT"
14
14
  spec.required_ruby_version = Gem::Requirement.new ">= 2.3.0"
15
15
 
metadata CHANGED
@@ -1,29 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uxid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - JohnnyT
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-25 00:00:00.000000000 Z
11
+ date: 2020-11-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: 'Generates IDs like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ
14
- (similar to Stripe identifiers).'
13
+ description: 'Generates IDs like: cus_01EPEY1JMK and txn_01EPEY2P06TR1RTV07 (similar
14
+ to Stripe identifiers).'
15
15
  email:
16
16
  - ubergeek3141@gmail.com
17
17
  executables: []
18
18
  extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
+ - ".github/workflows/build.yml"
22
+ - ".gitignore"
21
23
  - ".rubocop.yml"
22
24
  - ".simplecov"
23
25
  - CHANGELOG.md
26
+ - Dangerfile
24
27
  - Gemfile
25
28
  - Gemfile.lock
26
- - LICENSE.txt
29
+ - LICENSE
27
30
  - README.md
28
31
  - Rakefile
29
32
  - bin/console
@@ -34,17 +37,16 @@ files:
34
37
  - lib/tasks/quality.rake
35
38
  - lib/tasks/test.rake
36
39
  - lib/uxid.rb
37
- - lib/uxid/crockford.rb
38
40
  - lib/uxid/encoder.rb
39
41
  - lib/uxid/model.rb
40
42
  - lib/uxid/version.rb
41
43
  - uxid.gemspec
42
- homepage: https://github.com/riddler/uxid/tree/master/impl/rb
44
+ homepage: https://github.com/riddler/uxid-rb
43
45
  licenses:
44
46
  - MIT
45
47
  metadata:
46
- homepage_uri: https://github.com/riddler/uxid/tree/master/impl/rb
47
- source_code_uri: https://github.com/riddler/uxid/tree/master/impl/rb
48
+ homepage_uri: https://github.com/riddler/uxid-rb
49
+ source_code_uri: https://github.com/riddler/uxid-rb
48
50
  post_install_message:
49
51
  rdoc_options: []
50
52
  require_paths:
@@ -63,6 +65,6 @@ requirements: []
63
65
  rubygems_version: 3.1.4
64
66
  signing_key:
65
67
  specification_version: 4
66
- summary: 'Generates IDs like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ
67
- (similar to Stripe identifiers).'
68
+ summary: 'Generates IDs like: cus_01EPEY1JMK and txn_01EPEY2P06TR1RTV07 (similar to
69
+ Stripe identifiers).'
68
70
  test_files: []
@@ -1,50 +0,0 @@
1
- module UXID
2
- module Crockford
3
- ALPHABET = "0123456789ABCDEFGHJKMNPQRSTVWXYZ".freeze
4
-
5
- class Chunk
6
- def initialize bytes
7
- @bytes = bytes
8
- end
9
-
10
- def decode
11
- bytes = @bytes.take_while {|c| c != 61} # strip padding
12
- n = (bytes.length * 5.0 / 8.0).floor
13
- p = bytes.length < 8 ? 5 - (n * 8) % 5 : 0
14
- c = bytes.inject(0) do |m,o|
15
- i = ALPHABET.index o.chr
16
- raise ArgumentError, "invalid character '#{o.chr}'" if i.nil?
17
- (m << 5) + i
18
- end >> p
19
- (0..n-1).to_a.reverse.collect {|i| ((c >> i * 8) & 0xff).chr}
20
- end
21
-
22
- def encode
23
- n = (@bytes.length * 8.0 / 5.0).ceil
24
- p = n < 8 ? 5 - (@bytes.length * 8) % 5 : 0
25
- c = @bytes.inject(0) {|m,o| (m << 8) + o} << p
26
- [(0..n-1).to_a.reverse.collect {|i| ALPHABET[(c >> i * 5) & 0x1f].chr}]
27
- end
28
- end
29
-
30
- def self.chunks str, size
31
- result = []
32
- bytes = str.bytes
33
- while bytes.any? do
34
- chunk_bytes = bytes.take size
35
- bytes = bytes.drop size
36
- new_chunk = Chunk.new chunk_bytes
37
- result << new_chunk
38
- end
39
- result
40
- end
41
-
42
- def self.encode str
43
- chunks(str, 5).collect(&:encode).flatten.join
44
- end
45
-
46
- def self.decode str
47
- chunks(str, 8).collect(&:decode).flatten.join
48
- end
49
- end
50
- end