pickle 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 539f558a14741424c0a8da2e4a9aee5c0eae8acf
4
- data.tar.gz: b57e316aa5dbc009cb4ed513ffe0bdfa294cb0a4
3
+ metadata.gz: 1f1e30b140a40e358ef640c8a4468900f10ddc30
4
+ data.tar.gz: 8a1a5ce613b46e0ad108a14e5c9f18aadbdce58f
5
5
  SHA512:
6
- metadata.gz: 8f9bb9f3e62e16bd4d55c63a9fa41752cc341b522a7b3805fb9ede47b2fafb7c10ba6171c8c691ef530c615bfa4a9d6f91e1ee6c879d0e374fdf5ef21c0d1ad1
7
- data.tar.gz: ee37511e749bd0eb4f42e8801e7188051f36ea990207efdb7924dacb14973162a78188afd1d0da68e2b21aade94ae1e0c0b67d65aa3a39b36ce698bda1b4c31b
6
+ metadata.gz: 9fb3b8d43dd6c71a1d77dbe4033b5cb802f798377b3815b3a907a98dfd4a603c569a558e7db36029df188709be4339a4bd725bd0cf626a98e46be994b739f076
7
+ data.tar.gz: e395427019f47d25df0385f16a0d712f5450b4198b83f0530d067dc0b944f2f02688e12fab0649ef74695a6e26388c9e6ac87ba77ce4335b91eb5c24f6486c9d
@@ -1,3 +1,7 @@
1
+ == 0.5.2
2
+ * replace alias_method_chain by Module#prepend
3
+ eliminating deprecation warnings when using with Rails 5
4
+
1
5
  == 0.5.1
2
6
 
3
7
  * Add support to use Factory.build [Erik Peterson]
@@ -1,5 +1,19 @@
1
1
  module Pickle
2
2
  module Session
3
+ module PickleParserMethods
4
+ def method_missing(method, *args, &block)
5
+ if pickle_parser.respond_to?(method)
6
+ pickle_parser.send(method, *args, &block)
7
+ else
8
+ super(method, *args, &block)
9
+ end
10
+ end
11
+
12
+ def respond_to?(method, include_private = false)
13
+ super(method, include_private) || pickle_parser.respond_to?(method, include_private)
14
+ end
15
+ end
16
+
3
17
  class ModelNotKnownError < RuntimeError
4
18
  attr_reader :name
5
19
 
@@ -27,12 +41,7 @@ module Pickle
27
41
 
28
42
  protected
29
43
  def proxy_to_pickle_parser(world_class)
30
- world_class.class_eval do
31
- unless methods.include?('method_missing_with_pickle_parser')
32
- alias_method_chain :method_missing, :pickle_parser
33
- alias_method_chain :respond_to?, :pickle_parser
34
- end
35
- end
44
+ world_class.send(:prepend, PickleParserMethods)
36
45
  end
37
46
  end
38
47
 
@@ -153,10 +162,6 @@ module Pickle
153
162
  end
154
163
  end
155
164
 
156
- def respond_to_with_pickle_parser?(method, include_private = false)
157
- respond_to_without_pickle_parser?(method, include_private) || pickle_parser.respond_to?(method, include_private)
158
- end
159
-
160
165
  protected
161
166
  def create_or_build_model(method, count, pickle_ref, fields = nil)
162
167
  factory, label = *parse_model(pickle_ref)
@@ -171,14 +176,6 @@ module Pickle
171
176
  end
172
177
  end
173
178
 
174
- def method_missing_with_pickle_parser(method, *args, &block)
175
- if pickle_parser.respond_to?(method)
176
- pickle_parser.send(method, *args, &block)
177
- else
178
- method_missing_without_pickle_parser(method, *args, &block)
179
- end
180
- end
181
-
182
179
  def pickle_parser=(parser)
183
180
  parser.session = self
184
181
  @pickle_parser = parser
@@ -2,8 +2,18 @@ module Pickle
2
2
  module Session
3
3
  # add ability to parse model names as fields, using a session
4
4
  module Parser
5
+ module ParseFieldWithModel
6
+ def parse_field(field)
7
+ if session && field =~ /^(\w+): #{capture_model}$/
8
+ {$1 => session.model!($2)}
9
+ else
10
+ super(field)
11
+ end
12
+ end
13
+ end
14
+
5
15
  def self.included(parser_class)
6
- parser_class.alias_method_chain :parse_field, :model
16
+ parser_class.send(:prepend, ParseFieldWithModel)
7
17
  end
8
18
 
9
19
  attr_accessor :session
@@ -12,14 +22,6 @@ module Pickle
12
22
  "(?:\\w+: (?:#{match_model}|#{match_value}))"
13
23
  end
14
24
 
15
- def parse_field_with_model(field)
16
- if session && field =~ /^(\w+): #{capture_model}$/
17
- {$1 => session.model!($2)}
18
- else
19
- parse_field_without_model(field)
20
- end
21
- end
22
-
23
25
  def parse_hash(hash)
24
26
  hash.inject({}) do |parsed, (key, val)|
25
27
  if session && val =~ /^#{capture_model}$/
@@ -1,3 +1,3 @@
1
1
  module Pickle
2
- VERSION = "0.5.1"
2
+ VERSION = "0.5.2"
3
3
  end
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.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian White
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-12 00:00:00.000000000 Z
12
+ date: 2017-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -326,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
326
  version: 1.3.6
327
327
  requirements: []
328
328
  rubyforge_project: pickle
329
- rubygems_version: 2.2.2
329
+ rubygems_version: 2.4.8
330
330
  signing_key:
331
331
  specification_version: 4
332
332
  summary: Easy model creation and reference in your cucumber features.
@@ -367,4 +367,3 @@ test_files:
367
367
  - spec/pickle/session_spec.rb
368
368
  - spec/pickle_spec.rb
369
369
  - spec/spec_helper.rb
370
- has_rdoc: