defp 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.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7a7c467638e41b299b74540c9284c4741d3c9015
4
- data.tar.gz: 72b4971ae4955ce977a89a9986e2434353861360
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MzRhODZkODM2YTZiOWM3OTM5ODkxY2U2NjQ1ZDEyYWNkYTRkZDQ1Yg==
5
+ data.tar.gz: !binary |-
6
+ ZWJlMDk3NDMzNjUwZWU0ODRhNGYwMTEyMGQ3MDVhZjhkMGE4MmViZg==
5
7
  SHA512:
6
- metadata.gz: 9dfe3d70d7165f6dbc101aca43950115d65e2495025cb4f05bac62b3a9ed7fd42a3b33e30d649dff06d850ed70f2600d21865b341d98368f6c6987a968d077e8
7
- data.tar.gz: cf23d6a536ac88547ee93faac954ab2ea8e0ba8adeeab18b7b8b61f3f8e3420fc9411ed095fa7e817660282f59b2000269b5b723b28f5f26c6e30ef3397f7de5
8
+ metadata.gz: !binary |-
9
+ ZTRhMjQ4MzUyOTE5MGUzZGEzNzg0ZDRjMjIwMTA1YWU2ZTU5Yzc0OTE3ZTgz
10
+ NzQ2NTNmZGM0YmVkZjA3MzUyNDEyMWZjOWYzYzZjNzQyNDU1NzdhODBkNTk1
11
+ OGM0ZDg2NDM1NDEwZDgyZDYxNWRjN2RmZThjMzU4ZGVlZjY0ZmY=
12
+ data.tar.gz: !binary |-
13
+ YzgzM2RlODM0OTE3NmM4YWNkYWNhMjljNDhmNjc4M2YwMGM4YmRjZTM0Y2Fl
14
+ MDE5NmUwZjRkNjljMjdiOGYxYTgxZTMwZjUyOGMwNTZhNGIzMjk3NzQzMjFj
15
+ OWU2MGY0ZjUxYzM3MjUzM2U1MGExNTVjNDAwZTI4YmRlOGIwMDI=
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ deploy:
5
+ provider: rubygems
6
+ api_key:
7
+ secure: UxH7NRGSSdTbNlrylAWiHOhuO3CAXnBUFjghCiKcf2jxfRdP79QpWsJvH8dSUs6auwDfO3Sp/g3hVbPGhrUbZgpw2Q3cCwMXg6okAFv6+4txhg9bpo5edT1i89mk7ekCJ+RTtC++UnGe1mojR9EV7Pcj/pJc7bwtJhjnUdMC9oU=
8
+ gem: defp
9
+ on:
10
+ all_branches: true
11
+ tags: true
12
+ repo: doodzik/defp
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Defp
2
2
 
