option 0.0.1 → 0.0.2

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.
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: []