weak_parameters 0.0.6 → 0.0.7

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: 9c6878ecd190cfb4d8e53e6c9e1eda47da7e3a05
4
- data.tar.gz: 564512fd5e6eacf4989916a74ad7c389c9f8801c
3
+ metadata.gz: f1eda85eff3c4bef895416ca359efa1dd90db8f7
4
+ data.tar.gz: 8ef1d0d971591b665066b042a32b88c530353ade
5
5
  SHA512:
6
- metadata.gz: a3792e6192ef2cb3a36b22254e28049a58897b837622448f88b08d7e565d255e794dd6bdf285a40cd0b7154012d898dc48896138e91a8dbdfbe826d5d6e1e861
7
- data.tar.gz: 24d0d59133f5e683e05f8df4d50a67681fada003e3b42fcb2a30ea2f7dfadf89971e8a2f53b804763569c30293a2fa4b110063a3eab33dc2eaec015f26932bd3
6
+ metadata.gz: 8c15d0bcf364fb6dc89be768bd71bb9e6d3c96be1b2cd24b7d32f04749ef774b74741a6d6b606ee525734cf759768ac7882a0588be5b9b965ea1aeb7991b65fb
7
+ data.tar.gz: d505f087124d6e89059dd9941e1a438e4d58527bda9d86e2b7ee6b158cbd81a9c9caae42b4f43c3f6c8bbb190e19324c147670bc58adacb604e1d9dec3bae5d4
data/Gemfile CHANGED
@@ -2,6 +2,8 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
+ gem "rails", "4.0.0"
6
+
5
7
  group :test do
6
8
  gem "autodoc"
7
9
  gem "pry-rails"
data/README.md CHANGED
@@ -34,6 +34,13 @@ irb(main):005:0> app.post "/recipes", name: "alice", type: "bob"
34
34
  => 400
