method_struct 0.2.1 → 0.2.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 +4 -4
- data/CHANGELOG +4 -0
- data/README.md +15 -2
- data/lib/method_struct.rb +4 -0
- data/lib/method_struct/version.rb +1 -1
- data/method_struct.gemspec +1 -1
- data/spec/method_struct_spec.rb +12 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b7d88eb4418b8f3a8e945ed14ccefafe4a23ed9
|
4
|
+
data.tar.gz: b24fd08162d52e7757de9c87dce5c2934cf6bb4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abeed89c934277a4b031a7358bbb5c7540eb5d87132d41eeaadb97fd28551529a6e70f2e38ace31307e06998ddb5dc7b2135a29f07cd13f6373ec438e219cafe
|
7
|
+
data.tar.gz: 77d9249b48bdf297d8f72b79ffbcfa64e76e77a74c6d1511323fc5f97c0ce118119b6f8be1b2175456273e2d930424876fafb95398a7b1087a56a86b4a4ceb64
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -36,7 +36,7 @@ end
|
|
36
36
|
You can change it into this:
|
37
37
|
|
38
38
|
```ruby
|
39
|
-
Registrator
|
39
|
+
class Registrator < MethodStruct.new(:email, :name)
|
40
40
|
def call
|
41
41
|
create_user!
|
42
42
|
send_email!
|
@@ -66,7 +66,7 @@ end
|
|
66
66
|
You can also specify a different method name like so:
|
67
67
|
|
68
68
|
```ruby
|
69
|
-
Registrator
|
69
|
+
class Registrator < MethodStruct.new(:email, :name, :method_name => :register)
|
70
70
|
def register
|
71
71
|
# ...
|
72
72
|
end
|
@@ -90,6 +90,19 @@ MethodStruct::Defaults.set(
|
|
90
90
|
)
|
91
91
|
```
|
92
92
|
|
93
|
+
Method struct currently also supports a `do` syntax, but it is discouraged (and may get depracated)
|
94
|
+
due to odd constant scoping. Example:
|
95
|
+
|
96
|
+
```ruby
|
97
|
+
Registrator = MethodStruct.new(:email, :name) do
|
98
|
+
REGISTRATION_PATH = "/register" # this is now a top-level constant
|
99
|
+
|
100
|
+
def call
|
101
|
+
...
|
102
|
+
end
|
103
|
+
end
|
104
|
+
```
|
105
|
+
|
93
106
|
## Contributing
|
94
107
|
|
95
108
|
1. Fork it
|
data/lib/method_struct.rb
CHANGED
data/method_struct.gemspec
CHANGED
data/spec/method_struct_spec.rb
CHANGED
@@ -176,6 +176,18 @@ describe MethodStruct do
|
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
+
describe "#to_proc" do
|
180
|
+
it "is possible to pass one as a block argument" do
|
181
|
+
struct = MethodStruct.new(:x) do
|
182
|
+
def call
|
183
|
+
x.odd?
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
expect([1, 2, 3].select(&struct)).to eq([1,3])
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
179
191
|
context "when arguments are hashes" do
|
180
192
|
let(:argument1) { { :things => true } }
|
181
193
|
let(:argument2) { { :stuff => true } }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: method_struct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paweł Obrok
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.14.1
|
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
|
-
version:
|
54
|
+
version: 2.14.1
|
55
55
|
description: Facilitates extracting methods into separate objects
|
56
56
|
email:
|
57
57
|
- pawel.obrok@gmail.com
|