configurable_engine 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +14 -8
  4. data/lib/configurable_engine/version.rb +1 -1
  5. metadata +3 -114
  6. data/.document +0 -5
  7. data/.gitignore +0 -43
  8. data/.rspec +0 -1
  9. data/.travis.yml +0 -18
  10. data/CHANGELOG +0 -12
  11. data/Gemfile +0 -3
  12. data/Gemfile.lock +0 -178
  13. data/Rakefile +0 -18
  14. data/config/cucumber.yml +0 -8
  15. data/configurable_engine.gemspec +0 -29
  16. data/features/admin_configurables.feature +0 -10
  17. data/features/step_definitions/web_steps.rb +0 -219
  18. data/features/support/env.rb +0 -57
  19. data/features/support/paths.rb +0 -35
  20. data/gemfiles/Gemfile.base +0 -24
  21. data/gemfiles/Gemfile.rails3_1 +0 -2
  22. data/gemfiles/Gemfile.rails3_1.lock +0 -180
  23. data/gemfiles/Gemfile.rails4_0 +0 -2
  24. data/gemfiles/Gemfile.rails4_0.lock +0 -175
  25. data/spec/dummy/.gitignore +0 -4
  26. data/spec/dummy/README +0 -256
  27. data/spec/dummy/Rakefile +0 -7
  28. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  29. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  30. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  31. data/spec/dummy/config.ru +0 -4
  32. data/spec/dummy/config/application.rb +0 -45
  33. data/spec/dummy/config/boot.rb +0 -13
  34. data/spec/dummy/config/configurable.yml +0 -27
  35. data/spec/dummy/config/database.yml +0 -29
  36. data/spec/dummy/config/environment.rb +0 -5
  37. data/spec/dummy/config/environments/development.rb +0 -24
  38. data/spec/dummy/config/environments/production.rb +0 -51
  39. data/spec/dummy/config/environments/test.rb +0 -85
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  41. data/spec/dummy/config/initializers/inflections.rb +0 -10
  42. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  43. data/spec/dummy/config/initializers/secret_token.rb +0 -8
  44. data/spec/dummy/config/initializers/session_store.rb +0 -8
  45. data/spec/dummy/config/locales/en.yml +0 -5
  46. data/spec/dummy/config/routes.rb +0 -58
  47. data/spec/dummy/db/migrate/20110110001344_create_configurables.rb +0 -17
  48. data/spec/dummy/db/schema.rb +0 -25
  49. data/spec/dummy/db/seeds.rb +0 -7
  50. data/spec/dummy/lib/tasks/.gitkeep +0 -0
  51. data/spec/dummy/public/404.html +0 -26
  52. data/spec/dummy/public/422.html +0 -26
  53. data/spec/dummy/public/500.html +0 -26
  54. data/spec/dummy/public/favicon.ico +0 -0
  55. data/spec/dummy/public/images/rails.png +0 -0
  56. data/spec/dummy/public/index.html +0 -239
  57. data/spec/dummy/public/javascripts/application.js +0 -2
  58. data/spec/dummy/public/javascripts/controls.js +0 -965
  59. data/spec/dummy/public/javascripts/dragdrop.js +0 -974
  60. data/spec/dummy/public/javascripts/effects.js +0 -1123
  61. data/spec/dummy/public/javascripts/prototype.js +0 -6001
  62. data/spec/dummy/public/javascripts/rails.js +0 -175
  63. data/spec/dummy/public/robots.txt +0 -5
  64. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  65. data/spec/dummy/script/rails +0 -6
  66. data/spec/dummy/vendor/plugins/.gitkeep +0 -0
  67. data/spec/models/configurable_spec.rb +0 -134
  68. data/spec/spec_helper.rb +0 -27
  69. data/tasks/cucumber.rake +0 -56
