chainedexpressions 0.3 → 0.4

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
  SHA1:
3
- metadata.gz: a0080d860307a431d8e18cb9960c58e891b2e8ec
4
- data.tar.gz: c14be71435652bf0f82c42dc9b1b5fe70461e37e
3
+ metadata.gz: b0773f4cb89274a4d8ef86a6a4e29ebfcebaacfd
4
+ data.tar.gz: 95ac859e87f07712c26d3effc3acec301dd343e7
5
5
  SHA512:
6
- metadata.gz: 9744d7c4d860e29fc650c1baa30aecc2cbd96ce19983e57d0c12c8843f0ad3df313a6fec06c89d876fb77465d767e556cb81e82072909757632ac2590d0cba99
7
- data.tar.gz: c4b5aa883017e5d0d9becfbed909997af89fb29a2148332a0b0925b71060e364edbffbb66497e5bdc1f00670cbf66dddf1f322af598c9489dc32cb4c8f23715a
6
+ metadata.gz: 85de6a2bb14a45933ed2e3831b9eeff16162f9ae7e9936215c5031fb7be4e9b1251f15e32c4c3f6e4e7a4e9d2fc608e375e6f79b4605f9377dc70066286ca670
7
+ data.tar.gz: f488abafdcfc2bf5bdb04d9eb373145cfd3315a1207617cab6e03066d8f493b1fc93e9e43f76bb718b75735895df45401863c19f31c8a08c7479dfc288e89647
@@ -1,61 +1,61 @@
1
- #--
2
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- # Version 2, December 2004
4
- #
5
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
6
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7
- #
8
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
- #++
10
-
11
- module ChainedExpressions
12
- $operators = {
13
- :< => :lt,
14
- :<= => :lte,
15
- :>= => :gte,
16
- :> => :gt
17
- }
18
-
19
- refine Numeric do
20
- def eval_expression(op, n)
21
- case op
22
- when :< then (self <=> n) == -1
23
- when :<= then (self <=> n) == -1 || (self <=> n) == 0
24
- when :>= then (self <=> n) == 0 || (self <=> n) == 1
25
- when :> then (self <=> n) == 1
26
- end
27
- end
28
- end
29
-
30
- %w(TrueClass FalseClass).each { |c|
31
- eval <<-EOM
32
- refine #{c} do
33
- $operators.each { |op, o|
34
- define_method o do |n|
35
- prev = $prev
36
- $prev = n
37
- prev.eval_expression op, n
38
- end
39
-
40
- alias_method op, o
41
- }
42
- end
43
- EOM
44
- }
45
-
46
- %w(Fixnum Float Bignum).each { |c|
47
- eval <<-EOM
48
- refine #{c} do
49
- $operators.each { |op, o|
50
- define_method o do |n|
51
- $prev = n
52
- eval_expression op, n
53
- end
54
-
55
- alias_method op, o
56
- }
57
- end
58
- EOM
59
- }
60
- end
61
-
1
+ #--
2
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
+ # Version 2, December 2004
4
+ #
5
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
6
+ # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7
+ #
8
+ # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
+ #++
10
+
11
+ module ChainedExpressions
12
+ @@operators = {
13
+ :< => :lt,
14
+ :<= => :lte,
15
+ :>= => :gte,
16
+ :> => :gt
17
+ }
18
+
19
+ refine Numeric do
20
+ def eval_expression(op, n)
21
+ case op
22
+ when :< then (self <=> n) == -1
23
+ when :<= then (self <=> n) == -1 || (self <=> n) == 0
24
+ when :>= then (self <=> n) == 0 || (self <=> n) == 1
25
+ when :> then (self <=> n) == 1
26
+ end
27
+ end
28
+ end
29
+
30
+ %w(TrueClass FalseClass).each { |c|
31
+ eval <<-EOM
32
+ refine #{c} do
33
+ @@operators.each { |op, o|
34
+ define_method o do |n|
35
+ prev = @@prev
36
+ @@prev = n
37
+ prev.eval_expression op, n
38
+ end
39
+
40
+ alias_method op, o
41
+ }
42
+ end
43
+ EOM
44
+ }
45
+
46
+ %w(Fixnum Float Bignum).each { |c|
47
+ eval <<-EOM
48
+ refine #{c} do
49
+ @@operators.each { |op, o|
50
+ define_method o do |n|
51
+ @@prev = n
52
+ eval_expression op, n
53
+ end
54
+
55
+ alias_method op, o
56
+ }
57
+ end
58
+ EOM
59
+ }
60
+ end
61
+
@@ -1,13 +1,13 @@
1
- #--
2
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- # Version 2, December 2004
4
- #
5
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
6
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7
- #
8
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
- #++
10
-
11
- module ChainedExpressions
12
- VERSION = '0.3'
1
+ #--
2
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
+ # Version 2, December 2004
4
+ #
5
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
6
+ # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7
+ #
8
+ # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
+ #++
10
+
11
+ module ChainedExpressions
12
+ VERSION = '0.4'
13
13
  end
