ruby-fizzbuzz 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGMwNWU1NjNiMzhmZGQwZGZlZjUyNTM4ZTE0N2ZiMWUyY2E0YjBkOA==
4
+ MWYzNWE4ZTE5NzkyODAwMmM0ZjA5N2UxODZmYmUwNTNmZTI0N2YzNQ==
5
5
  data.tar.gz: !binary |-
6
- MzNkMTQ2MTkxMjUzNTY3M2UxZWQyZjg3NTQ3YzlhMTlmMjYwYjZiYg==
6
+ YWRjODkyYmU3MTFkNjQxMWVjOGUxNTQ0YTliZjkyOTgxMDIwMTk3Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NmYwYTYzYzA1MjUyODRhMmVmNTM0NDQ4OGY1NzYwMzAwZDBkZWRlODRjMTNm
10
- ODQ1YjE5ZjYwMmM1NzQ4MWU5NWE3YzE5ZTkyODIyZDVlODBkNTQ2MjcyMTI5
11
- ZjRiZTE0YzQzMjkwM2RjYTVkYjUzMjVlMDM5NWIwNjIyMjRmNzY=
9
+ MzlmMzNmMDRkYzRmODUxMDRiMTZlNzZmZjMxY2YwYzQyMmVkYTU3YmJiODNk
10
+ OTM4OWZlYzQ5YjY4NDEzNGNiNzU5YWUxZDNkN2UwYTRmZDk5ZWJkODU4Y2Jm
11
+ Njc3MzVhNTRhNDc5ZGQ0OWFjYjAyM2MyMTM0ZmYxNDI1MmRlZmU=
12
12
  data.tar.gz: !binary |-
13
- MTAxOTE2YjM0NGMxZjVhNjc4YWYyZGUzMzcwMjRiNjNiNDlkMTY4MWMxNGQ4
14
- Y2RjYzYxYjhkZDM0ZmM5NWE4MDYyZTZmOGY5YTQ2YjBmMWUxOGFkOWFjYmRm
15
- ZjkyZGVlODdjMzgyMzliYjI3NjE1MTJjMWE3MmI5ZTA5ZWEwMDY=
13
+ ODE4OGU2ZTU5MTAzNDJkYjVmZGM5MzY1NzBiZWFlOGM3NThjMWY4MDhiNWE5
14
+ ZWYxYzljZjIzZDYyYzgyYTNkNTZkNTBlZjk5NjdiZGMwY2RlZTcyNWMwYzM5
15
+ ZjAxNDkxM2Y1ZGEwMThkYTI4NWM3MTUwMTRiOGVjNmViNDczMWQ=
data/CHANGES CHANGED
@@ -1,3 +1,15 @@
1
+ fizzbuzz (0.0.6)
2
+
3
+ * Fixed issue reported by LLVM (clang);
4
+ * Updated development dependencies;
5
+ * Added Ruby 2.1.0 to Travis CI;
6
+ * Added BitDeli and Gemnasium integration;
7
+ * Re-factored and cleaned up small portions of code;
8
+ * Made Rake "test" task to be the default tasks;
9
+ * Updated the ".gitignore" file to cover Bundler, rbenv, etc.
10
+
11
+ -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Sun, 23 Feb 2014 13:52:08 +0000
12
+
1
13
  fizzbuzz (0.0.5)
2
14
 
3
15
  * Added integration with Array and Range types;
data/CHANGES.rdoc CHANGED
@@ -1,3 +1,15 @@
1
+ fizzbuzz (0.0.6)
2
+
3
+ * Fixed issue reported by LLVM (clang);
4
+ * Updated development dependencies;
5
+ * Added Ruby 2.1.0 to Travis CI;
6
+ * Added BitDeli and Gemnasium integration;
7
+ * Re-factored and cleaned up small portions of code;
8
+ * Made Rake "test" task to be the default tasks;
9
+ * Updated the ".gitignore" file to cover Bundler, rbenv, etc.
10
+
11
+ -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Sun, 23 Feb 2014 13:52:08 +0000
12
+
1
13
  fizzbuzz (0.0.5)
2
14
 
3
15
  * Added integration with Array and Range types;
