pickle 0.5.2 → 0.6.1
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 +5 -5
- data/.github/workflows/build.yml +62 -0
- data/.gitignore +3 -2
- data/.travis.yml +24 -4
- data/History.txt +52 -35
- data/README.md +19 -27
- data/Rakefile.d/cucumber.rake +13 -4
- data/Rakefile.d/repoclean.rake +3 -0
- data/features/app/app.rb +7 -7
- data/features/app/factories.rb +5 -5
- data/features/email/email.feature +1 -0
- data/features/step_definitions/email_steps.rb +1 -0
- data/features/step_definitions/extra_email_steps.rb +5 -5
- data/features/step_definitions/pickle_steps.rb +1 -0
- data/features/support/email.rb +1 -0
- data/features/support/env.rb +9 -3
- data/features/support/pickle.rb +2 -2
- data/gemfiles/Gemfile-rails.4.2.x +13 -0
- data/gemfiles/Gemfile-rails.5.0.x +12 -0
- data/gemfiles/Gemfile-rails.5.1.x +10 -0
- data/gemfiles/Gemfile-rails.5.2.x +11 -0
- data/gemfiles/Gemfile-rails.5.2.x-cukes-4 +11 -0
- data/gemfiles/Gemfile-rails.5.2.x-cukes-5 +11 -0
- data/gemfiles/Gemfile-rails.6.0.x-cukes-3 +10 -0
- data/gemfiles/Gemfile-rails.6.0.x-cukes-4 +10 -0
- data/gemfiles/Gemfile-rails.6.0.x-cukes-5 +11 -0
- data/gemfiles/Gemfile-rails.6.0.x-cukes-6 +11 -0
- data/gemfiles/Gemfile-rails.6.1.x-cukes-3 +10 -0
- data/gemfiles/Gemfile-rails.6.1.x-cukes-4 +10 -0
- data/gemfiles/Gemfile-rails.6.1.x-cukes-5 +11 -0
- data/gemfiles/Gemfile-rails.6.1.x-cukes-6 +11 -0
- data/gemfiles/Gemfile-rails.edge +9 -0
- data/lib/pickle.rb +0 -1
- data/lib/pickle/adapter.rb +9 -11
- data/lib/pickle/config.rb +1 -1
- data/lib/pickle/path.rb +1 -1
- data/lib/pickle/version.rb +1 -1
- data/pickle.gemspec +10 -9
- data/rails_generators/pickle/templates/pickle.rb +2 -2
- data/spec/pickle/adapter_spec.rb +19 -19
- data/spec/pickle/config_spec.rb +9 -9
- data/spec/pickle/email_spec.rb +1 -1
- data/spec/pickle/path_spec.rb +37 -18
- data/spec/pickle/session_spec.rb +5 -5
- data/spec/spec_helper.rb +6 -1
- metadata +62 -56
- data/Gemfile +0 -3
- data/Gemfile.lock.development +0 -158
- data/features/step_definitions/email_steps.rb +0 -65
- data/features/step_definitions/pickle_steps.rb +0 -105
- data/features/support/email.rb +0 -21
- data/init.rb +0 -0
data/Rakefile.d/cucumber.rake
CHANGED
@@ -2,7 +2,7 @@ require 'cucumber/rake/task'
|
|
2
2
|
|
3
3
|
desc "Run features"
|
4
4
|
Cucumber::Rake::Task.new(:cucumber => [:cucumber_test_app]) do |t|
|
5
|
-
t.cucumber_opts = [
|
5
|
+
t.cucumber_opts = %w[--format pretty --require features -t] + ["'not @wip'"]
|
6
6
|
end
|
7
7
|
|
8
8
|
desc "setup a rails app for running cucumber"
|
@@ -13,15 +13,24 @@ end
|
|
13
13
|
|
14
14
|
namespace :cucumber do
|
15
15
|
task :setup do
|
16
|
+
current_gemfile = ENV['BUNDLE_GEMFILE']
|
17
|
+
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle show cucumber > /tmp/cukes_version"
|
18
|
+
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle show sqlite3 > /tmp/sqlite_version"
|
19
|
+
cukes_version=File.read('/tmp/cukes_version').split('-').last.chomp
|
20
|
+
sqlite_version=File.read('/tmp/sqlite_version').split('-').last.chomp
|
21
|
+
puts "Versions: Cucumber #{cukes_version}, SQLite #{sqlite_version}."
|
16
22
|
Bundler.with_clean_env do
|
17
23
|
gemfile = "cucumber_test_app/Gemfile"
|
18
24
|
rm_rf "cucumber_test_app"
|
19
|
-
sh "rails new cucumber_test_app --skip-javascript --skip-sprockets"
|
25
|
+
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle exec rails new cucumber_test_app --skip-spring --skip-javascript --skip-sprockets --skip-bootsnap"
|
26
|
+
sh "echo 'gem \"cucumber\", \"~> #{cukes_version}\", :require => false' >> #{gemfile}"
|
27
|
+
sh "sed -i 's/gem .sqlite3./gem \"sqlite3\", \"~> #{sqlite_version}\"/' #{gemfile}"
|
28
|
+
sh "cat #{gemfile} | grep sqli"
|
20
29
|
sh "echo 'gem \"cucumber-rails\", :require => false' >> #{gemfile}"
|
21
30
|
sh "echo 'gem \"rspec-rails\", \"~>3.0\"' >> #{gemfile}"
|
22
|
-
sh "echo 'gem \"
|
31
|
+
sh "echo 'gem \"pickle\", path: \"#{__dir__}/..\"' >> #{gemfile}"
|
23
32
|
sh "bundle install --gemfile=#{gemfile}"
|
24
|
-
sh "
|
33
|
+
sh "(cd cucumber_test_app ; bundle exec rake db:migrate)"
|
25
34
|
end
|
26
35
|
end
|
27
36
|
end
|
data/features/app/app.rb
CHANGED
@@ -90,19 +90,19 @@ end
|
|
90
90
|
# controllers
|
91
91
|
class DefaultController < ActionController::Base
|
92
92
|
def index
|
93
|
-
render :
|
93
|
+
render :plain => "index: I was invoked with #{request.path}"
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
def show
|
97
|
-
render :
|
97
|
+
render :plain => "show: I was invoked with #{request.path}"
|
98
98
|
end
|
99
|
-
|
99
|
+
|
100
100
|
def new
|
101
|
-
render :
|
101
|
+
render :plain => "new: I was invoked with #{request.path}"
|
102
102
|
end
|
103
|
-
|
103
|
+
|
104
104
|
def edit
|
105
|
-
render :
|
105
|
+
render :plain => "edit: I was invoked with #{request.path}"
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
data/features/app/factories.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# Factories
|
2
|
-
require '
|
2
|
+
require 'factory_bot'
|
3
3
|
|
4
|
-
|
4
|
+
FactoryBot.define do
|
5
5
|
sequence :fork_name do |n|
|
6
6
|
"fork %d04" % n
|
7
7
|
end
|
8
8
|
|
9
9
|
factory :fork do |f|
|
10
|
-
f.name {
|
10
|
+
f.name { FactoryBot.generate(:fork_name) }
|
11
11
|
end
|
12
12
|
|
13
13
|
factory :tine do |t|
|
@@ -16,10 +16,10 @@ FactoryGirl.define do
|
|
16
16
|
|
17
17
|
factory :rusty_tine, :class => Tine do |t|
|
18
18
|
t.association :fork
|
19
|
-
t.rusty true
|
19
|
+
t.rusty { true }
|
20
20
|
end
|
21
21
|
|
22
22
|
factory :fancy_fork, :class => Fork do |t|
|
23
|
-
t.name { "Fancy " +
|
23
|
+
t.name { "Fancy " + FactoryBot.generate(:fork_name) }
|
24
24
|
end
|
25
25
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
../../rails_generators/pickle/templates/email_steps.rb
|
@@ -1,12 +1,12 @@
|
|
1
1
|
Given(/^an email "(.*?)" with body: "(.*?)" is delivered to (.+?)$/) do |subject, body, to|
|
2
|
-
Notifier.email(to, subject, body).
|
2
|
+
Notifier.email(to, subject, body).deliver_now
|
3
3
|
end
|
4
4
|
|
5
5
|
Given(/^an email with a link "(.+?)" to (.+?) is delivered to (.+?)$/) do |text, page, to|
|
6
|
-
body = "some text <a href='http://example.com/#{path_to(page)}'>#{text}</a> more text"
|
7
|
-
Notifier.email(to, "example", body).
|
6
|
+
body = "some text <a href='http://example.com/#{path_to(page)}'>#{text}</a> more text"
|
7
|
+
Notifier.email(to, "example", body).deliver_now
|
8
8
|
end
|
9
9
|
|
10
10
|
Given(/^#{capture_model}'s email is delivered$/) do |model|
|
11
|
-
Notifier.user_email(model!(model)).
|
12
|
-
end
|
11
|
+
Notifier.user_email(model!(model)).deliver_now
|
12
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
../../rails_generators/pickle/templates/pickle_steps.rb
|
@@ -0,0 +1 @@
|
|
1
|
+
../../rails_generators/pickle/templates/email.rb
|
data/features/support/env.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
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
|
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
4
|
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
|
5
5
|
# files.
|
6
6
|
|
7
7
|
ENV["RAILS_ENV"] ||= "test"
|
8
8
|
ENV["RAILS_ROOT"] ||= File.expand_path(File.dirname(__FILE__) + '/../../cucumber_test_app')
|
9
9
|
|
10
|
+
Bundler.setup
|
11
|
+
|
12
|
+
require 'simplecov'
|
13
|
+
require 'codecov'
|
14
|
+
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
15
|
+
|
10
16
|
require 'capybara'
|
11
17
|
require 'cucumber/rails'
|
12
18
|
Capybara.default_selector = :css
|
13
19
|
ActionController::Base.allow_rescue = false
|
14
|
-
DatabaseCleaner.strategy = :truncation
|
20
|
+
DatabaseCleaner.strategy = :truncation
|
data/features/support/pickle.rb
CHANGED
@@ -7,9 +7,9 @@
|
|
7
7
|
# require 'machinist/active_record' # or your chosen adaptor
|
8
8
|
# require File.dirname(__FILE__) + '/../../spec/blueprints' # or wherever your blueprints are
|
9
9
|
#
|
10
|
-
# For
|
10
|
+
# For FactoryBot add: features/support/factory_bot.rb
|
11
11
|
#
|
12
|
-
# require '
|
12
|
+
# require 'factory_bot'
|
13
13
|
# require File.dirname(__FILE__) + '/../../spec/factories' # or wherever your factories are
|
14
14
|
#
|
15
15
|
# For Fabrication, just include it in the adapter list when configuring pickle as explained below.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 4.2.9"
|
9
|
+
gem "cucumber", "~> 3.2.0"
|
10
|
+
gem "sqlite3", "~> 1.3.6"
|
11
|
+
gem "bundler", "~> 1.17"
|
12
|
+
|
13
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 5.0.2"
|
9
|
+
gem "cucumber", "~> 3.2.0"
|
10
|
+
gem "sqlite3", "~> 1.3.6"
|
11
|
+
|
12
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 5.1.0"
|
9
|
+
gem "cucumber", "~> 3.2"
|
10
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 5.2.0"
|
9
|
+
gem "cucumber", "~> 3.2.0"
|
10
|
+
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 5.2.0"
|
9
|
+
gem "cucumber", "~> 4.0"
|
10
|
+
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 5.2.0"
|
9
|
+
gem "cucumber", "~> 5.0"
|
10
|
+
gem "cucumber-rails"
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "activerecord", "~> 6.0.0"
|
9
|
+
gem "cucumber", "~> 3.2"
|
10
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "activerecord", "~> 6.0.0"
|
9
|
+
gem "cucumber", "~> 4.1"
|
10
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 6.0.0"
|
9
|
+
gem "cucumber", "~> 5.0"
|
10
|
+
gem "cucumber-rails"
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 6.0.0"
|
9
|
+
gem "cucumber", "~> 6.0"
|
10
|
+
gem "cucumber-rails"
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "activerecord", "~> 6.1.0"
|
9
|
+
gem "cucumber", "~> 3.2"
|
10
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "activerecord", "~> 6.1.0"
|
9
|
+
gem "cucumber", "~> 4.1"
|
10
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 6.1.0"
|
9
|
+
gem "cucumber", "~> 5.0"
|
10
|
+
gem "cucumber-rails"
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", "~> 6.1.0"
|
9
|
+
gem "cucumber", "~> 6.0"
|
10
|
+
gem "cucumber-rails"
|
11
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
@@ -0,0 +1,9 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Bundler 1.x default to insecure http:// for github: shortcut
|
4
|
+
git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" }
|
5
|
+
|
6
|
+
gemspec :path => ".."
|
7
|
+
|
8
|
+
gem "rails", :github => "rails/rails"
|
9
|
+
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
|
data/lib/pickle.rb
CHANGED
data/lib/pickle/adapter.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'active_support/core_ext'
|
2
|
-
|
3
1
|
module Pickle
|
4
2
|
# Abstract Factory adapter class, if you have a factory type setup, you
|
5
3
|
# can easily create an adaptor to make it work with Pickle.
|
@@ -100,11 +98,11 @@ module Pickle
|
|
100
98
|
end
|
101
99
|
|
102
100
|
# factory-girl adapter
|
103
|
-
class
|
101
|
+
class FactoryBot < Adapter
|
104
102
|
def self.factories
|
105
|
-
if defined? ::
|
103
|
+
if defined? ::FactoryBot
|
106
104
|
factories = []
|
107
|
-
::
|
105
|
+
::FactoryBot.factories.each do |factory|
|
108
106
|
factory.names.each do |name|
|
109
107
|
factories << new(factory, name)
|
110
108
|
end
|
@@ -116,7 +114,7 @@ module Pickle
|
|
116
114
|
end
|
117
115
|
|
118
116
|
def initialize(factory, factory_name)
|
119
|
-
if defined? ::
|
117
|
+
if defined? ::FactoryBot
|
120
118
|
@klass, @name = factory.build_class, factory_name.to_s
|
121
119
|
else
|
122
120
|
@klass, @name = factory.build_class, factory.factory_name.to_s
|
@@ -124,16 +122,16 @@ module Pickle
|
|
124
122
|
end
|
125
123
|
|
126
124
|
def create(attrs = {})
|
127
|
-
if defined? ::
|
128
|
-
::
|
125
|
+
if defined? ::FactoryBot
|
126
|
+
::FactoryBot.create(@name, attrs)
|
129
127
|
else
|
130
128
|
Factory(@name, attrs)
|
131
129
|
end
|
132
130
|
end
|
133
131
|
|
134
132
|
def build(attrs = {})
|
135
|
-
if defined? ::
|
136
|
-
::
|
133
|
+
if defined? ::FactoryBot
|
134
|
+
::FactoryBot.build(@name, attrs)
|
137
135
|
else
|
138
136
|
Factory.build(@name, attrs)
|
139
137
|
end
|
@@ -153,7 +151,7 @@ module Pickle
|
|
153
151
|
|
154
152
|
def initialize(factory)
|
155
153
|
if defined? ::Fabrication
|
156
|
-
@klass, @name = factory[1].klass, factory[0].to_s
|
154
|
+
@klass, @name = factory[1].send(:klass), factory[0].to_s
|
157
155
|
end
|
158
156
|
end
|
159
157
|
|
data/lib/pickle/config.rb
CHANGED
data/lib/pickle/path.rb
CHANGED
@@ -36,7 +36,7 @@ module Pickle
|
|
36
36
|
def pickle_path_for_resources_action_segment(resources, action, segment)
|
37
37
|
action.blank? or action = action.downcase.gsub(' ','_')
|
38
38
|
segment.blank? or segment = segment.downcase.gsub(' ','_')
|
39
|
-
resource_names = resources.map{|s| s.is_a?(Symbol) ? s.to_s : s.class.name.underscore}.join("_")
|
39
|
+
resource_names = resources.map{|s| s.is_a?(Symbol) ? s.to_s : s.class.name.underscore.gsub('/', '_')}.join("_")
|
40
40
|
models = resources.reject{|s| s.is_a?(Symbol)}
|
41
41
|
parts = [action, resource_names, segment].reject(&:blank?)
|
42
42
|
send("#{parts.join('_')}_path", *models) rescue nil
|