ianwhite-pickle 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +38 -1
- data/Todo.txt +2 -0
- data/lib/pickle/adapter.rb +5 -2
- data/lib/pickle/config.rb +5 -8
- data/lib/pickle/email/parser.rb +18 -0
- data/lib/pickle/email/world.rb +17 -0
- data/lib/pickle/email.rb +36 -0
- data/lib/pickle/parser/matchers.rb +4 -4
- data/lib/pickle/parser.rb +3 -3
- data/lib/pickle/path/world.rb +8 -0
- data/lib/pickle/path.rb +44 -0
- data/lib/pickle/{parser/with_session.rb → session/parser.rb} +2 -2
- data/lib/pickle/session.rb +61 -32
- data/lib/pickle/version.rb +1 -1
- data/lib/pickle/world.rb +12 -0
- data/lib/pickle.rb +2 -13
- data/rails_generators/pickle/pickle_generator.rb +20 -7
- data/rails_generators/pickle/templates/env.rb +5 -3
- data/rails_generators/pickle/templates/pickle_email_steps.rb +50 -0
- data/rails_generators/pickle/templates/pickle_path_steps.rb +53 -0
- data/rails_generators/pickle/templates/pickle_steps.rb +1 -2
- data/spec/lib/pickle_adapter_spec.rb +10 -2
- data/spec/lib/pickle_config_spec.rb +4 -8
- data/spec/lib/pickle_email_parser_spec.rb +49 -0
- data/spec/lib/pickle_email_spec.rb +131 -0
- data/spec/lib/pickle_path_spec.rb +68 -0
- data/spec/lib/pickle_session_spec.rb +68 -53
- metadata +17 -6
- data/lib/pickle/injector.rb +0 -18
- data/spec/lib/pickle_injector_spec.rb +0 -22
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ianwhite-pickle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian White
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-01-
|
12
|
+
date: 2009-01-24 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -24,15 +24,22 @@ extra_rdoc_files: []
|
|
24
24
|
files:
|
25
25
|
- lib/pickle/adapter.rb
|
26
26
|
- lib/pickle/config.rb
|
27
|
-
- lib/pickle/
|
27
|
+
- lib/pickle/email/parser.rb
|
28
|
+
- lib/pickle/email/world.rb
|
29
|
+
- lib/pickle/email.rb
|
28
30
|
- lib/pickle/parser/matchers.rb
|
29
|
-
- lib/pickle/parser/with_session.rb
|
30
31
|
- lib/pickle/parser.rb
|
32
|
+
- lib/pickle/path/world.rb
|
33
|
+
- lib/pickle/path.rb
|
34
|
+
- lib/pickle/session/parser.rb
|
31
35
|
- lib/pickle/session.rb
|
32
36
|
- lib/pickle/version.rb
|
37
|
+
- lib/pickle/world.rb
|
33
38
|
- lib/pickle.rb
|
34
39
|
- rails_generators/pickle/pickle_generator.rb
|
35
40
|
- rails_generators/pickle/templates/env.rb
|
41
|
+
- rails_generators/pickle/templates/pickle_email_steps.rb
|
42
|
+
- rails_generators/pickle/templates/pickle_path_steps.rb
|
36
43
|
- rails_generators/pickle/templates/pickle_steps.rb
|
37
44
|
- License.txt
|
38
45
|
- README.textile
|
@@ -40,9 +47,11 @@ files:
|
|
40
47
|
- History.txt
|
41
48
|
- spec/lib/pickle_adapter_spec.rb
|
42
49
|
- spec/lib/pickle_config_spec.rb
|
43
|
-
- spec/lib/
|
50
|
+
- spec/lib/pickle_email_parser_spec.rb
|
51
|
+
- spec/lib/pickle_email_spec.rb
|
44
52
|
- spec/lib/pickle_parser_matchers_spec.rb
|
45
53
|
- spec/lib/pickle_parser_spec.rb
|
54
|
+
- spec/lib/pickle_path_spec.rb
|
46
55
|
- spec/lib/pickle_session_spec.rb
|
47
56
|
- spec/lib/pickle_spec.rb
|
48
57
|
has_rdoc: true
|
@@ -76,8 +85,10 @@ summary: Easy model creation and reference in your cucumber features
|
|
76
85
|
test_files:
|
77
86
|
- spec/lib/pickle_adapter_spec.rb
|
78
87
|
- spec/lib/pickle_config_spec.rb
|
79
|
-
- spec/lib/
|
88
|
+
- spec/lib/pickle_email_parser_spec.rb
|
89
|
+
- spec/lib/pickle_email_spec.rb
|
80
90
|
- spec/lib/pickle_parser_matchers_spec.rb
|
81
91
|
- spec/lib/pickle_parser_spec.rb
|
92
|
+
- spec/lib/pickle_path_spec.rb
|
82
93
|
- spec/lib/pickle_session_spec.rb
|
83
94
|
- spec/lib/pickle_spec.rb
|
data/lib/pickle/injector.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
module Pickle
|
2
|
-
module Injector
|
3
|
-
def self.inject(delegate_class, options = {})
|
4
|
-
target_class = options[:into] || raise('inject requires a target class specified with :into')
|
5
|
-
delegate_name = options[:name] || delegate_class.name.underscore.gsub('/','_')
|
6
|
-
init_delegate = options[:init] || lambda { new }
|
7
|
-
|
8
|
-
# create a session object on demand (in target)
|
9
|
-
target_class.send(:define_method, delegate_name) do
|
10
|
-
instance_variable_get("@#{delegate_name}") || instance_variable_set("@#{delegate_name}", delegate_class.instance_eval(&init_delegate))
|
11
|
-
end
|
12
|
-
|
13
|
-
# in the target, delegate the public instance methods of delegate_class to the delegate_name method
|
14
|
-
delegate_methods = delegate_class.public_instance_methods - Object.instance_methods
|
15
|
-
target_class.delegate *(delegate_methods + [{:to => delegate_name}])
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require File.expand_path(File.join(File.dirname(__FILE__), '../spec_helper'))
|
2
|
-
|
3
|
-
describe Pickle::Injector do
|
4
|
-
describe ".inject Pickle::Session, :into => <a class>" do
|
5
|
-
before do
|
6
|
-
klass = Class.new
|
7
|
-
Pickle::Injector.inject Pickle::Session, :into => klass
|
8
|
-
@object = klass.new
|
9
|
-
end
|
10
|
-
|
11
|
-
it "object should respond_to Pickle:Session methods" do
|
12
|
-
@object.should respond_to(:model)
|
13
|
-
@object.should respond_to(:create_model)
|
14
|
-
@object.should respond_to(:find_model)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "object.model (a pickle method) should call object.pickle_session.model" do
|
18
|
-
@object.pickle_session.should_receive(:model).with('a user')
|
19
|
-
@object.model('a user')
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|