alephant 1.0.0 → 1.1.0
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/.travis.yml +10 -0
- data/Guardfile +6 -0
- data/README.md +1 -0
- data/Rakefile +9 -1
- data/alephant.gemspec +8 -0
- data/lib/alephant.rb +16 -0
- data/lib/alephant/version.rb +1 -1
- data/spec/.gitkeep +1 -0
- data/spec/aop_spec.rb +24 -0
- data/spec/fixtures/test.rb +10 -0
- data/spec/spec_helper.rb +3 -0
- metadata +125 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d0969b3b6dc40ef68a95253c8f7a82eea85ae93
|
4
|
+
data.tar.gz: 294db93a30362fc394876fc7ccb6eeef52995b11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea681945852124bbb672553e0c515d78b947a45c748ccb7957e1cc3cb0d31cc5f7990dcee6eb9263f358e442ee0e1d42ad2253c835f2712d82f1925d599e3421
|
7
|
+
data.tar.gz: 66b57eddba3d016da3951d95bcede96d70683be0f6b109ccc4ba08a45b1ffb957dd2eb3b03615bf4084e4a3da7ac64421cd9ceda9c22e05d7409ac28c19f840b
|
data/.travis.yml
ADDED
data/Guardfile
ADDED
data/README.md
CHANGED
@@ -11,6 +11,7 @@ Requires:
|
|
11
11
|
- https://github.com/BBC-News/alephant-renderer [](https://travis-ci.org/BBC-News/alephant-renderer) [](https://gemnasium.com/BBC-News/alephant-renderer) [](http://badge.fury.io/rb/alephant-renderer)
|
12
12
|
- https://github.com/BBC-News/alephant-lookup [](https://travis-ci.org/BBC-News/alephant-lookup) [](https://gemnasium.com/BBC-News/alephant-lookup) [](http://badge.fury.io/rb/alephant-lookup)
|
13
13
|
- https://github.com/BBC-News/alephant-preview [](https://travis-ci.org/BBC-News/alephant-preview) [](https://gemnasium.com/BBC-News/alephant-preview) [](http://badge.fury.io/rb/alephant-preview)
|
14
|
+
- https://github.com/BBC-News/alephant-broker [](https://travis-ci.org/BBC-News/alephant-broker) [](https://gemnasium.com/BBC-News/alephant-broker) [](http://badge.fury.io/rb/alephant-broker)
|
14
15
|
|
15
16
|
## Installation
|
16
17
|
|
data/Rakefile
CHANGED
data/alephant.gemspec
CHANGED
@@ -20,6 +20,13 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.5"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "rspec"
|
24
|
+
spec.add_development_dependency "rspec-nc"
|
25
|
+
spec.add_development_dependency "guard"
|
26
|
+
spec.add_development_dependency "guard-rspec"
|
27
|
+
spec.add_development_dependency "pry"
|
28
|
+
spec.add_development_dependency "pry-remote"
|
29
|
+
spec.add_development_dependency "pry-nav"
|
23
30
|
|
24
31
|
spec.add_runtime_dependency 'alephant-publisher'
|
25
32
|
spec.add_runtime_dependency 'alephant-support'
|
@@ -29,4 +36,5 @@ Gem::Specification.new do |spec|
|
|
29
36
|
spec.add_runtime_dependency 'alephant-renderer'
|
30
37
|
spec.add_runtime_dependency 'alephant-lookup'
|
31
38
|
spec.add_runtime_dependency 'alephant-preview'
|
39
|
+
spec.add_runtime_dependency 'alephant-broker'
|
32
40
|
end
|
data/lib/alephant.rb
CHANGED
@@ -3,4 +3,20 @@ require "alephant/publisher"
|
|
3
3
|
|
4
4
|
module Alephant
|
5
5
|
# Consuming application calls: `Alephant::Publisher.create`
|
6
|
+
|
7
|
+
module AOP
|
8
|
+
|
9
|
+
def around(fn_name)
|
10
|
+
puts 'In around method'
|
11
|
+
old_method = instance_method(fn_name)
|
12
|
+
define_method(fn_name) do |*args|
|
13
|
+
yield :before, args if block_given?
|
14
|
+
old_method.bind(self).call(args).tap do |return_value|
|
15
|
+
args << return_value unless return_value.nil?
|
16
|
+
end
|
17
|
+
yield :after, args if block_given?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
6
22
|
end
|
data/lib/alephant/version.rb
CHANGED
data/spec/.gitkeep
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*
|
data/spec/aop_spec.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Alephant::AOP do
|
4
|
+
describe "#around(fn_name)" do
|
5
|
+
it "Overwrites the existing method with the block passed in, providing hooks for before and after the original method call" do
|
6
|
+
|
7
|
+
states = []
|
8
|
+
|
9
|
+
Test.around('test_method') do |state, args|
|
10
|
+
states << state
|
11
|
+
if state == :before
|
12
|
+
args.should eq(['test'])
|
13
|
+
elsif state == :after
|
14
|
+
args.should eq(['test', 'test_return'])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
Test.new.test_method('test')
|
19
|
+
states.should include(:before, :after)
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alephant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Integralist
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,104 @@ dependencies:
|
|
38
38
|
version: '0'
|
39
39
|
prerelease: false
|
40
40
|
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec-nc
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
prerelease: false
|
82
|
+
type: :development
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-rspec
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
prerelease: false
|
96
|
+
type: :development
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - '>='
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
prerelease: false
|
110
|
+
type: :development
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry-remote
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
prerelease: false
|
124
|
+
type: :development
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: pry-nav
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
requirement: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - '>='
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
prerelease: false
|
138
|
+
type: :development
|
41
139
|
- !ruby/object:Gem::Dependency
|
42
140
|
name: alephant-publisher
|
43
141
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -150,6 +248,20 @@ dependencies:
|
|
150
248
|
version: '0'
|
151
249
|
prerelease: false
|
152
250
|
type: :runtime
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: alephant-broker
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - '>='
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - '>='
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
prerelease: false
|
264
|
+
type: :runtime
|
153
265
|
description: Alephant framework
|
154
266
|
email:
|
155
267
|
- mark.mcdx@gmail.com
|
@@ -159,7 +271,9 @@ extra_rdoc_files: []
|
|
159
271
|
files:
|
160
272
|
- .gitignore
|
161
273
|
- .ruby-version
|
274
|
+
- .travis.yml
|
162
275
|
- Gemfile
|
276
|
+
- Guardfile
|
163
277
|
- LICENSE.txt
|
164
278
|
- README.md
|
165
279
|
- Rakefile
|
@@ -167,6 +281,10 @@ files:
|
|
167
281
|
- alephant/.gitignore
|
168
282
|
- lib/alephant.rb
|
169
283
|
- lib/alephant/version.rb
|
284
|
+
- spec/.gitkeep
|
285
|
+
- spec/aop_spec.rb
|
286
|
+
- spec/fixtures/test.rb
|
287
|
+
- spec/spec_helper.rb
|
170
288
|
homepage: https://github.com/BBC-News/alephant
|
171
289
|
licenses:
|
172
290
|
- MIT
|
@@ -191,4 +309,8 @@ rubygems_version: 2.1.9
|
|
191
309
|
signing_key:
|
192
310
|
specification_version: 4
|
193
311
|
summary: Alephant framework
|
194
|
-
test_files:
|
312
|
+
test_files:
|
313
|
+
- spec/.gitkeep
|
314
|
+
- spec/aop_spec.rb
|
315
|
+
- spec/fixtures/test.rb
|
316
|
+
- spec/spec_helper.rb
|