tbpgr_utils 0.0.82 → 0.0.83

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -93,6 +93,7 @@ Or install it yourself as:
93
93
  |[TbpgrUtils Numeric#dozen](#numericdozen) |get dozen number |
94
94
  |[TbpgrUtils Numeric#is_ascii?](#numericis_ascii) |get is_ascii number |
95
95
  |[TbpgrUtils Numeric to_binary_table](#numeric-to_binary_table) |binary table |
96
+ |[TbpgrUtils Numeric to_digit_table](#numeric-to_digit_table) |digit table |
96
97
  |[TbpgrUtils Numeric to_hex_table](#numeric-to_hex_table) |hex table |
97
98
  |[TbpgrUtils Numeric to_oct_table](#numeric-to_oct_table) |oct table |
98
99
  |[TbpgrUtils Object#any_of?](#objectany_of) |if self match any one of items, return true |
@@ -2195,6 +2196,22 @@ result
2195
2196
 
2196
2197
  [back to list](#list)
2197
2198
 
2199
+ ### Numeric to_digit_table
2200
+ 255 to 256 case
2201
+ ~~~ruby
2202
+ require 'tbpgr_utils'
2203
+ Numeric.to_digit_table(255, 256)
2204
+ ~~~
2205
+
2206
+ result
2207
+ ~~~
2208
+ |10digit| 2digit|8digit|16digit|
2209
+ | 255|0000000011111111| 377| 00ff|
2210
+ | 256|0000000100000000| 400| 0100|
2211
+ ~~~
2212
+
2213
+ [back to list](#list)
2214
+
2198
2215
  ### Numeric to_hex_table
2199
2216
  65535 to 65536 case
2200
2217
  ~~~ruby
@@ -2826,6 +2843,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
2826
2843
  https://github.com/tbpgr/tbpgr_utils_snippets
2827
2844
 
2828
2845
  ## History
2846
+ * version 0.0.83 : add Numeric to_digit_table
2829
2847
  * version 0.0.82 : add Numeric to_oct_table
2830
2848
  * version 0.0.81 : add Numeric to_hex_table
2831
2849
  * version 0.0.80 : add Numeric to_binary_table
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ # Numeric
4
+ class Numeric
5
+ # return is digit table
6
+ #
7
+ # ==== Examples
8
+ #
9
+ # 255 to 256 case
10
+ #
11
+ # Numeric.to_digit_table(255, 256)
12
+ #
13
+ # result
14
+ #
15
+ # |10digit| 2digit|8digit|16digit|
16
+ # | 255|0000000011111111| 377| 00ff|
17
+ # | 256|0000000100000000| 400| 0100|
18
+ #
19
+ def self.to_digit_table(from = 1, to = 10)
20
+ ret = []
21
+ binary_size = to.to_s(2).size - 1
22
+ binary_pad = (binary_size / 8 + 1) * 8
23
+ oct_size = to.to_s(8).size
24
+ hex_size = to.to_s(16).size - 1
25
+ hex_pad = (hex_size / 4 + 1) * 4
26
+ ret << '|10digit|2digit|8digit|16digit|'
27
+ (from..to).each { |i|ret << "|#{i}|#{i.to_s(2).rjust(binary_pad, '0')}|#{i.to_s(8).rjust(oct_size, '0')}|#{i.to_s(16).rjust(hex_pad, '0')}|" }
28
+ joined = ret.join("\n") + "\n"
29
+ joined.justify_table(:right)
30
+ end
31
+ end
@@ -3,5 +3,6 @@ require 'open_classes/numeric/dice_back'
3
3
  require 'open_classes/numeric/dozen'
4
4
  require 'open_classes/numeric/is_ascii'
5
5
  require 'open_classes/numeric/to_binary_table'
6
+ require 'open_classes/numeric/to_digit_table'
6
7
  require 'open_classes/numeric/to_hex_table'
7
8
  require 'open_classes/numeric/to_oct_table'
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.82'
5
+ VERSION = '0.0.83'
6
6
  end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'tbpgr_utils'
4
+
5
+ describe Numeric do
6
+ context :to_digit_table do
7
+ cases = [
8
+ {
9
+ case_no: 1,
10
+ case_title: '1-3 case',
11
+ from: 1,
12
+ to: 3,
13
+ expected: <<-EOS
14
+ |10digit| 2digit|8digit|16digit|
15
+ | 1|00000001| 1| 0001|
16
+ | 2|00000010| 2| 0002|
17
+ | 3|00000011| 3| 0003|
18
+ EOS
19
+ },
20
+ {
21
+ case_no: 2,
22
+ case_title: '255-256 case',
23
+ from: 255,
24
+ to: 256,
25
+ expected: <<-EOS
26
+ |10digit| 2digit|8digit|16digit|
27
+ | 255|0000000011111111| 377| 00ff|
28
+ | 256|0000000100000000| 400| 0100|
29
+ EOS
30
+ },
31
+ ]
32
+
33
+ cases.each do |c|
34
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
35
+ begin
36
+ case_before c
37
+
38
+ # -- given --
39
+ # nothing
40
+
41
+ # -- when --
42
+ actual = Numeric.to_digit_table(c[:from], c[:to])
43
+
44
+ # -- then --
45
+ expect(actual).to eq(c[:expected])
46
+ ensure
47
+ case_after c
48
+ end
49
+ end
50
+
51
+ def case_before(c)
52
+ # implement each case before
53
+ end
54
+
55
+ def case_after(c)
56
+ # implement each case after
57
+ end
58
+ end
59
+ end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tbpgr_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.82
4
+ version: 0.0.83
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-30 00:00:00.000000000 Z
12
+ date: 2014-03-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &21146724 !ruby/object:Gem::Requirement
16
+ requirement: &27713340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 4.0.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *21146724
24
+ version_requirements: *27713340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &21144888 !ruby/object:Gem::Requirement
27
+ requirement: &27711936 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.3'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *21144888
35
+ version_requirements: *27711936
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &25664424 !ruby/object:Gem::Requirement
38
+ requirement: &27711564 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *25664424
46
+ version_requirements: *27711564
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &25662144 !ruby/object:Gem::Requirement
49
+ requirement: &27710748 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.14.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *25662144
57
+ version_requirements: *27710748
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &25661028 !ruby/object:Gem::Requirement
60
+ requirement: &27709200 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.8.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *25661028
68
+ version_requirements: *27709200
69
69
  description: Utilities
70
70
  email:
71
71
  - tbpgr@tbpgr.jp
@@ -149,6 +149,7 @@ files:
149
149
  - lib/open_classes/numeric/dozen.rb
150
150
  - lib/open_classes/numeric/is_ascii.rb
151
151
  - lib/open_classes/numeric/to_binary_table.rb
152
+ - lib/open_classes/numeric/to_digit_table.rb
152
153
  - lib/open_classes/numeric/to_hex_table.rb
153
154
  - lib/open_classes/numeric/to_oct_table.rb
154
155
  - lib/open_classes/object.rb
@@ -245,6 +246,7 @@ files:
245
246
  - spec/open_classes/numeric/dozen_spec.rb
246
247
  - spec/open_classes/numeric/is_ascii_spec.rb
247
248
  - spec/open_classes/numeric/to_binary_table_spec.rb
249
+ - spec/open_classes/numeric/to_digit_table_spec.rb
248
250
  - spec/open_classes/numeric/to_hex_table_spec.rb
249
251
  - spec/open_classes/numeric/to_oct_table_spec.rb
250
252
  - spec/open_classes/object/any_of_spec.rb
@@ -362,6 +364,7 @@ test_files:
362
364
  - spec/open_classes/numeric/dozen_spec.rb
363
365
  - spec/open_classes/numeric/is_ascii_spec.rb
364
366
  - spec/open_classes/numeric/to_binary_table_spec.rb
367
+ - spec/open_classes/numeric/to_digit_table_spec.rb
365
368
  - spec/open_classes/numeric/to_hex_table_spec.rb
366
369
  - spec/open_classes/numeric/to_oct_table_spec.rb
367
370
  - spec/open_classes/object/any_of_spec.rb