data/README.rdoc CHANGED
@@ -8,3 +8,5 @@ for arbitrary large numeric values via the Bignum class.
8
8
  {<img src="https://badge.fury.io/rb/ruby-fizzbuzz.png" alt="Gem Version" />}[http://badge.fury.io/rb/ruby-fizzbuzz]
9
9
  {<img src="https://coveralls.io/repos/kwilczynski/ruby-fizzbuzz/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/kwilczynski/ruby-fizzbuzz?branch=master]
10
10
  {<img src="https://codeclimate.com/github/kwilczynski/ruby-fizzbuzz.png" />}[https://codeclimate.com/github/kwilczynski/ruby-fizzbuzz]
11
+ {<img src="https://gemnasium.com/kwilczynski/ruby-fizzbuzz.png" alt="Dependency Status" />}[https://gemnasium.com/kwilczynski/ruby-fizzbuzz]
12
+ {<img src="https://d2weczhvl823v0.cloudfront.net/kwilczynski/ruby-fizzbuzz/trend.png" alt="Bitdeli Badge" />}[https://bitdeli.com/free]
data/Rakefile CHANGED
@@ -20,7 +20,7 @@
20
20
  # limitations under the License.
21
21
  #
22
22
 
23
- gem 'rdoc', '>= 3.12'
23
+ gem 'rdoc', '>= 4.1.1'
24
24
 
25
25
  begin
26
26
  require 'rake'
@@ -90,7 +90,7 @@ task :benchmark, [:first] => :test do |t,argument|
90
90
  end
91
91
  end
92
92
 
93
- task :default => :package
93
+ task :default => :test
94
94
 
95
95
  # vim: set ts=2 sw=2 sts=2 et :
96
96
  # encoding: utf-8
data/TODO CHANGED
@@ -1,11 +1,11 @@
1
- fizzbuzz (0.0.7)
1
+ fizzbuzz (0.0.8)
2
2
 
3
3
  * Improve github project page;
4
4
  * Re-factor unit tests to make them more idiomatic (maybe move to Rspec and BDD?).
5
5
 
6
- -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Tue, 26 Nov 2013 12:40:34 +0000
6
+ -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Sun, 23 Feb 2014 13:52:08 +0000
7
7
 
8
- fizzbuzz (0.0.6)
8
+ fizzbuzz (0.0.7)
9
9
 
10
10
  * Move to YARD from RDoc (as RDoc is very bad, really);
11
11
  * Add pure-Ruby implementation;
@@ -13,4 +13,4 @@ fizzbuzz (0.0.6)
13
13
  * Add Doxygen style comments for other functions in the source code;
14
14
  * Improve documentation i.e. source code commenting, README file, etc.
15
15
 
16
- -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Tue, 26 Nov 2013 12:40:34 +0000
16
+ -- Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> Sun, 23 Feb 2014 13:52:08 +0000
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -31,8 +31,8 @@ VALUE rb_fb_eRangeError = Qnil;
31
31
  void Init_fizzbuzz(void);
32
32
 
33
33
  static VALUE fizzbuzz_evaluate(VALUE value);
34
- static VALUE fizzbuzz_values(VALUE object, return_type_t type,
35
- direction_t direction);
34
+ static VALUE fizzbuzz_values(VALUE object, fizzbuzz_return_t type,
35
+ fizzbuzz_direction_t direction);
36
36
 
37
37
  static VALUE fizzbuzz_exception_wrapper(VALUE value);
38
38
  static VALUE fizzbuzz_exception(void *data);
@@ -399,34 +399,19 @@ fizzbuzz_evaluate(VALUE value)
399
399
  {
400
400
  int8_t score;
401
401
 
402
- VALUE result = Qnil;
403
-
404
402
  if (ZERO_P(value)) {
405
403
  return value;
406
404
  }
407
405
 
408
406
  score = SCORE_VALUE(value);
407
+ assert((score >= 0 && score <= 3) && \
408
+ "Score value out of bounds, must be between 0 and 3 inclusive");
409
409
 
410
- switch(score) {
411
- case 0:
412
- result = value;
413
- break;
414
- case 1:
415
- result = CSTR2RVAL(words[score - 1]);
416
- break;
417
- case 2:
418
- result = CSTR2RVAL(words[score - 1]);
419
- break;
420
- case 3:
421
- result = CSTR2RVAL(words[score - 1]);
422
- break;
423
- }
424
-
425
- return result;
410
+ return score < 1 ? value : CSTR2RVAL(word(score));
426
411
  }
427
412
 
428
413
  static VALUE
429
- fizzbuzz_values(VALUE object, return_type_t type, direction_t direction)
414
+ fizzbuzz_values(VALUE object, fizzbuzz_return_t type, fizzbuzz_direction_t direction)
430
415
  {
431
416
  VALUE i = Qnil;
432
417
 
@@ -462,7 +447,7 @@ fizzbuzz_values(VALUE object, return_type_t type, direction_t direction)
462
447
  static VALUE
463
448
  fizzbuzz_exception_wrapper(VALUE value)
464
449
  {
465
- exception_t *e = (struct exception *)value;
450
+ fizzbuzz_exception_t *e = (struct fizzbuzz_exception *)value;
466
451
 
467
452
  return rb_exc_new2(e->klass, e->message);
468
453
  }
@@ -473,8 +458,8 @@ fizzbuzz_exception(void *data)
473
458
  int exception = 0;
474
459
  VALUE object = Qnil;
475
460
 
476
- exception_t *e = data;
477
- assert(e != NULL && "Must be a valid pointer to `exception_t' type");
461
+ fizzbuzz_exception_t *e = data;
462
+ assert(e != NULL && "Must be a valid pointer to `fizzbuzz_exception_t' type");
478
463
 
479
464
  object = rb_protect(fizzbuzz_exception_wrapper, (VALUE)e, &exception);
480
465
 
@@ -491,7 +476,7 @@ fizzbuzz_exception(void *data)
491
476
  static VALUE
492
477
  fizzbuzz_type_error(VALUE klass, const char *message)
493
478
  {
494
- exception_t e;
479
+ fizzbuzz_exception_t e;
495
480
 
496
481
  e.start = Qnil;
497
482
  e.stop = Qnil;
@@ -504,7 +489,7 @@ fizzbuzz_type_error(VALUE klass, const char *message)
504
489
  static VALUE
505
490
  fizzbuzz_range_error(VALUE klass, VALUE start, VALUE stop, const char *message)
506
491
  {
507
- exception_t e;
492
+ fizzbuzz_exception_t e;
508
493
 
509
494
  e.start = start;
510
495
  e.stop = stop;
@@ -83,8 +83,9 @@ extern "C" {
83
83
  } while (0)
84
84
 
85
85
  #define error(t) errors[(t)]
86
+ #define word(n) words[(n) - 1]
86
87
 
87
- enum error {
88
+ enum fizzbuzz_error {
88
89
  E_INVALID_TYPE = 0,
89
90
  E_INVALID_START_TYPE,
90
91
  E_INVALID_STOP_TYPE,
@@ -92,26 +93,27 @@ enum error {
92
93
  E_BAD_VALUE_STOP
93
94
  };
94
95
 
95
- enum return_type {
96
+ enum fizzbuzz_return {
96
97
  R_TYPE_ARRAY = 0,
97
98
  R_TYPE_ENUMERATOR
98
99
  };
99
100
 
100
- enum direction {
101
+ enum fizzbuzz_direction {
101
102
  D_LOOP_FORWARD = 0,
102
103
  D_LOOP_REVERSE
103
104
  };
104
105
 
105
- struct exception {
106
+ typedef enum fizzbuzz_return fizzbuzz_return_t;
107
+ typedef enum fizzbuzz_direction fizzbuzz_direction_t;
108
+
109
+ struct fizzbuzz_exception {
106
110
  VALUE start;
107
111
  VALUE stop;
108
112
  const char *message;
109
113
  VALUE klass;
110
114
  };
111
115
 
112
- typedef enum return_type return_type_t;
113
- typedef enum direction direction_t;
114
- typedef struct exception exception_t;
116
+ typedef struct fizzbuzz_exception fizzbuzz_exception_t;
115
117
 
116
118
  static const char *errors[] = {
117
119
  "must be an Integer or Bignum type",
@@ -26,7 +26,7 @@ class FizzBuzz
26
26
  #
27
27
  # Current version of _FizzBuzz_.
28
28
  #
29
- VERSION = '0.0.5'
29
+ VERSION = '0.0.6'
30
30
  end
31
31
 
32
32
  # :enddoc:
@@ -42,7 +42,7 @@ arbitrary large numeric values via the Bignum class.
42
42
  s.homepage = 'http://about.me/kwilczynski'
43
43
 
44
44
  s.rubyforge_project = 'ruby-fizzbuzz'
45
- s.rubygems_version = '~> 1.3.7'
45
+ s.rubygems_version = '~> 2.2.0'
46
46
  s.has_rdoc = true
47
47
 
48
48
  s.summary = 'Yet another FizzBuzz in Ruby'
@@ -59,10 +59,10 @@ arbitrary large numeric values via the Bignum class.
59
59
  s.require_paths << 'lib'
60
60
  s.extensions << 'ext/fizzbuzz/extconf.rb'
61
61
 
62
- s.add_development_dependency 'rake', '>= 0.8.7'
63
- s.add_development_dependency 'rdoc', '>= 3.12'
64
- s.add_development_dependency 'test-unit', '>= 2.5.2'
65
- s.add_development_dependency 'rake-compiler', '>= 0.7.1'
62
+ s.add_development_dependency 'rake', '~> 10.1', '>= 10.1.1'
63
+ s.add_development_dependency 'rdoc', '~> 4.1', '>= 4.1.1'
64
+ s.add_development_dependency 'test-unit', '~> 2.5', '>= 2.5.5'
65
+ s.add_development_dependency 'rake-compiler', '~> 0.9', '>= 0.9.2'
66
66
 
67
67
  s.signing_key = signing_key if File.exists?(signing_key)
68
68
  end
metadata CHANGED
@@ -1,71 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-fizzbuzz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Wilczynski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-26 00:00:00.000000000 Z
11
+ date: 2014-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '10.1'
17
20
  - - ! '>='
18
21
  - !ruby/object:Gem::Version
19
- version: 0.8.7
22
+ version: 10.1.1
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '10.1'
24
30
  - - ! '>='
25
31
  - !ruby/object:Gem::Version
26
- version: 0.8.7
32
+ version: 10.1.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rdoc
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: '4.1'
31
40
  - - ! '>='
32
41
  - !ruby/object:Gem::Version
33
- version: '3.12'
42
+ version: 4.1.1
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: '4.1'
38
50
  - - ! '>='
39
51
  - !ruby/object:Gem::Version
40
- version: '3.12'
52
+ version: 4.1.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: test-unit
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ version: '2.5'
45
60
  - - ! '>='
46
61
  - !ruby/object:Gem::Version
47
- version: 2.5.2
62
+ version: 2.5.5
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '2.5'
52
70
  - - ! '>='
53
71
  - !ruby/object:Gem::Version
54
- version: 2.5.2
72
+ version: 2.5.5
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: rake-compiler
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '0.9'
59
80
  - - ! '>='
60
81
  - !ruby/object:Gem::Version
61
- version: 0.7.1
82
+ version: 0.9.2
62
83
  type: :development
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '0.9'
66
90
  - - ! '>='
67
91
  - !ruby/object:Gem::Version
68
- version: 0.7.1
92
+ version: 0.9.2
69
93
  description: ! 'Yet another FizzBuzz in Ruby.
70
94
 
71
95
 
@@ -84,20 +108,6 @@ extensions:
84
108
  - ext/fizzbuzz/extconf.rb
85
109
  extra_rdoc_files: []
86
110
  files:
87
- - ext/fizzbuzz/fizzbuzz.c
88
- - ext/fizzbuzz/common.h
89
- - ext/fizzbuzz/fizzbuzz.h
90
- - ext/fizzbuzz/extconf.rb
91
- - lib/fizzbuzz/bignum.rb
92
- - lib/fizzbuzz/array.rb
93
- - lib/fizzbuzz/integer.rb
94
- - lib/fizzbuzz/range.rb
95
- - lib/fizzbuzz/version.rb
96
- - lib/fizzbuzz.rb
97
- - benchmark/benchmark_fizzbuzz.rb
98
- - test/test_fizzbuzz.rb
99
- - Rakefile
100
- - ruby-fizzbuzz.gemspec
101
111
  - AUTHORS
102
112
  - CHANGES
103
113
  - CHANGES.rdoc
@@ -105,9 +115,23 @@ files:
105
115
  - LICENSE
106
116
  - README
107
117
  - README.rdoc
118
+ - Rakefile
108
119
  - TODO
109
120
  - VERSION
121
+ - benchmark/benchmark_fizzbuzz.rb
110
122
  - bin/fizzbuzz
123
+ - ext/fizzbuzz/common.h
124
+ - ext/fizzbuzz/extconf.rb
125
+ - ext/fizzbuzz/fizzbuzz.c
126
+ - ext/fizzbuzz/fizzbuzz.h
127
+ - lib/fizzbuzz.rb
128
+ - lib/fizzbuzz/array.rb
129
+ - lib/fizzbuzz/bignum.rb
130
+ - lib/fizzbuzz/integer.rb
131
+ - lib/fizzbuzz/range.rb
132
+ - lib/fizzbuzz/version.rb
133
+ - ruby-fizzbuzz.gemspec
134
+ - test/test_fizzbuzz.rb
111
135
  homepage: http://about.me/kwilczynski
112
136
  licenses:
113
137
  - Apache License, Version 2.0
@@ -129,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
153
  version: '0'
130
154
  requirements: []
131
155
  rubyforge_project: ruby-fizzbuzz
132
- rubygems_version: 2.1.11
156
+ rubygems_version: 2.2.2
133
157
  signing_key:
134
158
  specification_version: 4
135
159
  summary: Yet another FizzBuzz in Ruby