pickle 0.1.19 → 0.1.20
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.
- data/History.txt +8 -1
- data/README.rdoc +17 -8
- data/VERSION +1 -1
- data/features/app/app.rb +6 -2
- data/features/pickle/create_from_active_record.feature +7 -1
- data/lib/pickle/parser/matchers.rb +1 -1
- data/pickle.gemspec +2 -2
- data/spec/lib/pickle_parser_matchers_spec.rb +2 -2
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 0.1.20
|
2
|
+
|
3
|
+
* 1 minor enhancement
|
4
|
+
* Pickle now matches numeric field values preceded with a positive and negative sign eg +1.5 and -1 [schlick]
|
5
|
+
|
6
|
+
|
1
7
|
== 0.1.19
|
2
8
|
|
3
9
|
* 1 minor enhancement
|
@@ -9,10 +15,11 @@
|
|
9
15
|
* 1 minor enhancement
|
10
16
|
* release gem on gemcutter and code on github
|
11
17
|
|
18
|
+
|
12
19
|
== 0.1.15 - 28 Aug 2009
|
13
20
|
|
14
21
|
* 1 minor enhancement
|
15
|
-
|
22
|
+
* avoid namespace collision on replace by renaming mapping#replace -> mapping#replacement [nruth]
|
16
23
|
|
17
24
|
|
18
25
|
== 0.1.14 - 9 July 2009
|
data/README.rdoc
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Pickle gives you cucumber steps that create your models easily from factory-girl or
|
4
4
|
machinist factories/blueprints. You can also just use ActiveRecord but it's not as cool.
|
5
5
|
|
6
|
-
References to the models are stored, not necessarily for the purpose of checking the db
|
6
|
+
References to the models are stored in the current world, not necessarily for the purpose of checking the db
|
7
7
|
(although you could use it for that), but for enabling easy reference to urls, and for
|
8
8
|
building complex givens which require a bunch of models collaborating
|
9
9
|
|
@@ -24,7 +24,14 @@ Install pickle either as a rails plugin, or a gem
|
|
24
24
|
# or, plugin as submodule
|
25
25
|
git submodule add git://github.com/ianwhite/pickle.git vendor/plugins/pickle
|
26
26
|
|
27
|
-
|
27
|
+
== Contributors
|
28
|
+
|
29
|
+
The following people have Pickle better:
|
30
|
+
|
31
|
+
* {Nick Rutherford}[http://github.com/nruth]
|
32
|
+
* Tobi Knaup
|
33
|
+
* {Michael MacDonald}[http://github.com/schlick]
|
34
|
+
|
28
35
|
== Get Started
|
29
36
|
|
30
37
|
(you'd better install cucumber)
|
@@ -107,11 +114,11 @@ You can refer to other models in the fields
|
|
107
114
|
And a person: "ethel" exists
|
108
115
|
And a fatherhood exists with parent: user "fred", child: user "ethel"
|
109
116
|
|
110
|
-
"Given <b>n</b>
|
117
|
+
"Given <b>n models</b> exist", e.g.
|
111
118
|
|
112
119
|
Given 10 users exist
|
113
120
|
|
114
|
-
"Given <b>n
|
121
|
+
"Given <b>n models</b> exist with <b>fields</b>", examples:
|
115
122
|
|
116
123
|
Given 10 users exist with activated: false
|
117
124
|
|
@@ -133,11 +140,11 @@ You can use other models, booleans, numerics, and strings as fields
|
|
133
140
|
Then a user should exist with activated: false
|
134
141
|
Then a user should exist with activated: true, email: "fred@gmail.com"
|
135
142
|
|
136
|
-
"Then <b>n
|
143
|
+
"Then <b>n models</b> should exist", e.g.
|
137
144
|
|
138
145
|
Then 10 events should exist
|
139
146
|
|
140
|
-
"Then <b>n
|
147
|
+
"Then <b>n models</b> should exist with <b>fields</b>", e.g.
|
141
148
|
|
142
149
|
Then 2 people should exist with father: person "fred"
|
143
150
|
|
@@ -159,7 +166,7 @@ Many-to-one assocs: "Then <b>a model</b> should be [in|one of] <b>other model</b
|
|
159
166
|
Then the user should have a status # => user.status?.should == true
|
160
167
|
Then the car: "batmobile" should be fast # => car.fast?.should == true
|
161
168
|
|
162
|
-
"Then <b>a model</b> should [be|have] [a|an] <b>predicate</b>", e.g.
|
169
|
+
"Then <b>a model</b> should not [be|have] [a|an] <b>predicate</b>", e.g.
|
163
170
|
|
164
171
|
Then person: "fred" should not be childless # => fred.childless?.should == false
|
165
172
|
|
@@ -186,7 +193,9 @@ Pickle::Parser::Matchers for the methods available)
|
|
186
193
|
end
|
187
194
|
|
188
195
|
Then /^#{capture_model} should be one of #{capture_model}'s posts$/ do |post, forum|
|
189
|
-
model(
|
196
|
+
post = model!(post)
|
197
|
+
forum = model!(forum)
|
198
|
+
forum.posts.should include(post)
|
190
199
|
end
|
191
200
|
|
192
201
|
*capture_fields*
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.20
|
data/features/app/app.rb
CHANGED
@@ -28,6 +28,7 @@ ActiveRecord::Migration.suppress_messages do
|
|
28
28
|
|
29
29
|
create_table :users, :force => true do |t|
|
30
30
|
t.string :name, :status, :email
|
31
|
+
t.decimal :attitude_score, :precision => 4, :scale => 2
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
@@ -52,12 +53,12 @@ class Tine < ActiveRecord::Base
|
|
52
53
|
belongs_to :fork
|
53
54
|
end
|
54
55
|
|
55
|
-
# Machinist
|
56
|
+
# Machinist blueprint for this
|
56
57
|
class Spoon < ActiveRecord::Base
|
57
58
|
validates_presence_of :name
|
58
59
|
end
|
59
60
|
|
60
|
-
# we don
|
61
|
+
# we don't want abstract classes getting in there
|
61
62
|
class AbstractUser < ActiveRecord::Base
|
62
63
|
self.abstract_class = true
|
63
64
|
end
|
@@ -65,6 +66,9 @@ end
|
|
65
66
|
# No factory or blueprint for this
|
66
67
|
class User < AbstractUser
|
67
68
|
validates_presence_of :name
|
69
|
+
def positive_person?
|
70
|
+
!attitude_score.nil? && attitude_score > 0
|
71
|
+
end
|
68
72
|
end
|
69
73
|
|
70
74
|
# controllers
|
@@ -17,4 +17,10 @@ Feature: I can easily create models from my blueprints
|
|
17
17
|
Given I exist with status: "pwned", name: "fred"
|
18
18
|
Then I should have a status
|
19
19
|
And the user: "me" should have a status
|
20
|
-
|
20
|
+
|
21
|
+
Scenario: I create positive and negative users
|
22
|
+
Given a user exists with name: "Fred", attitude_score: +5.42
|
23
|
+
And another user exists with name: "Ethel", attitude_score: -1.46
|
24
|
+
Then 2 users should exist
|
25
|
+
And the 1st user should be a positive person
|
26
|
+
And the 2nd user should not be a positive person
|
data/pickle.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{pickle}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.20"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ian White"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-26}
|
13
13
|
s.description = %q{Easy model creation and reference in your cucumber features}
|
14
14
|
s.email = %q{ian.w.white@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -41,8 +41,8 @@ describe Pickle::Parser::Matchers do
|
|
41
41
|
atom_should_match :match_label, [': "gday"', ': "gday mate"']
|
42
42
|
atom_should_not_match :match_label, [': "gday""', ': gday']
|
43
43
|
|
44
|
-
atom_should_match :match_field, ['foo: "this is the life"', 'bar_man: "and so is this"', 'boolean: false', 'boolean: true', 'numeric: 10', 'numeric: 12.5']
|
45
|
-
atom_should_not_match :match_field, ['foo bar: "this aint workin"']
|
44
|
+
atom_should_match :match_field, ['foo: "this is the life"', 'bar_man: "and so is this"', 'boolean: false', 'boolean: true', 'numeric: 10', 'numeric: 12.5', 'numeric: +10', 'numeric: +12.5', 'numeric: -10', 'numeric: -12.5']
|
45
|
+
atom_should_not_match :match_field, ['foo bar: "this aint workin"', 'not_numeric: --10', 'not_numeric: -ten']
|
46
46
|
|
47
47
|
atom_should_match :match_fields, ['foo: "bar"', 'foo: "bar", baz: "bah"']
|
48
48
|
atom_should_not_match :match_fields, ['foo bar: "baz"', 'email: "a", password: "b", and password_confirmation: "c"']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pickle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20
|
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-10-
|
12
|
+
date: 2009-10-26 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|