conversational 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.gitignore +4 -7
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +32 -0
  4. data/README.markdown +23 -177
  5. data/Rakefile +6 -35
  6. data/conversational.gemspec +19 -69
  7. data/lib/conversational/conversation.rb +177 -98
  8. data/lib/conversational/version.rb +4 -0
  9. data/lib/conversational.rb +2 -3
  10. data/spec/conversation_spec.rb +188 -20
  11. data/spec/spec_helper.rb +3 -23
  12. metadata +76 -78
  13. data/VERSION +0 -1
  14. data/features/configure_blank_topic.feature +0 -9
  15. data/features/configure_exclusion_conversations.feature +0 -20
  16. data/features/configure_unknown_topic.feature +0 -9
  17. data/features/find_existing_conversation.feature +0 -21
  18. data/features/find_or_create_with.feature +0 -33
  19. data/features/retrieve_conversation_details.feature +0 -13
  20. data/features/step_definitions/conversation_steps.rb +0 -60
  21. data/features/step_definitions/pickle_steps.rb +0 -87
  22. data/features/support/conversation.rb +0 -2
  23. data/features/support/email_spec.rb +0 -1
  24. data/features/support/env.rb +0 -58
  25. data/features/support/mail.rb +0 -6
  26. data/features/support/paths.rb +0 -33
  27. data/features/support/pickle.rb +0 -24
  28. data/features/support/sample_conversation.rb +0 -3
  29. data/lib/conversational/active_record_additions.rb +0 -121
  30. data/lib/conversational/conversation_definition.rb +0 -98
  31. data/lib/generators/conversational/migration/USAGE +0 -5
  32. data/lib/generators/conversational/migration/migration_generator.rb +0 -23
  33. data/lib/generators/conversational/migration/templates/migration.rb +0 -14
  34. data/lib/generators/conversational/skeleton/USAGE +0 -6
  35. data/lib/generators/conversational/skeleton/skeleton_generator.rb +0 -17
  36. data/lib/generators/conversational/skeleton/templates/conversation.rb +0 -3
  37. data/spec/active_record_additions_spec.rb +0 -120
  38. data/spec/conversation_definition_spec.rb +0 -248
  39. data/spec/support/conversation.rb +0 -3
metadata CHANGED
@@ -1,103 +1,101 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: conversational
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 2
9
- version: 0.3.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - David Wilkie
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-08-31 00:00:00 +07:00
18
- default_executable:
19
- dependencies: []
20
-
21
- description:
22
- email: dwilkie@gmail.com
12
+ date: 2011-09-15 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &78477010 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *78477010
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &78476800 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *78476800
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &78476580 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *78476580
47
+ - !ruby/object:Gem::Dependency
48
+ name: simplecov
49
+ requirement: &78476370 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *78476370
58
+ description: Allows you to instansiate conversations based on keywords
59
+ email:
60
+ - dwilkie@gmail.com
23
61
  executables: []
24
-
25
62
  extensions: []
26
-
27
- extra_rdoc_files:
28
- - README.markdown
29
- files:
63
+ extra_rdoc_files: []
64
+ files:
30
65
  - .gitignore
66
+ - Gemfile
67
+ - Gemfile.lock
31
68
  - MIT-LICENSE
32
69
  - README.markdown
33
70
  - Rakefile
34
- - VERSION
35
71
  - conversational.gemspec
36
- - features/configure_blank_topic.feature
37
- - features/configure_exclusion_conversations.feature
38
- - features/configure_unknown_topic.feature
39
- - features/find_existing_conversation.feature
40
- - features/find_or_create_with.feature
41
- - features/retrieve_conversation_details.feature
42
- - features/step_definitions/conversation_steps.rb
43
- - features/step_definitions/pickle_steps.rb
44
- - features/support/conversation.rb
45
- - features/support/email_spec.rb
46
- - features/support/env.rb
47
- - features/support/mail.rb
48
- - features/support/paths.rb
49
- - features/support/pickle.rb
50
- - features/support/sample_conversation.rb
51
72
  - lib/conversational.rb
52
- - lib/conversational/active_record_additions.rb
53
73
  - lib/conversational/conversation.rb
54
- - lib/conversational/conversation_definition.rb
55
- - lib/generators/conversational/migration/USAGE
56
- - lib/generators/conversational/migration/migration_generator.rb
57
- - lib/generators/conversational/migration/templates/migration.rb
58
- - lib/generators/conversational/skeleton/USAGE
59
- - lib/generators/conversational/skeleton/skeleton_generator.rb
60
- - lib/generators/conversational/skeleton/templates/conversation.rb
61
- - spec/active_record_additions_spec.rb
62
- - spec/conversation_definition_spec.rb
74
+ - lib/conversational/version.rb
63
75
  - spec/conversation_spec.rb