data/Rakefile DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env rake
2
- begin
3
- require 'bundler/setup'
4
- rescue LoadError
5
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
- end
7
-
8
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
9
- load 'rails/tasks/engine.rake'
10
-
11
- Bundler::GemHelper.install_tasks
12
- Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each {|f| load f }
13
- # require 'rspec/core'
14
- require 'rspec/core/rake_task'
15
-
16
- desc "Run all specs in spec directory (excluding plugin specs)"
17
- RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
18
- task :default => [:spec, :cucumber]
data/config/cucumber.yml DELETED
@@ -1,8 +0,0 @@
1
- <%
2
- rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} --strict --tags ~@wip"
5
- %>
6
- default: <%= std_opts %> features
7
- wip: --tags @wip:3 --wip features
8
- rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -1,29 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'configurable_engine/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "configurable_engine"
8
- spec.version = ConfigurableEngine::VERSION
9
-
10
- spec.authors = ["Paul Campbell"]
11
- spec.date = "2013-09-29"
12
- spec.description = "Configurable is a Rails 3 engine that allows you to set up config variables in a config file, specifying default values for all environmentspec. These variables can then be set on a per-app basis using a user facing configuration screen. "
13
- spec.email = "paul@rslw.com"
14
- spec.extra_rdoc_files = [
15
- "LICENSE.txt",
16
- "README.md"
17
- ]
18
- spec.files = `git ls-files`.split($/)
19
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
-
22
- spec.homepage = "http://github.com/paulca/configurable_engine"
23
- spec.licenses = ["MIT"]
24
- spec.require_paths = ["lib"]
25
- spec.rubygems_version = "2.0.3"
26
- spec.summary = "Database-backed configuration for Rails 3, with defaults from config file."
27
-
28
- spec.add_dependency "rails", ">3.1.0"
29
- end
@@ -1,10 +0,0 @@
1
- Feature: Admin Configurables
2
- In order to change configurable options on the site
3
- As an admin
4
- I want to be able to change them
5
-
6
- Scenario: Editing Config
7
- When I am on the config admin page
8
- And I fill in "Notify Email" with "paul@rslw.com"
9
- And I press "Save"
10
- Then the "Notify Email" field should contain "paul@rslw.com"
@@ -1,219 +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
-
8
- require 'uri'
9
- require 'cgi'
10
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
11
-
12
- module WithinHelpers
13
- def with_scope(locator)
14
- locator ? within(locator) { yield } : yield
15
- end
16
- end
17
- World(WithinHelpers)
18
-
19
- Given /^(?:|I )am on (.+)$/ do |page_name|
20
- visit path_to(page_name)
21
- end
22
-
23
- When /^(?:|I )go to (.+)$/ do |page_name|
24
- visit path_to(page_name)
25
- end
26
-
27
- When /^(?:|I )press "([^"]*)"(?: within "([^"]*)")?$/ do |button, selector|
28
- with_scope(selector) do
29
- click_button(button)
30
- end
31
- end
32
-
33
- When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector|
34
- with_scope(selector) do
35
- click_link(link)
36
- end
37
- end
38
-
39
- When /^(?:|I )fill in "([^"]*)" with "([^"]*)"(?: within "([^"]*)")?$/ do |field, value, selector|
40
- with_scope(selector) do
41
- fill_in(field, :with => value)
42
- end
43
- end
44
-
45
- When /^(?:|I )fill in "([^"]*)" for "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
46
- with_scope(selector) do
47
- fill_in(field, :with => value)
48
- end
49
- end
50
-
51
- # Use this to fill in an entire form with data from a table. Example:
52
- #
53
- # When I fill in the following:
54
- # | Account Number | 5002 |
55
- # | Expiry date | 2009-11-01 |
56
- # | Note | Nice guy |
57
- # | Wants Email? | |
58
- #
59
- # TODO: Add support for checkbox, select og option
60
- # based on naming conventions.
61
- #
62
- When /^(?:|I )fill in the following(?: within "([^"]*)")?:$/ do |selector, fields|
63
- with_scope(selector) do
64
- fields.rows_hash.each do |name, value|
65
- When %{I fill in "#{name}" with "#{value}"}
66
- end
67
- end
68
- end
69
-
70
- When /^(?:|I )select "([^"]*)" from "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
71
- with_scope(selector) do
72
- select(value, :from => field)
73
- end
74
- end
75
-
76
- When /^(?:|I )check "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
77
- with_scope(selector) do
78
- check(field)
79
- end
80
- end
81
-
82
- When /^(?:|I )uncheck "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
83
- with_scope(selector) do
84
- uncheck(field)
85
- end
86
- end
87
-
88
- When /^(?:|I )choose "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
89
- with_scope(selector) do
90
- choose(field)
91
- end
92
- end
93
-
94
- When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"(?: within "([^"]*)")?$/ do |path, field, selector|
95
- with_scope(selector) do
96
- attach_file(field, path)
97
- end
98
- end
99
-
100
- Then /^(?:|I )should see JSON:$/ do |expected_json|
101
- require 'json'
102
- expected = JSON.pretty_generate(JSON.parse(expected_json))
103
- actual = JSON.pretty_generate(JSON.parse(response.body))
104
- expected.should == actual
105
- end
106
-
107
- Then /^(?:|I )should see "([^"]*)"(?: within "([^"]*)")?$/ do |text, selector|
108
- with_scope(selector) do
109
- if page.respond_to? :should
110
- page.should have_content(text)
111
- else
112
- assert page.has_content?(text)
113
- end
114
- end
115
- end
116
-
117
- Then /^(?:|I )should see \/([^\/]*)\/(?: within "([^"]*)")?$/ do |regexp, selector|
118
- regexp = Regexp.new(regexp)
119
- with_scope(selector) do
120
- if page.respond_to? :should
121
- page.should have_xpath('//*', :text => regexp)
122
- else
123
- assert page.has_xpath?('//*', :text => regexp)
124
- end
125
- end
126
- end
127
-
128
- Then /^(?:|I )should not see "([^"]*)"(?: within "([^"]*)")?$/ do |text, selector|
129
- with_scope(selector) do
130
- if page.respond_to? :should
131
- page.should have_no_content(text)
132
- else
133
- assert page.has_no_content?(text)
134
- end
135
- end
136
- end
137
-
138
- Then /^(?:|I )should not see \/([^\/]*)\/(?: within "([^"]*)")?$/ do |regexp, selector|
139
- regexp = Regexp.new(regexp)
140
- with_scope(selector) do
141
- if page.respond_to? :should
142
- page.should have_no_xpath('//*', :text => regexp)
143
- else
144
- assert page.has_no_xpath?('//*', :text => regexp)
145
- end
146
- end
147
- end
148
-
149
- Then /^the "([^"]*)" field(?: within "([^"]*)")? should contain "([^"]*)"$/ do |field, selector, value|
150
- with_scope(selector) do
151
- field = find_field(field)
152
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
153
- if field_value.respond_to? :should
154
- field_value.should =~ /#{value}/
155
- else
156
- assert_match(/#{value}/, field_value)
157
- end
158
- end
159
- end
160
-
161
- Then /^the "([^"]*)" field(?: within "([^"]*)")? should not contain "([^"]*)"$/ do |field, selector, value|
162
- with_scope(selector) do
163
- field = find_field(field)
164
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
165
- if field_value.respond_to? :should_not
166
- field_value.should_not =~ /#{value}/
167
- else
168
- assert_no_match(/#{value}/, field_value)
169
- end
170
- end
171
- end
172
-
173
- Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should be checked$/ do |label, selector|
174
- with_scope(selector) do
175
- field_checked = find_field(label)['checked']
176
- if field_checked.respond_to? :should
177
- field_checked.should be_true
178
- else
179
- assert field_checked
180
- end
181
- end
182
- end
183
-
184
- Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should not be checked$/ do |label, selector|
185
- with_scope(selector) do
186
- field_checked = find_field(label)['checked']
187
- if field_checked.respond_to? :should
188
- field_checked.should be_false
189
- else
190
- assert !field_checked
191
- end
192
- end
193
- end
194
-
195
- Then /^(?:|I )should be on (.+)$/ do |page_name|
196
- current_path = URI.parse(current_url).path
197
- if current_path.respond_to? :should
198
- current_path.should == path_to(page_name)
199
- else
200
- assert_equal path_to(page_name), current_path
201
- end
202
- end
203
-
204
- Then /^(?:|I )should have the following query string:$/ do |expected_pairs|
205
- query = URI.parse(current_url).query
206
- actual_params = query ? CGI.parse(query) : {}
207
- expected_params = {}
208
- expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')}
209
-
210
- if actual_params.respond_to? :should
211
- actual_params.should == expected_params
212
- else
213
- assert_equal expected_params, actual_params
214
- end
215
- end
216
-
217
- Then /^show me the page$/ do
218
- save_and_open_page
219
- end
@@ -1,57 +0,0 @@
1
- ENV["RAILS_ENV"] ||= "test"
2
- dummy_path = File.expand_path('../../../spec/dummy', __FILE__)
3
- require File.join(dummy_path, 'config', 'environment')
4
- ENV["RAILS_ROOT"] ||= dummy_path
5
-
6
- require 'cucumber/rails'
7
-
8
- # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
9
- # order to ease the transition to Capybara we set the default here. If you'd
10
- # prefer to use XPath just remove this line and adjust any selectors in your
11
- # steps to use the XPath syntax.
12
- Capybara.default_selector = :css
13
-
14
- # By default, any exception happening in your Rails application will bubble up
15
- # to Cucumber so that your scenario will fail. This is a different from how
16
- # your application behaves in the production environment, where an error page will
17
- # be rendered instead.
18
- #
19
- # Sometimes we want to override this default behaviour and allow Rails to rescue
20
- # exceptions and display an error page (just like when the app is running in production).
21
- # Typical scenarios where you want to do this is when you test your error pages.
22
- # There are two ways to allow Rails to rescue exceptions:
23
- #
24
- # 1) Tag your scenario (or feature) with @allow-rescue
25
- #
26
- # 2) Set the value below to true. Beware that doing this globally is not
27
- # recommended as it will mask a lot of errors for you!
28
- #
29
- ActionController::Base.allow_rescue = false
30
-
31
- # Remove/comment out the lines below if your app doesn't have a database.
32
- # For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
33
- begin
34
- DatabaseCleaner.strategy = :transaction
35
- rescue NameError
36
- raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
37
- end
38
-
39
- # You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
40
- # See the DatabaseCleaner documentation for details. Example:
41
- #
42
- # Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
43
- # # { :except => [:widgets] } may not do what you expect here
44
- # # as Cucumber::Rails::Database.javascript_strategy overrides
45
- # # this setting.
46
- # DatabaseCleaner.strategy = :truncation
47
- # end
48
- #
49
- # Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
50
- # DatabaseCleaner.strategy = :transaction
51
- # end
52
- #
53
-
54
- # Possible values are :truncation and :transaction
55
- # The :transaction strategy is faster, but might give you threading problems.
56
- # See https://github.com/cucumber/cucumber-rails/blob/master/features/choose_javascript_database_strategy.feature
57
- Cucumber::Rails::Database.javascript_strategy = :truncation
@@ -1,35 +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
- when /the config admin page/
14
- admin_configurable_path
15
-
16
- # Add more mappings here.
17
- # Here is an example that pulls values out of the Regexp:
18
- #
19
- # when /^(.*)'s profile page$/i
20
- # user_profile_path(User.find_by_login($1))
21
-
22
- else
23
- begin
24
- page_name =~ /the (.*) page/
25
- path_components = $1.split(/\s+/)
26
- self.send(path_components.push('path').join('_').to_sym)
27
- rescue Object => e
28
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
29
- "Now, go and add a mapping in #{__FILE__}"
30
- end
31
- end
32
- end
33
- end
34
-
35
- World(NavigationHelpers)
@@ -1,24 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'pry'
4
- gem 'rake'
5
-
6
- platforms :mri do
7
- gem 'sqlite3'
8
- gem 'mysql2'
9
- gem 'pg'
10
- end
11
-
12
- platforms :jruby do
13
- gem 'activerecord-jdbcsqlite3-adapter'
14
- gem 'activerecord-jdbcmysql-adapter'
15
- gem 'activerecord-jdbcpostgresql-adapter'
16
- gem 'jruby-openssl'
17
- end
18
-
19
- group :test do
20
- gem 'capybara'
21
- gem 'cucumber-rails', require: false
22
- gem 'database_cleaner'
23
- gem 'rspec-rails'
24
- end
@@ -1,2 +0,0 @@
1
- instance_eval File.read(File.expand_path('../Gemfile.base', __FILE__))
2
- gem 'rails', '~>3.1.0'
@@ -1,180 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- actionmailer (3.1.12)
5
- actionpack (= 3.1.12)
6
- mail (~> 2.4.4)
7
- actionpack (3.1.12)
8
- activemodel (= 3.1.12)
9
- activesupport (= 3.1.12)
10
- builder (~> 3.0.0)
11
- erubis (~> 2.7.0)
12
- i18n (~> 0.6)
13
- rack (~> 1.3.6)
14
- rack-cache (~> 1.2)
15
- rack-mount (~> 0.8.2)
16
- rack-test (~> 0.6.1)
17
- sprockets (~> 2.0.4)
18
- activemodel (3.1.12)
19
- activesupport (= 3.1.12)
20
- builder (~> 3.0.0)
21
- i18n (~> 0.6)
22
- activerecord (3.1.12)
23
- activemodel (= 3.1.12)
24
- activesupport (= 3.1.12)
25
- arel (~> 2.2.3)
26
- tzinfo (~> 0.3.29)
27
- activerecord-jdbc-adapter (1.3.6)
28
- activerecord (>= 2.2)
29
- activerecord-jdbcmysql-adapter (1.3.6)
30
- activerecord-jdbc-adapter (~> 1.3.6)
31
- jdbc-mysql (>= 5.1.22)
32
- activerecord-jdbcpostgresql-adapter (1.3.6)
33
- activerecord-jdbc-adapter (~> 1.3.6)
34
- jdbc-postgres (>= 9.1)
35
- activerecord-jdbcsqlite3-adapter (1.3.6)
36
- activerecord-jdbc-adapter (~> 1.3.6)
37
- jdbc-sqlite3 (~> 3.7.2)
38
- activeresource (3.1.12)
39
- activemodel (= 3.1.12)
40
- activesupport (= 3.1.12)
41
- activesupport (3.1.12)
42
- multi_json (~> 1.0)
43
- arel (2.2.3)
44
- bouncy-castle-java (1.5.0147)
45
- builder (3.0.4)
46
- capybara (2.2.1)
47
- mime-types (>= 1.16)
48
- nokogiri (>= 1.3.3)
49
- rack (>= 1.0.0)
50
- rack-test (>= 0.5.4)
51
- xpath (~> 2.0)
52
- coderay (1.1.0)
53
- cucumber (1.3.11)
54
- builder (>= 2.1.2)
55
- diff-lcs (>= 1.1.3)
56
- gherkin (~> 2.12)
57
- multi_json (>= 1.7.5, < 2.0)
58
- multi_test (>= 0.0.2)
59
- cucumber-rails (1.4.0)
60
- capybara (>= 1.1.2)
61
- cucumber (>= 1.2.0)
62
- nokogiri (>= 1.5.0)
63
- rails (>= 3.0.0)
64
- database_cleaner (1.2.0)
65
- diff-lcs (1.2.5)
66
- erubis (2.7.0)
67
- ffi (1.9.3-java)
68
- gherkin (2.12.2)
69
- multi_json (~> 1.3)
70
- gherkin (2.12.2-java)
71
- multi_json (~> 1.3)
72
- hike (1.2.3)
73
- i18n (0.6.9)
74
- jdbc-mysql (5.1.28)
75
- jdbc-postgres (9.3.1100)
76
- jdbc-sqlite3 (3.7.2.1)
77
- jruby-openssl (0.9.4)
78
- bouncy-castle-java (>= 1.5.0147)
79
- json (1.8.1)
80
- json (1.8.1-java)
81
- mail (2.4.4)
82
- i18n (>= 0.4.0)
83
- mime-types (~> 1.16)
84
- treetop (~> 1.4.8)
85
- method_source (0.8.2)
86
- mime-types (1.25.1)
87
- mini_portile (0.5.2)
88
- multi_json (1.8.4)
89
- multi_test (0.0.3)
90
- mysql2 (0.3.15)
91
- nokogiri (1.6.1)
92
- mini_portile (~> 0.5.0)
93
- nokogiri (1.6.1-java)
94
- mini_portile (~> 0.5.0)
95
- pg (0.17.1)
96
- polyglot (0.3.4)
97
- pry (0.9.12.6)
98
- coderay (~> 1.0)
99
- method_source (~> 0.8)
100
- slop (~> 3.4)
101
- pry (0.9.12.6-java)
102
- coderay (~> 1.0)
103
- method_source (~> 0.8)
104
- slop (~> 3.4)
105
- spoon (~> 0.0)
106
- rack (1.3.10)
107
- rack-cache (1.2)
108
- rack (>= 0.4)
109
- rack-mount (0.8.3)
110
- rack (>= 1.0.0)
111
- rack-ssl (1.3.3)
112
- rack
113
- rack-test (0.6.2)
114
- rack (>= 1.0)
115
- rails (3.1.12)
116
- actionmailer (= 3.1.12)
117
- actionpack (= 3.1.12)
118
- activerecord (= 3.1.12)
119
- activeresource (= 3.1.12)
120
- activesupport (= 3.1.12)
121
- bundler (~> 1.0)
122
- railties (= 3.1.12)
123
- railties (3.1.12)
124
- actionpack (= 3.1.12)
125
- activesupport (= 3.1.12)
126
- rack-ssl (~> 1.3.2)
127
- rake (>= 0.8.7)
128
- rdoc (~> 3.4)
129
- thor (~> 0.14.6)
130
- rake (10.1.1)
131
- rdoc (3.12.2)
132
- json (~> 1.4)
133
- rspec-core (2.14.8)
134
- rspec-expectations (2.14.5)
135
- diff-lcs (>= 1.1.3, < 2.0)
136
- rspec-mocks (2.14.6)
137
- rspec-rails (2.14.1)
138
- actionpack (>= 3.0)
139
- activemodel (>= 3.0)
140
- activesupport (>= 3.0)
141
- railties (>= 3.0)
142
- rspec-core (~> 2.14.0)
143
- rspec-expectations (~> 2.14.0)
144
- rspec-mocks (~> 2.14.0)
145
- slop (3.4.7)
146
- spoon (0.0.4)
147
- ffi
148
- sprockets (2.0.4)
149
- hike (~> 1.2)
150
- rack (~> 1.0)
151
- tilt (~> 1.1, != 1.3.0)
152
- sqlite3 (1.3.9)
153
- thor (0.14.6)
154
- tilt (1.4.1)
155
- treetop (1.4.15)
156
- polyglot
157
- polyglot (>= 0.3.1)
158
- tzinfo (0.3.38)
159
- xpath (2.0.0)
160
- nokogiri (~> 1.3)
161
-
162
- PLATFORMS
163
- java
164
- ruby
165
-
166
- DEPENDENCIES
167
- activerecord-jdbcmysql-adapter
168
- activerecord-jdbcpostgresql-adapter
169
- activerecord-jdbcsqlite3-adapter
170
- capybara
171
- cucumber-rails
172
- database_cleaner
173
- jruby-openssl
174
- mysql2
175
- pg
176
- pry
177
- rails (~> 3.1.0)
178
- rake
179
- rspec-rails
180
- sqlite3