Skip to content

Commit

Permalink
done mvp
Browse files Browse the repository at this point in the history
  • Loading branch information
leonovk committed Aug 2, 2024
1 parent ccd4d28 commit be82231
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
simple_monads (0.1.2)
simple_monads (0.1.3)

GEM
remote: https://rubygems.org/
Expand Down
1 change: 1 addition & 0 deletions lib/simple_monads/failure_object.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ module SimpleMonads
# failure object
class FailureObject
attr_reader :object
alias failure object

def initialize(object)
@object = object
Expand Down
1 change: 1 addition & 0 deletions lib/simple_monads/success_object.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ module SimpleMonads
# success object
class SuccessObject
attr_reader :object
alias success object

def initialize(object)
@object = object
Expand Down
2 changes: 1 addition & 1 deletion lib/simple_monads/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module SimpleMonads
VERSION = '0.1.2'
VERSION = '0.1.3'
end
39 changes: 39 additions & 0 deletions test/lib/simple_monads_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# frozen_string_literal: true

require_relative '../test_helper'

class SomeClass
include SimpleMonads

def return_failure
Failure({ error: 'text' })
end

def return_success
Success(5)
end
end

class SimpleMonadsTest < Minitest::Test
def setup
@object = SomeClass.new
end

def test_failure
result = @object.return_failure

assert_predicate result, :failure?
refute_predicate result, :success?

assert_equal({ error: 'text' }, result.failure)
end

def test_success
result = @object.return_success

assert_predicate result, :success?
refute_predicate result, :failure?

assert_equal(5, result.success)
end
end
1 change: 1 addition & 0 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
require 'minitest/autorun'
require 'byebug'
require 'minitest/reporters'
require_relative '../lib/simple_monads'

Minitest::Reporters.use!

0 comments on commit be82231

Please sign in to comment.