35
35
  ```
36
36
 
37
+ ### Available validators
38
+ * array
39
+ * hash
40
+ * integer
41
+ * string
42
+ * boolean (= 0, 1, false, true)
43
+
37
44
  ## Tips
38
45
  WeakParameters.stats returns its validation metadata, and this is useful for auto-generating API documents.
39
46
  With [autodoc](https://github.com/r7kamura/autodoc), you can auto-generate API documents with params information.
@@ -1,7 +1,7 @@
1
1
  module WeakParameters
2
2
  class IntegerValidator < WeakParameters::BaseValidator
3
3
  def valid_type?
4
- /\A-?\d+\z/ === value.to_s
4
+ /\A-?\d+\z/ === params[key].to_s
5
5
  end
6
6
 
7
7
  def error_message
@@ -1,3 +1,3 @@
1
1
  module WeakParameters
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -1,7 +1,8 @@
1
1
  class RecipesController < ApplicationController
2
2
  validates :create do
3
3
  string :name, required: true, except: %w[invalid wrong]
4
- integer :type, only: 1..3
4
+ integer :type, only: 0..3
5
+ integer :number, only: [0, 1]
5
6
  boolean :flag
6
7
  hash :config
7
8
  array :tags
@@ -1,3 +1,2 @@
1
1
  class Recipe < ActiveRecord::Base
2
- attr_accessible :name, :type
3
2
  end
@@ -1,14 +1,11 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
- # Pick the frameworks you want:
4
- require "active_record/railtie"
5
- require "action_controller/railtie"
6
- require "action_mailer/railtie"
7
- require "active_resource/railtie"
8
- require "sprockets/railtie"
9
- # require "rails/test_unit/railtie"
3
+ require "rails/all"
4
+
5
+ if defined?(Bundler)
6
+ Bundler.require(:default, Rails.env)
7
+ end
10
8
 
11
- Bundler.require(*Rails.groups)
12
9
  require "weak_parameters"
13
10
 
14
11
  module Dummy
@@ -49,15 +46,6 @@ module Dummy
49
46
  # like if you have constraints or database-specific column types
50
47
  # config.active_record.schema_format = :sql
51
48
 
52
- # Enforce whitelist mode for mass assignment.
53
- # This will create an empty whitelist of attributes available for mass-assignment for all models
54
- # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
55
- # parameters by using an attr_accessible or attr_protected declaration.
56
- config.active_record.whitelist_attributes = true
57
-
58
- # Enable the asset pipeline
59
- config.assets.enabled = true
60
-
61
49
  # Version of your assets, change this if you want to expire all your assets
62
50
  config.assets.version = '1.0'
63
51
  end
@@ -6,9 +6,6 @@ Dummy::Application.configure do
6
6
  # since you don't have to restart the web server when you make code changes.
7
7
  config.cache_classes = false
8
8
 
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
9
  # Show full error reports and disable caching
13
10
  config.consider_all_requests_local = true
14
11
  config.action_controller.perform_caching = false
@@ -19,19 +16,6 @@ Dummy::Application.configure do
19
16
  # Print deprecation notices to the Rails logger
20
17
  config.active_support.deprecation = :log
21
18
 
22
- # Only use best-standards-support built into browsers
23
- config.action_dispatch.best_standards_support = :builtin
24
-
25
- # Raise exception on mass assignment protection for Active Record models
26
- config.active_record.mass_assignment_sanitizer = :strict
27
-
28
- # Log the query plan for queries taking more than this (works
29
- # with SQLite, MySQL, and PostgreSQL)
30
- config.active_record.auto_explain_threshold_in_seconds = 0.5
31
-
32
- # Do not compress assets
33
- config.assets.compress = false
34
-
35
19
  # Expands the lines which load the assets
36
20
  config.assets.debug = true
37
21
  end
@@ -64,4 +64,8 @@ Dummy::Application.configure do
64
64
  # Log the query plan for queries taking more than this (works
65
65
  # with SQLite, MySQL, and PostgreSQL)
66
66
  # config.active_record.auto_explain_threshold_in_seconds = 0.5
67
+
68
+ config.eager_load = true
69
+
70
+ config.assets.js_compressor = :uglifier
67
71
  end
@@ -11,9 +11,6 @@ Dummy::Application.configure do
11
11
  config.serve_static_assets = true
12
12
  config.static_cache_control = "public, max-age=3600"
13
13
 
14
- # Log error messages when you accidentally call methods on nil
15
- config.whiny_nils = true
16
-
17
14
  # Show full error reports and disable caching
18
15
  config.consider_all_requests_local = true
19
16
  config.action_controller.perform_caching = false
@@ -29,9 +26,8 @@ Dummy::Application.configure do
29
26
  # ActionMailer::Base.deliveries array.
30
27
  config.action_mailer.delivery_method = :test
31
28
 
32
- # Raise exception on mass assignment protection for Active Record models
33
- config.active_record.mass_assignment_sanitizer = :strict
34
-
35
29
  # Print deprecation notices to the stderr
36
30
  config.active_support.deprecation = :stderr
31
+
32
+ config.eager_load = true
37
33
  end
@@ -5,3 +5,4 @@
5
5
  # Make sure the secret is at least 30 characters and all random,
6
6
  # no regular words or you'll be exposed to dictionary attacks.
7
7
  Dummy::Application.config.secret_token = '2bc71f32e8d9d76cbdf4c01f3e959bb186b372ae67429c06fc88d82073e7e54170ca2b6e92f5487cb0dfaba18783a5f266cb5d50d13fee05021f46049b33fa0c'
8
+ Dummy::Application.config.secret_key_base = '24b191b073b60770ff32d8c0096a6786c8aa0c5f7c0968838f5321a0fbda49da3a567984ca3862f353b4cc408e1e23fedd1f3d808ae91965758239f19642a2e6'
@@ -4,6 +4,7 @@ describe "Recipes" do
4
4
  let(:params) do
5
5
  {
6
6
  name: "name",
7
+ number: 0,
7
8
  type: 1,
8
9
  flag: true,
9
10
  config: {},
@@ -34,6 +35,17 @@ describe "Recipes" do
34
35
  end
35
36
  end
36
37
 
38
+ context "with exceptional interger param" do
39
+ before do
40
+ params[:number] = true
41
+ end
42
+
43
+ it "returns 400" do
44
+ post "/recipes", params
45
+ response.status.should == 400
46
+ end
47
+ end
48
+
37
49
  context "with wrong boolean param" do
38
50
  before do
39
51
  params[:flag] = "x"
@@ -80,7 +92,7 @@ describe "Recipes" do
80
92
 
81
93
  context "with invalid param to :only condition" do
82
94
  before do
83
- params[:type] = 0
95
+ params[:type] = 4
84
96
  end
85
97
 
86
98
  it "returns 400" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weak_parameters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-27 00:00:00.000000000 Z
11
+ date: 2013-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  version: '0'
148
148
  requirements: []
149
149
  rubyforge_project:
150
- rubygems_version: 2.0.2
150
+ rubygems_version: 2.0.3
151
151
  signing_key:
152
152
  specification_version: 4
153
153
  summary: Add a validation filter to your controller.