3
- An pattern matching implementation in ruby inspired by haskell
3
+ [![Build Status](https://travis-ci.org/doodzik/defp.svg?branch=master)](https://travis-ci.org/doodzik/defp)
4
+
5
+ An pattern matching implementation in ruby inspired by haskell.
6
+ If you want to know about the inner workings of defp [check out this blog post](http://dudzik.co/blog/2014/10/27/i-went-on-a-journey-to-haskell-and-all-i-got-was-a-pattern-matcher-for-ruby/).
4
7
 
5
8
  ## Installation
6
9
 
@@ -19,7 +22,6 @@ And then execute:
19
22
  Or install it yourself as:
20
23
 
21
24
  $ gem install defp
22
- $ gem install CallBaecker
23
25
 
24
26
  ## Usage
25
27
 
@@ -27,27 +29,26 @@ Or install it yourself as:
27
29
  class Example
28
30
  # please extend/include in this order
29
31
  extend Defp
30
- include CallBaecker
31
32
 
32
33
  # With normal params
33
- def normal_params(value1, value2)
34
- defp('hallo', _) == 'bubu1'
35
- defp(_, 'hallo') == -> {
34
+ def normal_params(value1, value2)
35
+ defp ('hallo', _ ) == 'bubu1'
36
+ defp (_, 'hallo' ) == -> do
36
37
  'bubu2'
37
- }
38
+ end
38
39
  'bubu3'
39
40
  end
40
41
 
41
42
  # With keyword arguments
42
43
  def self.keyword_params(value1: ,value2:)
43
- defp(value1: 'hallo', value2: _) == 'bubu1' # you can specify blank vars
44
- defp(value2: 'hallo') == -> { 'bubu2' } # or not specifying them at all
45
- 'bubu3'
44
+ defp(value1: 'hallo', value2: _) == 'bubu1' # you can specify blank vars
45
+ defp(value2: 'hallo') == -> { 'bubu2' } # or not specifying them at all
46
+ 'bubu3'
46
47
  end
47
48
 
48
49
  # With mixed params
49
50
  def self.mixed_params(value1 = {}, value2, value3)
50
- defp({value2: 'hallo'}, 'dud', _) == 'bubu1'
51
+ defp({value2: 'hallo'}, 'dud', _) == 'bubu1'
51
52
  'bubu2'
52
53
  end
53
54
  end
@@ -55,7 +56,7 @@ end
55
56
 
56
57
  ## Contributing
57
58
 
58
- 1. Fork it ( https://github.com/[my-github-username]/defp/fork )
59
+ 1. Fork it ( https://github.com/doodzik/defp/fork )
59
60
  2. Create your feature branch (`git checkout -b my-new-feature`)
60
61
  3. Commit your changes (`git commit -am 'Add some feature'`)
61
62
  4. Push to the branch (`git push origin my-new-feature`)
@@ -17,7 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_development_dependency "bundler", "~> 1.7"
20
+ spec.add_development_dependency "bundler", "~> 1.6"
21
21
  spec.add_development_dependency "rake", "~> 10.0"
22
- spec.add_development_dependency "CallBaecker"
22
+ spec.add_development_dependency "minitest"
23
+ spec.add_dependency "CallBaecker", '0.0.3'
23
24
  end
@@ -1,9 +1,11 @@
1
1
  require "defp/version"
2
+ require 'CallBaecker'
2
3
 
3
4
  module Defp
4
5
  def self.extended(base)
5
6
  base.send :include, DefpMethods
6
7
  base.extend DefpMethods
8
+ base.include CallBaecker
7
9
  end
8
10
 
9
11
  module DefpMethods
@@ -19,7 +21,7 @@ module Defp
19
21
  .all? do |arg|
20
22
  # TODO cleanup
21
23
  if arg[0].is_a? Hash
22
- pattern_args = arg[0].reject {|k,v| !v}
24
+ pattern_args = arg[0].reject {|_,v| !v}
23
25
  pattern_args.keys.all? { |key| arg[1][key] == arg[0][key] }
24
26
  else
25
27
  arg[0] == arg[1]
@@ -33,7 +35,7 @@ module Defp
33
35
  end
34
36
 
35
37
  class NullBetween
36
- def ==(valu)
38
+ def ==(_)
37
39
  nil
38
40
  end
39
41
  end
@@ -1,3 +1,3 @@
1
1
  module Defp
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,11 +1,9 @@
1
1
  require 'minitest/autorun'
2
- require 'CallBaecker'
3
2
 
4
3
  require 'defp'
5
4
 
6
5
  class Setup
7
6
  extend Defp
8
- include CallBaecker
9
7
 
10
8
  def defp_normal_params(value1, value2)
11
9
  defp('hallo', false) == 'bubu1'
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - doodzik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-25 00:00:00.000000000 Z
11
+ date: 2014-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: CallBaecker
42
+ name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: CallBaecker
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.3
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.3
55
69
  description:
56
70
  email:
57
71
  - 4004blog@gmail.com
@@ -59,7 +73,8 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
62
- - ".gitignore"
76
+ - .gitignore
77
+ - .travis.yml
63
78
  - Gemfile
64
79
  - LICENSE.txt
65
80
  - README.md
@@ -67,7 +82,6 @@ files:
67
82
  - defp.gemspec
68
83
  - lib/defp.rb
69
84
  - lib/defp/version.rb
70
- - test.rb
71
85
  - test/test_defp.rb
72
86
  homepage: https://github.com/doodzik/defp.git
73
87
  licenses:
@@ -79,20 +93,19 @@ require_paths:
79
93
  - lib
80
94
  required_ruby_version: !ruby/object:Gem::Requirement
81
95
  requirements:
82
- - - ">="
96
+ - - ! '>='
83
97
  - !ruby/object:Gem::Version
84
98
  version: '0'
85
99
  required_rubygems_version: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ">="
101
+ - - ! '>='
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  requirements: []
91
105
  rubyforge_project:
92
- rubygems_version: 2.2.2
106
+ rubygems_version: 2.4.2
93
107
  signing_key:
94
108
  specification_version: 4
95
109
  summary: Pattern matching for ruby
96
110
  test_files:
97
111
  - test/test_defp.rb
98
- has_rdoc:
data/test.rb DELETED
@@ -1,6 +0,0 @@
1
- def test value1, value2
2
- defp 'hallo', _ = 'bubu1'
3
- defp _, 'hallo' = { 'bubu2' }
4
- 'bubu3'
5
- end
6
-