defp 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
-