@@ -1,37 +1,36 @@
1
- #--
2
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
3
- # Version 2, December 2004
4
- #
5
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
6
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7
- #
8
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
- #++
10
-
11
- require 'rspec'
12
- require 'chainedexpressions'
13
- using ChainedExpressions
14
-
15
- describe ChainedExpressions do
16
- it 'can evaluate true expressions' do
17
- (20 < 25 ).should be true
18
- (20 < 25 < 30 ).should be true
19
- (35 > 30 > 25 > 20).should be true
20
-
21
- (20 <= 25 <= 30 <= 30 <= 35).should be true
22
- (35 >= 30 >= 30 >= 25 >= 20).should be true
23
- (20.5 >= 10 >= 2.5 >= 2.5 ).should be true
24
- end
25
-
26
- it 'can evaluate false expressions' do
27
- (30 < 25 ).should be false
28
- (30 < 25 < 20 ).should be false
29
- (20 > 25 > 30 > 35).should be false
30
-
31
- (35 <= 30 <= 30 <= 25 <= 20).should be false
32
- (20 >= 25 >= 30 >= 30 >= 35).should be false
33
- (20.5 >= 10 >= 2.5 >= 3.5 ).should be false
34
-
35
- ([1, 2])
36
- end
1
+ #! /usr/bin/env ruby
2
+ #--
3
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
4
+ # Version 2, December 2004
5
+ #
6
+ # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
7
+ # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
8
+ #
9
+ # 0. You just DO WHAT THE FUCK YOU WANT TO.
10
+ #++
11
+
12
+ require 'rubygems'
13
+ require 'chainedexpressions'
14
+ using ChainedExpressions
15
+
16
+ describe ChainedExpressions do
17
+ it 'can evaluate true expressions' do
18
+ (20 < 25 ).should be true
19
+ (20 < 25 < 30 ).should be true
20
+ (35 > 30 > 25 > 20).should be true
21
+
22
+ (20 <= 25 <= 30 <= 30 <= 35).should be true
23
+ (35 >= 30 >= 30 >= 25 >= 20).should be true
24
+ (20.5 >= 10 >= 2.5 >= 2.5 ).should be true
25
+ end
26
+
27
+ it 'can evaluate false expressions' do
28
+ (30 < 25 ).should be false
29
+ (30 < 25 < 20 ).should be false
30
+ (20 > 25 > 30 > 35).should be false
31
+
32
+ (35 <= 30 <= 30 <= 25 <= 20).should be false
33
+ (20 >= 25 >= 30 >= 30 >= 35).should be false
34
+ (20.5 >= 10 >= 2.5 >= 3.5 ).should be false
35
+ end
37
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chainedexpressions
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giovanni Capuano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-30 00:00:00.000000000 Z
11
+ date: 2014-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -47,7 +47,7 @@ files:
47
47
  - lib/chainedexpressions/chainedexpressions.rb
48
48
  - lib/chainedexpressions/version.rb
49
49
  - lib/chainedexpressions.rb
50
- - spec/chainedexpressions_spec.rb
50
+ - tests/chainedexpressions_spec.rb
51
51
  homepage: https://github.com/RoxasShadow
52
52
  licenses:
53
53
  - WTFPL
@@ -73,4 +73,4 @@ signing_key:
73
73
  specification_version: 4
74
74
  summary: Chained expressions in ruby
75
75
  test_files:
76
- - spec/chainedexpressions_spec.rb
76
+ - tests/chainedexpressions_spec.rb