ruby-fizzbuzz 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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