64
76
  - spec/spec_helper.rb
65
- - spec/support/conversation.rb
66
- has_rdoc: true
67
- homepage: http://github.com/dwilkie/conversational
77
+ homepage: ''
68
78
  licenses: []
69
-
70
79
  post_install_message:
71
- rdoc_options:
72
- - --charset=UTF-8
73
- require_paths:
80
+ rdoc_options: []
81
+ require_paths:
74
82
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
76
84
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- segments:
81
- - 0
82
- version: "0"
83
- required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
90
  none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- segments:
89
- - 0
90
- version: "0"
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
91
95
  requirements: []
92
-
93
- rubyforge_project:
94
- rubygems_version: 1.3.7
96
+ rubyforge_project: conversational
97
+ rubygems_version: 1.8.5
95
98
  signing_key:
96
99
  specification_version: 3
97
- summary: Have conversations with your users over SMS
98
- test_files:
99
- - spec/conversation_spec.rb
100
- - spec/active_record_additions_spec.rb
101
- - spec/conversation_definition_spec.rb
102
- - spec/spec_helper.rb
103
- - spec/support/conversation.rb
100
+ summary: Have topic based conversations
101
+ test_files: []
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.2
@@ -1,9 +0,0 @@
1
- Feature: Specify a blank conversation topic template
2
- In order to converse when the topic is blank
3
- As a Conversation user
4
- I want to be able to specify a conversation template to use when the topic is blank
5
-
6
- Scenario: Specify a blank conversation topic
7
- Given I configured Conversation with the following: Conversation.blank_topic_subclass = SampleConversation
8
- When I start up a conversation with an blank topic
9
- Then the conversation details should be a SampleConversation
@@ -1,20 +0,0 @@
1
- Feature: Configure exclusion conversations
2
- In order to allow conversations to exist in a project that should not be found
3
- when using Conversation.details or Conversation.find_or_create_with
4
- As a Conversation user
5
- I want to be able to configure which conversations should be excluded
6
-
7
- Scenario Outline: Configure exclusion conversations
8
- Given I configured Conversation with the following: <configuration>
9
- And a conversation exists with topic: "sample", with: "someone@example.com"
10
- Then the conversation details should be nil
11
-
12
- Examples:
13
- | configuration |
14
- | Conversation.exclude [SampleConversation] |
15
- | Conversation.exclude SampleConversation |
16
- | Conversation.exclude "sample_conversation" |
17
- | Conversation.exclude "SampleConversation" |
18
- | Conversation.exclude :sample_conversation |
19
- | Conversation.exclude /sample/i |
20
- | Conversation.exclude [/sample/, "sample_conversation", SampleConversation] |
@@ -1,9 +0,0 @@
1
- Feature: Specify an unknown conversation topic template
2
- In order to converse when the topic is unknown
3
- As a Conversation user
4
- I want to be able to specify a conversation template to use when the topic is unknown
5
-
6
- Scenario: Specify an unknown conversation topic
7
- Given I configured Conversation with the following: Conversation.unknown_topic_subclass = SampleConversation
8
- When I start up a conversation with an unknown topic
9
- Then the conversation details should be a SampleConversation
@@ -1,21 +0,0 @@
1
- Feature: Find existing conversations
2
- In order to find an active conversation with a user
3
- As a Conversation user
4
- I want to be able to find the conversation easily
5
-
6
- Background:
7
- Given a conversation exists with topic: "sample", with: "someone@example.com"
8
-
9
- Scenario: Find an open conversation updated within the last 24 hours
10
- Given 23 hours have elapsed since the conversation was last updated
11
- Then I should be able to find a conversation with: "someone@example.com"
12
-
13
- Scenario: Find an open conversation updated more than that 24 hours
14
- Given 24 hours have elapsed since the conversation was last updated
15
- Then I should not be able to find a conversation with: "someone@example.com"
16
-
17
- Scenario: Find a finished conversation
18
- Given 1 hour has elapsed since the conversation was last updated
19
- And the conversation is finished
20
- Then I should not be able to find a conversation with: "someone@example.com"
21
-
@@ -1,33 +0,0 @@
1
- Feature: Find existing conversation or create a new one
2
- In order to easily create a new conversation if an existing one cannot be found
3
- As a Conversation user
4
- I want to be able to call find_or_create_with supplying who with and the topic
5
-
6
- Scenario: No conversations exist
7
- Given no conversations exist with: "someone"
8
- When I call find_or_create_with("someone", "sample")
9
- Then a conversation should exist with topic: "sample", with: "someone"
10
-
11
- Scenario: A recent conversation exists
12
- Given a conversation exists with topic: "sample", with: "someone"
13
- When I call find_or_create_with("someone", "sample")
14
- Then 1 conversations should exist
15
-
16
- Scenario: An old conversation exists
17
- Given a conversation exists with topic: "sample", with: "someone"
18
- And 24 hours have elapsed since the conversation was last updated
19
- When I call find_or_create_with("someone", "sample")
20
- Then 2 conversations should exist
21
-
22
- Scenario: An finished conversation exists
23
- Given a conversation exists with topic: "sample", with: "someone"
24
- And the conversation is finished
25
- When I call find_or_create_with("someone", "sample")
26
- Then 2 conversations should exist
27
-
28
- Scenario: No conversation exists and the subclass has been excluded
29
- Given a conversation exists with topic: "sample", with: "someone"
30
- And I configured Conversation with the following: Conversation.exclude [SampleConversation]
31
- When I call find_or_create_with("someone", "sample")
32
- Then 1 conversations should exist
33
-
@@ -1,13 +0,0 @@
1
- Feature: Get the conversation specifics
2
- In order to get the specific conversation based on the topic and then move it along
3
- As a Conversation user
4
- I want to be able to get the specific conversation from the general one based off the topic
5
-
6
- Scenario: Get the details from a conversation instance
7
- Given a conversation exists with topic: "sample", with: "someone@example.com"
8
- Then the conversation details should be a SampleConversation
9
-
10
- Scenario: Get the details from a conversation instance
11
- Given a conversation exists with topic: "sample", with: "someone@example.com"
12
- And I configured Conversation with the following: Conversation.exclude [SampleConversation]
13
- Then conversation.details(:include_all => true) should be a SampleConversation
@@ -1,60 +0,0 @@
1
- Given /^(an|\d+) hours? (?:has|have) elapsed since #{capture_model} was last updated$/ do |time, conversation|
2
- conversation = model!(conversation)
3
- time = parse_email_count(time)
4
- Conversation.record_timestamps = false
5
- conversation.updated_at = time.hours.ago
6
- conversation.save!
7
- Conversation.record_timestamps = true
8
- end
9
-
10
- Given /^#{capture_model} is (.+)$/ do |conversation, state|
11
- conversation = model!(conversation)
12
- conversation.state = state
13
- conversation.save!
14
- end
15
-
16
- Given /^no conversations exist with: "([^\"]*)"/ do |with|
17
- find_models("conversation", "with: \"#{with}\"").each do |instance|
18
- instance.destroy
19
- end
20
- end
21
-
22
- Given /^I configured Conversation with the following: (.+)$/ do |configuration|
23
- instance_eval(configuration)
24
- end
25
-
26
- When /^I start a new conversation(?: with #{capture_fields})?$/ do |fields|
27
-
28
- end
29
-
30
- When /^I call find_or_create_with\("([^\"]*)", "([^\"]*)"\)$/ do |with, topic|
31
- Conversation.find_or_create_with(with, topic)
32
- end
33
-
34
- When /^I start up a conversation with an? (blank|unknown) topic$/ do |template_type|
35
- topic = ""
36
- topic = "unknown" if template_type == "unknown"
37
- Given "a conversation exists with topic: \"#{topic}\", with: \"someone\""
38
- end
39
-
40
- Then /^the conversation details should be a (\w+)$/ do |template_name|
41
- model!("conversation").details.class.should == template_name.constantize
42
- end
43
-
44
- Then /^I should (not )?be able to find a conversation with: "([^\"]*)"$/ do |negative, with|
45
- conversation = Conversation.with(with).last
46
- unless negative
47
- conversation.should == model!("conversation")
48
- else
49
- conversation.should be_nil
50
- end
51
- end
52
-
53
- Then /^#{capture_model} details should (?:be|have) (?:an? )?#{capture_predicate}$/ do |name, predicate|
54
- model!(name).details.should send("be_#{predicate.gsub(' ', '_')}")
55
- end
56
-
57
- Then /^conversation\.details\(:include_all => true\) should be a SampleConversation$/ do
58
- model!("conversation").details(:include_all => true).class.should == SampleConversation
59
- end
60
-
@@ -1,87 +0,0 @@
1
- # this file generated by script/generate pickle
2
-
3
- # create a model
4
- Given(/^#{capture_model} exists?(?: with #{capture_fields})?$/) do |name, fields|
5
- create_model(name, fields)
6
- end
7
-
8
- # create n models
9
- Given(/^(\d+) #{capture_plural_factory} exist(?: with #{capture_fields})?$/) do |count, plural_factory, fields|
10
- count.to_i.times { create_model(plural_factory.singularize, fields) }
11
- end
12
-
13
- # create models from a table
14
- Given(/^the following #{capture_plural_factory} exists?:?$/) do |plural_factory, table|
15
- create_models_from_table(plural_factory, table)
16
- end
17
-
18
- # find a model
19
- Then(/^#{capture_model} should exist(?: with #{capture_fields})?$/) do |name, fields|
20
- find_model!(name, fields)
21
- end
22
-
23
- # not find a model
24
- Then(/^#{capture_model} should not exist(?: with #{capture_fields})?$/) do |name, fields|
25
- find_model(name, fields).should be_nil
26
- end
27
-
28
- # find models with a table
29
- Then(/^the following #{capture_plural_factory} should exists?:?$/) do |plural_factory, table|
30
- find_models_from_table(plural_factory, table).should_not be_any(&:nil?)
31
- end
32
-
33
- # find exactly n models
34
- Then(/^(\d+) #{capture_plural_factory} should exist(?: with #{capture_fields})?$/) do |count, plural_factory, fields|
35
- find_models(plural_factory.singularize, fields).size.should == count.to_i
36
- end
37
-
38
- # assert equality of models
39
- Then(/^#{capture_model} should be #{capture_model}$/) do |a, b|
40
- model!(a).should == model!(b)
41
- end
42
-
43
- # assert model is in another model's has_many assoc
44
- Then(/^#{capture_model} should be (?:in|one of|amongst) #{capture_model}(?:'s)? (\w+)$/) do |target, owner, association|
45
- model!(owner).send(association).should include(model!(target))
46
- end
47
-
48
- # assert model is not in another model's has_many assoc
49
- Then(/^#{capture_model} should not be (?:in|one of|amongst) #{capture_model}(?:'s)? (\w+)$/) do |target, owner, association|
50
- model!(owner).send(association).should_not include(model!(target))
51
- end
52
-
53
- # assert model is another model's has_one/belongs_to assoc
54
- Then(/^#{capture_model} should be #{capture_model}(?:'s)? (\w+)$/) do |target, owner, association|
55
- model!(owner).send(association).should == model!(target)
56
- end
57
-
58
- # assert model is not another model's has_one/belongs_to assoc
59
- Then(/^#{capture_model} should not be #{capture_model}(?:'s)? (\w+)$/) do |target, owner, association|
60
- model!(owner).send(association).should_not == model!(target)
61
- end
62
-
63
- # assert model.predicate?
64
- Then(/^#{capture_model} should (?:be|have) (?:an? )?#{capture_predicate}$/) do |name, predicate|
65
- model!(name).should send("be_#{predicate.gsub(' ', '_')}")
66
- end
67
-
68
- # assert not model.predicate?
69
- Then(/^#{capture_model} should not (?:be|have) (?:an? )?#{capture_predicate}$/) do |name, predicate|
70
- model!(name).should_not send("be_#{predicate.gsub(' ', '_')}")
71
- end
72
-
73
- # model.attribute.should eql(value)
74
- # model.attribute.should_not eql(value)
75
- Then(/^#{capture_model}'s (\w+) (should(?: not)?) be #{capture_value}$/) do |name, attribute, expectation, expected|
76
- actual_value = model(name).send(attribute)
77
- expectation = expectation.gsub(' ', '_')
78
-
79
- case expected
80
- when 'nil', 'true', 'false'
81
- actual_value.send(expectation, send("be_#{expected}"))
82
- when /^-?[0-9_]+$/
83
- actual_value.send(expectation, eql(expected.to_i))
84
- else
85
- actual_value.to_s.send(expectation, eql(expected))
86
- end
87
- end
@@ -1,2 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec/support/conversation'
2
-
@@ -1 +0,0 @@
1
- require 'email_spec/cucumber'
@@ -1,58 +0,0 @@
1
- # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
4
- # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
- # files.
6
-
7
- ENV["RAILS_ENV"] ||= "test"
8
- require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
9
-
10
- require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
11
- require 'cucumber/rails/rspec'
12
- require 'cucumber/rails/world'
13
- require 'cucumber/rails/active_record'
14
- require 'cucumber/web/tableish'
15
-
16
- require 'capybara/rails'
17
- require 'capybara/cucumber'
18
- require 'capybara/session'
19
- require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript
20
- # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
21
- # order to ease the transition to Capybara we set the default here. If you'd
22
- # prefer to use XPath just remove this line and adjust any selectors in your
23
- # steps to use the XPath syntax.
24
- Capybara.default_selector = :css
25
-
26
- # If you set this to false, any error raised from within your app will bubble
27
- # up to your step definition and out to cucumber unless you catch it somewhere
28
- # on the way. You can make Rails rescue errors and render error pages on a
29
- # per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
30
- #
31
- # If you set this to true, Rails will rescue all errors and render error
32
- # pages, more or less in the same way your application would behave in the
33
- # default production environment. It's not recommended to do this for all
34
- # of your scenarios, as this makes it hard to discover errors in your application.
35
- ActionController::Base.allow_rescue = false
36
-
37
- # If you set this to true, each scenario will run in a database transaction.
38
- # You can still turn off transactions on a per-scenario basis, simply tagging
39
- # a feature or scenario with the @no-txn tag. If you are using Capybara,
40
- # tagging with @culerity or @javascript will also turn transactions off.
41
- #
42
- # If you set this to false, transactions will be off for all scenarios,
43
- # regardless of whether you use @no-txn or not.
44
- #
45
- # Beware that turning transactions off will leave data in your database
46
- # after each scenario, which can lead to hard-to-debug failures in
47
- # subsequent scenarios. If you do this, we recommend you create a Before
48
- # block that will explicitly put your database in a known state.
49
- Cucumber::Rails::World.use_transactional_fixtures = true
50
- # How to clean your database when transactions are turned off. See
51
- # http://github.com/bmabey/database_cleaner for more info.
52
- if defined?(ActiveRecord::Base)
53
- begin
54
- require 'database_cleaner'
55
- DatabaseCleaner.strategy = :truncation
56
- rescue LoadError => ignore_if_database_cleaner_not_present
57
- end
58
- end
@@ -1,6 +0,0 @@
1
- require 'mail'
2
- Mail.defaults do
3
- delivery_method :test
4
- end
5
-
6
-
@@ -1,33 +0,0 @@
1
- module NavigationHelpers
2
- # Maps a name to a path. Used by the
3
- #
4
- # When /^I go to (.+)$/ do |page_name|
5
- #
6
- # step definition in web_steps.rb
7
- #
8
- def path_to(page_name)
9
- case page_name
10
-
11
- when /the home\s?page/
12
- '/'
13
-
14
- # Add more mappings here.
15
- # Here is an example that pulls values out of the Regexp:
16
- #
17
- # when /^(.*)'s profile page$/i
18
- # user_profile_path(User.find_by_login($1))
19
-
20
- else
21
- begin
22
- page_name =~ /the (.*) page/
23
- path_components = $1.split(/\s+/)
24
- self.send(path_components.push('path').join('_').to_sym)
25
- rescue Object => e
26
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
27
- "Now, go and add a mapping in #{__FILE__}"
28
- end
29
- end
30
- end
31
- end
32
-
33
- World(NavigationHelpers)
@@ -1,24 +0,0 @@
1
- # this file generated by script/generate pickle [paths] [email]
2
- #
3
- # Make sure that you are loading your factory of choice in your cucumber environment
4
- #
5
- # For machinist add: features/support/machinist.rb
6
- #
7
- # require 'machinist/active_record' # or your chosen adaptor
8
- # require File.dirname(__FILE__) + '/../../spec/blueprints' # or wherever your blueprints are
9
- # Before { Sham.reset } # to reset Sham's seed between scenarios so each run has same random sequences
10
- #
11
- # For FactoryGirl add: features/support/factory_girl.rb
12
- #
13
- # require 'factory_girl'
14
- # require File.dirname(__FILE__) + '/../../spec/factories' # or wherever your factories are
15
- #
16
- # You may also need to add gem dependencies on your factory of choice in <tt>config/environments/cucumber.rb</tt>
17
-
18
- require 'pickle/world'
19
- # Example of configuring pickle:
20
- #
21
- # Pickle.configure do |config|
22
- # config.adapters = [:machinist]
23
- # config.map 'I', 'myself', 'me', 'my', :to => 'user: "me"'
24
- # end
@@ -1,3 +0,0 @@
1
- class SampleConversation < Conversation
2
- end
3
-