angular_xss 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +1 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +20 -9
  5. data/Gemfile +1 -0
  6. data/Gemfile.lock +1 -0
  7. data/Rakefile +3 -66
  8. data/gemfiles/Gemfile.rails-3.2 +9 -0
  9. data/gemfiles/Gemfile.rails-3.2.lock +91 -0
  10. data/gemfiles/Gemfile.rails-4.2.haml-4 +8 -0
  11. data/gemfiles/Gemfile.rails-4.2.haml-4.lock +88 -0
  12. data/gemfiles/Gemfile.rails-4.2.haml-5 +8 -0
  13. data/gemfiles/Gemfile.rails-4.2.haml-5.lock +90 -0
  14. data/gemfiles/Gemfile.rails-5.1.haml-4 +8 -0
  15. data/gemfiles/Gemfile.rails-5.1.haml-4.lock +85 -0
  16. data/gemfiles/Gemfile.rails-5.1.haml-5 +8 -0
  17. data/gemfiles/Gemfile.rails-5.1.haml-5.lock +87 -0
  18. data/lib/angular_xss/action_view.rb +2 -1
  19. data/lib/angular_xss/erb.rb +2 -1
  20. data/lib/angular_xss/haml.rb +14 -10
  21. data/lib/angular_xss/safe_buffer.rb +4 -3
  22. data/lib/angular_xss/version.rb +1 -1
  23. data/spec/{shared/tests → angular_xss}/erb_spec.rb +1 -1
  24. data/spec/{shared/tests → angular_xss}/haml_spec.rb +1 -1
  25. data/spec/{shared/tests → angular_xss}/safe_buffer_spec.rb +0 -0
  26. data/spec/spec_helper.rb +37 -0
  27. data/spec/{shared/support → support}/engine_preventing_angular_xss.rb +10 -2
  28. data/spec/{shared/app_root/app/views/test → templates}/_test_erb.erb +0 -0
  29. data/spec/{shared/app_root/app/views/test → templates}/_test_haml.haml +5 -3
  30. metadata +76 -204
  31. data/spec/rails-2.3/Gemfile +0 -12
  32. data/spec/rails-2.3/Gemfile.lock +0 -62
  33. data/spec/rails-2.3/Rakefile +0 -11
  34. data/spec/rails-2.3/app_root/config/boot.rb +0 -129
  35. data/spec/rails-2.3/app_root/config/database.yml +0 -4
  36. data/spec/rails-2.3/app_root/config/environment.rb +0 -14
  37. data/spec/rails-2.3/app_root/config/environments/test.rb +0 -28
  38. data/spec/rails-2.3/app_root/config/preinitializer.rb +0 -20
  39. data/spec/rails-2.3/app_root/config/routes.rb +0 -4
  40. data/spec/rails-2.3/app_root/lib/console_with_fixtures.rb +0 -4
  41. data/spec/rails-2.3/app_root/log/.gitignore +0 -1
  42. data/spec/rails-2.3/app_root/script/console +0 -7
  43. data/spec/rails-2.3/rcov.opts +0 -2
  44. data/spec/rails-2.3/spec.opts +0 -4
  45. data/spec/rails-2.3/spec/spec_helper.rb +0 -20
  46. data/spec/rails-3.2/.rspec +0 -2
  47. data/spec/rails-3.2/Gemfile +0 -10
  48. data/spec/rails-3.2/Gemfile.lock +0 -129
  49. data/spec/rails-3.2/Rakefile +0 -10
  50. data/spec/rails-3.2/app_root/.gitignore +0 -4
  51. data/spec/rails-3.2/app_root/config/application.rb +0 -32
  52. data/spec/rails-3.2/app_root/config/boot.rb +0 -13
  53. data/spec/rails-3.2/app_root/config/database.yml +0 -4
  54. data/spec/rails-3.2/app_root/config/environment.rb +0 -5
  55. data/spec/rails-3.2/app_root/config/environments/test.rb +0 -35
  56. data/spec/rails-3.2/app_root/config/initializers/backtrace_silencers.rb +0 -7
  57. data/spec/rails-3.2/app_root/config/initializers/inflections.rb +0 -10
  58. data/spec/rails-3.2/app_root/config/initializers/mime_types.rb +0 -5
  59. data/spec/rails-3.2/app_root/config/initializers/secret_token.rb +0 -7
  60. data/spec/rails-3.2/app_root/config/initializers/session_store.rb +0 -8
  61. data/spec/rails-3.2/app_root/config/routes.rb +0 -58
  62. data/spec/rails-3.2/app_root/lib/tasks/.gitkeep +0 -0
  63. data/spec/rails-3.2/app_root/log/.gitkeep +0 -0
  64. data/spec/rails-3.2/app_root/script/rails +0 -6
  65. data/spec/rails-3.2/rcov.opts +0 -2
  66. data/spec/rails-3.2/spec/spec_helper.rb +0 -20
  67. data/spec/rails-4.2/.rspec +0 -2
  68. data/spec/rails-4.2/Gemfile +0 -10
  69. data/spec/rails-4.2/Gemfile.lock +0 -157
  70. data/spec/rails-4.2/Rakefile +0 -10
  71. data/spec/rails-4.2/app_root/.gitignore +0 -4
  72. data/spec/rails-4.2/app_root/config/application.rb +0 -34
  73. data/spec/rails-4.2/app_root/config/boot.rb +0 -13
  74. data/spec/rails-4.2/app_root/config/database.yml +0 -4
  75. data/spec/rails-4.2/app_root/config/environment.rb +0 -5
  76. data/spec/rails-4.2/app_root/config/environments/test.rb +0 -35
  77. data/spec/rails-4.2/app_root/config/initializers/backtrace_silencers.rb +0 -7
  78. data/spec/rails-4.2/app_root/config/initializers/inflections.rb +0 -10
  79. data/spec/rails-4.2/app_root/config/initializers/mime_types.rb +0 -5
  80. data/spec/rails-4.2/app_root/config/initializers/secret_token.rb +0 -7
  81. data/spec/rails-4.2/app_root/config/initializers/session_store.rb +0 -8
  82. data/spec/rails-4.2/app_root/config/routes.rb +0 -3
  83. data/spec/rails-4.2/app_root/lib/tasks/.gitkeep +0 -0
  84. data/spec/rails-4.2/app_root/log/.gitkeep +0 -0
  85. data/spec/rails-4.2/app_root/script/rails +0 -6
  86. data/spec/rails-4.2/rcov.opts +0 -2
  87. data/spec/rails-4.2/spec/spec_helper.rb +0 -27
  88. data/spec/shared/app_root/app/controllers/application_controller.rb +0 -2
  89. data/spec/shared/app_root/app/helpers/application_helper.rb +0 -3
  90. data/spec/shared/app_root/app/models/.gitkeep +0 -0
  91. data/spec/shared/app_root/config/database.yml +0 -4
  92. data/spec/shared/app_root/db/migrate/.gitkeep +0 -0
