option 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 1.9.2
5
+ - jruby-18mode
6
+ - jruby-19mode
7
+ - rbx-18mode
8
+ - rbx-19mode
9
+ - ruby-head
10
+ - jruby-head
data/README.md CHANGED
@@ -53,6 +53,9 @@ foo.map { |v| v * 2 }.map { |v| v.upcase }.get_or_else { "missing" } #=> BARBAR
53
53
  None.fold(-> { "missing" }) { |v| v.upcase } #=> missing
54
54
  ```
55
55
 
56
+ ## Build Status
57
+ <a href="http://travis-ci.org/rares/option">![http://travis-ci.org/rares/option](https://secure.travis-ci.org/rares/option.png)</a>
58
+
56
59
  ## Contributing
57
60
 
58
61
  1. Fork it
data/Rakefile CHANGED
@@ -7,3 +7,5 @@ Rake::TestTask.new(:spec) do |test|
7
7
  test.libs << "lib" << "spec"
8
8
  test.pattern = "spec/**/*_spec.rb"
9
9
  end
10
+
11
+ task :default => :spec
data/lib/option.rb CHANGED
@@ -1,4 +1,4 @@
1
- class Option
1
+ class OptionClass
2
2
 
3
3
  def or_nil
4
4
  end
@@ -8,7 +8,7 @@ class Option
8
8
  end
9
9
  end
10
10
 
11
- class Some < Option
11
+ class SomeClass < OptionClass
12
12
 
13
13
  def initialize(value)
14
14
  @value = value
@@ -47,7 +47,7 @@ class Some < Option
47
47
  def flat_map(&blk)
48
48
  result = blk.call(get)
49
49
  case result
50
- when Option then return result
50
+ when OptionClass then return result
51
51
  else raise TypeError, "Must be Option"
52
52
  end
53
53
  end
@@ -61,7 +61,7 @@ class Some < Option
61
61
  end
62
62
  end
63
63
 
64
- class NoneClass < Option
64
+ class NoneClass < OptionClass
65
65
 
66
66
  def to_a
67
67
  []
@@ -107,7 +107,7 @@ end
107
107
  None = NoneClass.new
108
108
 
109
109
  def Some(value)
110
- Some.new(value)
110
+ SomeClass.new(value)
111
111
  end
112
112
 
113
113
  def Option(value)
@@ -1,3 +1,3 @@
1
1
  module Option
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/option.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["rob.ares@gmail.com"]
7
7
  gem.description = %q{Ruby port of Scala's Option Monad}
8
8
  gem.summary = %q{Option attempts to be faithful to the useful parts of the scala api. We lose the type safety but still is quite useful when dealing with optional values.}
9
- gem.homepage = "http://www.robares.com/"
9
+ gem.homepage = "http://www.github.com/rares/option"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
data/spec/option_spec.rb CHANGED
@@ -64,7 +64,7 @@ describe NoneClass do
64
64
  end
65
65
  end
66
66
 
67
- describe Some do
67
+ describe SomeClass do
68
68
 
69
69
  it "#to_a returns the value wrapped in an array" do
70
70
  Some(value).to_a.must_equal([value])
@@ -132,12 +132,8 @@ describe Some do
132
132
  Some(value).fold(proc { value * 2 }) { |v| v * 3 }.must_equal(36)
133
133
  end
134
134
 
135
- it "should be aliased to Some" do
136
- Some.must_equal(Some)
137
- end
138
-
139
135
  it "should wrap the creation of a Some" do
140
- mock(Some).new(value)
136
+ mock(SomeClass).new(value)
141
137
 
142
138
  Some(value)
143
139
 
@@ -145,7 +141,7 @@ describe Some do
145
141
  end
146
142
  end
147
143
 
148
- describe Option do
144
+ describe OptionClass do
149
145
 
150
146
  it "must return a some if the passed value is not nil" do
151
147
  Option(value).must_equal(Some(value))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: option
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-09-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70150970015480 !ruby/object:Gem::Requirement
16
+ requirement: &70192629393660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70150970015480
24
+ version_requirements: *70192629393660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rr
27
- requirement: &70150970014980 !ruby/object:Gem::Requirement
27
+ requirement: &70192629393160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.4
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70150970014980
35
+ version_requirements: *70192629393160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: minitest
38
- requirement: &70150970014520 !ruby/object:Gem::Requirement
38
+ requirement: &70192629392700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 3.4.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70150970014520
46
+ version_requirements: *70192629392700
47
47
  description: Ruby port of Scala's Option Monad
48
48
  email:
49
49
  - rob.ares@gmail.com
@@ -52,6 +52,7 @@ extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
54
54
  - .gitignore
55
+ - .travis.yml
55
56
  - Gemfile
56
57
  - LICENSE
57
58
  - README.md
@@ -60,7 +61,7 @@ files:
60
61
  - lib/option/version.rb
61
62
  - option.gemspec
62
63
  - spec/option_spec.rb
63
- homepage: http://www.robares.com/
64
+ homepage: http://www.github.com/rares/option
64
65
  licenses: []
65
66
  post_install_message:
66
67
  rdoc_options: []