@@ -1,12 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'sqlite3'
4
- gem 'test-unit', '=1.2.3', :platforms => :ruby_19 # satisfy Travis CI
5
- gem 'hoe', '=2.8.0', :platforms => :ruby_19 # satisfy Travis CI
6
- gem 'rails', '~>2.3.10'
7
- gem 'rspec', '<2'
8
- gem 'rspec-rails', '<2'
9
- gem 'rspec_candy'
10
- gem 'haml', '=3.1.5'
11
- gem 'rails_xss'
12
- gem 'angular_xss', :path => '../..'
@@ -1,62 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- angular_xss (0.3.0)
5
- activesupport
6
- haml (>= 3.1.5)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actionmailer (2.3.18)
12
- actionpack (= 2.3.18)
13
- actionpack (2.3.18)
14
- activesupport (= 2.3.18)
15
- rack (~> 1.1.0)
16
- activerecord (2.3.18)
17
- activesupport (= 2.3.18)
18
- activeresource (2.3.18)
19
- activesupport (= 2.3.18)
20
- activesupport (2.3.18)
21
- erubis (2.7.0)
22
- haml (3.1.5)
23
- hoe (2.8.0)
24
- rake (>= 0.8.7)
25
- rack (1.1.6)
26
- rails (2.3.18)
27
- actionmailer (= 2.3.18)
28
- actionpack (= 2.3.18)
29
- activerecord (= 2.3.18)
30
- activeresource (= 2.3.18)
31
- activesupport (= 2.3.18)
32
- rake (>= 0.8.3)
33
- rails_xss (0.5.1)
34
- erubis (>= 2.6.5)
35
- rake (10.1.1)
36
- rspec (1.3.2)
37
- rspec-rails (1.3.4)
38
- rack (>= 1.0.0)
39
- rspec (~> 1.3.1)
40
- rspec_candy (0.3.1)
41
- rspec
42
- sneaky-save
43
- sneaky-save (0.0.2)
44
- activerecord (>= 2.3.2)
45
- sqlite3 (1.3.8)
46
- test-unit (1.2.3)
47
- hoe (>= 1.5.1)
48
-
49
- PLATFORMS
50
- ruby
51
-
52
- DEPENDENCIES
53
- angular_xss!
54
- haml (= 3.1.5)
55
- hoe (= 2.8.0)
56
- rails (~> 2.3.10)
57
- rails_xss
58
- rspec (< 2)
59
- rspec-rails (< 2)
60
- rspec_candy
61
- sqlite3
62
- test-unit (= 1.2.3)
@@ -1,11 +0,0 @@
1
- require 'rake'
2
- require 'spec/rake/spectask'
3
-
4
- desc 'Default: Run all specs for a specific rails version.'
5
- task :default => :spec
6
-
7
- desc "Run all specs for a specific rails version"
8
- Spec::Rake::SpecTask.new() do |t|
9
- t.spec_opts = ['--options', "\"spec.opts\""]
10
- t.spec_files = defined?(SPEC) ? SPEC : FileList['**/*_spec.rb', '../shared/**/*_spec.rb']
11
- end
@@ -1,129 +0,0 @@
1
- # Allow customization of the rails framework path
2
- RAILS_FRAMEWORK_ROOT = (ENV['RAILS_FRAMEWORK_ROOT'] || "#{File.dirname(__FILE__)}/../../../../../../vendor/rails") unless defined?(RAILS_FRAMEWORK_ROOT)
3
-
4
- # Don't change this file!
5
- # Configure your app in config/environment.rb and config/environments/*.rb
6
-
7
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
8
-
9
- module Rails
10
- class << self
11
- def boot!
12
- unless booted?
13
- preinitialize
14
- pick_boot.run
15
- end
16
- end
17
-
18
- def booted?
19
- defined? Rails::Initializer
20
- end
21
-
22
- def pick_boot
23
- (vendor_rails? ? VendorBoot : GemBoot).new
24
- end
25
-
26
- def vendor_rails?
27
- File.exist?(RAILS_FRAMEWORK_ROOT)
28
- end
29
-
30
- def preinitialize
31
- load(preinitializer_path) if File.exist?(preinitializer_path)
32
- end
33
-
34
- def preinitializer_path
35
- "#{RAILS_ROOT}/config/preinitializer.rb"
36
- end
37
- end
38
-
39
- class Boot
40
- def run
41
- load_initializer
42
- Rails::Initializer.run(:set_load_path)
43
- end
44
- end
45
-
46
- class VendorBoot < Boot
47
- def load_initializer
48
- require "#{RAILS_FRAMEWORK_ROOT}/railties/lib/initializer"
49
- Rails::Initializer.run(:install_gem_spec_stubs)
50
- end
51
- end
52
-
53
- class GemBoot < Boot
54
- def load_initializer
55
- self.class.load_rubygems
56
- load_rails_gem
57
- require 'initializer'
58
- end
59
-
60
- def load_rails_gem
61
- if version = self.class.gem_version
62
- gem 'rails', version
63
- else
64
- gem 'rails'
65
- end
66
- rescue Gem::LoadError => load_error
67
- $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
68
- exit 1
69
- end
70
-
71
- class << self
72
- def rubygems_version
73
- Gem::RubyGemsVersion rescue nil
74
- end
75
-
76
- def gem_version
77
- if defined? RAILS_GEM_VERSION
78
- RAILS_GEM_VERSION
79
- elsif ENV.include?('RAILS_GEM_VERSION')
80
- ENV['RAILS_GEM_VERSION']
81
- else
82
- parse_gem_version(read_environment_rb)
83
- end
84
- end
85
-
86
- def load_rubygems
87
- require 'rubygems'
88
- min_version = '1.1.1'
89
- unless rubygems_version >= min_version
90
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
91
- exit 1
92
- end
93
-
94
- rescue LoadError
95
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
96
- exit 1
97
- end
98
-
99
- def parse_gem_version(text)
100
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
101
- end
102
-
103
- private
104
- def read_environment_rb
105
- environment_rb = "#{RAILS_ROOT}/config/environment.rb"
106
- environment_rb = "#{HELPER_RAILS_ROOT}/config/environment.rb" unless File.exists?(environment_rb)
107
- File.read(environment_rb)
108
- end
109
- end
110
- end
111
- end
112
-
113
-
114
- class Rails::Boot
115
- def run
116
- load_initializer
117
-
118
- Rails::Initializer.class_eval do
119
- def load_gems
120
- @bundler_loaded ||= Bundler.require :default, Rails.env
121
- end
122
- end
123
-
124
- Rails::Initializer.run(:set_load_path)
125
- end
126
- end
127
-
128
- # All that for this:
129
- Rails.boot!
@@ -1,4 +0,0 @@
1
- test:
2
- adapter: sqlite3
3
- database: ":memory:"
4
- verbosity: quiet
@@ -1,14 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'boot')
2
-
3
- Rails::Initializer.run do |config|
4
- config.cache_classes = false
5
- config.whiny_nils = true
6
- config.action_controller.session = { :key => "_myapp_session", :secret => "gwirofjweroijger8924rt2zfwehfuiwehb1378rifowenfoqwphf23" }
7
- #config.plugin_locators.unshift(
8
- # Class.new(Rails::Plugin::Locator) do
9
- # def plugins
10
- # [Rails::Plugin.new(File.expand_path('.'))]
11
- # end
12
- # end
13
- #) unless defined?(PluginTestHelper::PluginLocator)
14
- end
@@ -1,28 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The test environment is used exclusively to run your application's
4
- # test suite. You never need to work with it otherwise. Remember that
5
- # your test database is "scratch space" for the test suite and is wiped
6
- # and recreated between test runs. Don't rely on the data there!
7
- config.cache_classes = true
8
-
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
- # Show full error reports and disable caching
13
- config.action_controller.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
15
- config.action_view.cache_template_loading = true
16
-
17
- # Disable request forgery protection in test environment
18
- config.action_controller.allow_forgery_protection = false
19
-
20
- # Tell Action Mailer not to deliver emails to the real world.
21
- # The :test delivery method accumulates sent emails in the
22
- # ActionMailer::Base.deliveries array.
23
- config.action_mailer.delivery_method = :test
24
-
25
- # Use SQL instead of Active Record's schema dumper when creating the test database.
26
- # This is necessary if your schema can't be completely dumped by the schema dumper,
27
- # like if you have constraints or database-specific column types
28
- # config.active_record.schema_format = :sql
@@ -1,20 +0,0 @@
1
- begin
2
- require "rubygems"
3
- require "bundler"
4
- rescue LoadError
5
- raise "Could not load the bundler gem. Install it with `gem install bundler`."
6
- end
7
-
8
- if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
9
- raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
10
- "Run `gem install bundler` to upgrade."
11
- end
12
-
13
- begin
14
- # Set up load paths for all bundled gems
15
- ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
16
- Bundler.setup
17
- rescue Bundler::GemNotFound
18
- raise RuntimeError, "Bundler couldn't find some gems." +
19
- "Did you run `bundle install`?"
20
- end
@@ -1,4 +0,0 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- map.connect ':controller/:action/:id'
3
- map.connect ':controller/:action/:id.:format'
4
- end
@@ -1,4 +0,0 @@
1
- # Loads fixtures into the database when running the test app via the console
2
- (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(Rails.root, '../fixtures/*.{yml,csv}'))).each do |fixture_file|
3
- Fixtures.create_fixtures(File.join(Rails.root, '../fixtures'), File.basename(fixture_file, '.*'))
4
- end
@@ -1 +0,0 @@
1
- *.log
@@ -1,7 +0,0 @@
1
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
2
- libs = " -r irb/completion"
3
- libs << " -r test/test_helper"
4
- libs << " -r console_app"
5
- libs << " -r console_with_helpers"
6
- libs << " -r console_with_fixtures"
7
- exec "#{irb} #{libs} --simple-prompt"
@@ -1,2 +0,0 @@
1
- --exclude "spec/*,gems/*"
2
- --rails
@@ -1,4 +0,0 @@
1
- --colour
2
- --format progress
3
- --loadby mtime
4
- --reverse
@@ -1,20 +0,0 @@
1
- $: << File.join(File.dirname(__FILE__), "/../../lib" )
2
-
3
- ENV['RAILS_ENV'] = 'test'
4
- ENV['RAILS_ROOT'] = 'app_root'
5
-
6
- # Load the Rails environment and testing framework
7
- require "#{File.dirname(__FILE__)}/../app_root/config/environment"
8
- require 'spec/rails'
9
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
- require 'rspec_candy/all'
11
-
12
- # Run the migrations
13
- print "\033[30m" # dark gray text
14
- ActiveRecord::Migrator.migrate("#{Rails.root}/db/migrate")
15
- print "\033[0m"
16
-
17
- Spec::Runner.configure do |config|
18
- config.use_transactional_fixtures = true
19
- config.use_instantiated_fixtures = false
20
- end
@@ -1,2 +0,0 @@
1
- --colour
2
- --format progress
@@ -1,10 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'sqlite3'
4
- gem 'rails', '~>3.2'
5
- gem 'rspec'
6
- gem 'rspec-rails'
7
- gem 'rspec_candy'
8
- gem 'haml', '=4.0.2'
9
- gem 'haml-rails', '=0.4'
10
- gem 'angular_xss', :path => '../..'
@@ -1,129 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- angular_xss (0.3.0)
5
- activesupport
6
- haml (>= 3.1.5)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actionmailer (3.2.16)
12
- actionpack (= 3.2.16)
13
- mail (~> 2.5.4)
14
- actionpack (3.2.16)
15
- activemodel (= 3.2.16)
16
- activesupport (= 3.2.16)
17
- builder (~> 3.0.0)
18
- erubis (~> 2.7.0)
19
- journey (~> 1.0.4)
20
- rack (~> 1.4.5)
21
- rack-cache (~> 1.2)
22
- rack-test (~> 0.6.1)
23
- sprockets (~> 2.2.1)
24
- activemodel (3.2.16)
25
- activesupport (= 3.2.16)
26
- builder (~> 3.0.0)
27
- activerecord (3.2.16)
28
- activemodel (= 3.2.16)
29
- activesupport (= 3.2.16)
30
- arel (~> 3.0.2)
31
- tzinfo (~> 0.3.29)
32
- activeresource (3.2.16)
33
- activemodel (= 3.2.16)
34
- activesupport (= 3.2.16)
35
- activesupport (3.2.16)
36
- i18n (~> 0.6, >= 0.6.4)
37
- multi_json (~> 1.0)
38
- arel (3.0.3)
39
- builder (3.0.4)
40
- diff-lcs (1.2.5)
41
- erubis (2.7.0)
42
- haml (4.0.2)
43
- tilt
44
- haml-rails (0.4)
45
- actionpack (>= 3.1, < 4.1)
46
- activesupport (>= 3.1, < 4.1)
47
- haml (>= 3.1, < 4.1)
48
- railties (>= 3.1, < 4.1)
49
- hike (1.2.3)
50
- i18n (0.6.9)
51
- journey (1.0.4)
52
- json (1.8.1)
53
- mail (2.5.4)
54
- mime-types (~> 1.16)
55
- treetop (~> 1.4.8)
56
- mime-types (1.25.1)
57
- multi_json (1.8.2)
58
- polyglot (0.3.3)
59
- rack (1.4.5)
60
- rack-cache (1.2)
61
- rack (>= 0.4)
62
- rack-ssl (1.3.3)
63
- rack
64
- rack-test (0.6.2)
65
- rack (>= 1.0)
66
- rails (3.2.16)
67
- actionmailer (= 3.2.16)
68
- actionpack (= 3.2.16)
69
- activerecord (= 3.2.16)
70
- activeresource (= 3.2.16)
71
- activesupport (= 3.2.16)
72
- bundler (~> 1.0)
73
- railties (= 3.2.16)
74
- railties (3.2.16)
75
- actionpack (= 3.2.16)
76
- activesupport (= 3.2.16)
77
- rack-ssl (~> 1.3.2)
78
- rake (>= 0.8.7)
79
- rdoc (~> 3.4)
80
- thor (>= 0.14.6, < 2.0)
81
- rake (10.1.1)
82
- rdoc (3.12.2)
83
- json (~> 1.4)
84
- rspec (2.14.1)
85
- rspec-core (~> 2.14.0)
86
- rspec-expectations (~> 2.14.0)
87
- rspec-mocks (~> 2.14.0)
88
- rspec-core (2.14.7)
89
- rspec-expectations (2.14.4)
90
- diff-lcs (>= 1.1.3, < 2.0)
91
- rspec-mocks (2.14.4)
92
- rspec-rails (2.14.1)
93
- actionpack (>= 3.0)
94
- activemodel (>= 3.0)
95
- activesupport (>= 3.0)
96
- railties (>= 3.0)
97
- rspec-core (~> 2.14.0)
98
- rspec-expectations (~> 2.14.0)
99
- rspec-mocks (~> 2.14.0)
100
- rspec_candy (0.3.1)
101
- rspec
102
- sneaky-save
103
- sneaky-save (0.0.4)
104
- activerecord (>= 3.2.0)
105
- sprockets (2.2.2)
106
- hike (~> 1.2)
107
- multi_json (~> 1.0)
108
- rack (~> 1.0)
109
- tilt (~> 1.1, != 1.3.0)
110
- sqlite3 (1.3.8)
111
- thor (0.18.1)
112
- tilt (1.4.1)
113
- treetop (1.4.15)
114
- polyglot
115
- polyglot (>= 0.3.1)
116
- tzinfo (0.3.38)
117
-
118
- PLATFORMS
119
- ruby
120
-
121
- DEPENDENCIES
122
- angular_xss!
123
- haml (= 4.0.2)
124
- haml-rails (= 0.4)
125
- rails (~> 3.2)
126
- rspec
127
- rspec-rails
128
- rspec_candy
129
- sqlite3