weak_headers 0.0.4 → 0.0.5

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: 1651962f418ca0a1bea9e5c84cd0db497a8e2ab9
4
- data.tar.gz: 02f4ce0e5155c0387a836086b517952ec8875539
3
+ metadata.gz: 3d041f4923d87ab6cfc1b8383a6e96327a673afc
4
+ data.tar.gz: 2529efe4295e89663808d43862aafc5a7a680543
5
5
  SHA512:
6
- metadata.gz: 30c117033056165c33a4fce06270e9d3eb6c132d2a96d0177944fedd4f81f38a945bec5276f36459940b4aa28598277434578e3957847f4cf58065c5be69e65f
7
- data.tar.gz: 36a5b093d86fcf7282c0ac5cfbb786fc7b3796b36dcda35bd2b47e368bf4baa429981d81b6469b60a55c151a84ddd72637f86e8cf6e70bc4f13de4f67ec1ff9c
6
+ metadata.gz: ebb0291307e827cc6f1a0ad1e8709b202a45fb2abc3fb30f05d3c7ab1f9e6c81a6ce8e14758354b47eb64792b5bb6d3d4108864c723ae9ca6ade4d0de90cb72c
7
+ data.tar.gz: aa5921f4d92dd19bce8b8d693bd867e6847b223619363949ad9412ef92e1f9974e08ec5691e6627e3b7ce8535551f998757fbc1aa0df63747adc5e6902466077
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format d
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ language: ruby
2
+ bundler_args: --without development --path vendor/bundle --jobs=3 --retry=3
3
+ cache:
4
+ directories:
5
+ - vendor/bundle
6
+ before_install:
7
+ - gem update --system
8
+ install:
9
+ - gem install bundler
10
+ - bundle install
11
+ script: bundle exec rspec
12
+
13
+ rvm:
14
+ - 1.9.3
15
+ - 2.0.0
16
+ - 2.1
17
+ - 2.2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.0.5
2
+ - Add test
3
+
1
4
  ## 0.0.4
2
5
  - Fix typo
3
6
 
data/README.md CHANGED
@@ -1,13 +1,11 @@
1
- # WeakHeaders
2
- Validates `request.headers` in your controller.
1
+ ![Build Status](https://api.travis-ci.org/kenchan0130/weak_headers.png)
3
2
 
4
- ## Notice
5
- I'm sorry, it is not yet written test.
6
- I'll add test as soon as possible.
3
+ # WeakHeaders
4
+ Validates `request.headers` in your rails controller.
7
5
 
8
6
  ## Installation
9
7
  ```ruby
10
- gem "weak_headers"
8
+ gem 'weak_headers'
11
9
  ```
12
10
 
13
11
  ## Usage
@@ -1,10 +1,10 @@
1
1
  module WeakHeaders
2
2
  module Controller
3
3
  def validates_headers(action_name = nil, &block)
4
- filter_option = {}
5
- filter_option.merge!(only: action_name) unless action_name.nil?
4
+ filter_options = {}
5
+ filter_options.merge!(only: action_name) unless action_name.nil?
6
6
 
7
- before_filter filter_option do
7
+ before_filter filter_options do
8
8
  validator = WeakHeaders::Validator.new(self, &block)
9
9
  WeakHeaders.stats[params[:controller]][params[:action]] = validator
10
10
  WeakHeaders.stats[params[:controller]][params[:action]].validate
@@ -1,3 +1,3 @@
1
1
  module WeakHeaders
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
data/lib/weak_headers.rb CHANGED
@@ -14,13 +14,15 @@ require 'weak_headers/version'
14
14
  # Examples
15
15
  #
16
16
  # class AuthController < ApplicationController
17
- # rescue_from WeakHeaders::ValidationError do |exception|
18
- # render text: exception.message, status: 400
17
+ # rescue_from WeakHeaders::ValidationError do |e|
18
+ # render text: e.message, status: 400
19
19
  # end
20
20
  #
21
21
  # validates_headers :create do
22
22
  # requires 'X-Test-Token'
23
- # optional 'X-Test-Id'
23
+ # optional 'X-Test-Id' do |value|
24
+ # value =~ /\A\d+\z/
25
+ # end
24
26
  # end
25
27
  #
26
28
  # def create
data/spec/spec_helper.rb CHANGED
@@ -1,19 +1,19 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
1
3
  require 'bundler/setup'
2
- require 'rails/all'
4
+ require 'action_controller/railtie'
3
5
  require 'rspec/rails'
4
6
 
7
+ Bundler.require(:default, ENV['RAILS_ENV'])
8
+
5
9
  require 'weak_headers'
6
10
 
7
- RSpec.configure do |config|
8
- # If you"re not using ActiveRecord, or you"d prefer not to run each of your
9
- # examples within a transaction, remove the following line or assign false
10
- # instead of true.
11
- config.use_transactional_fixtures = true
11
+ class DummyApplication < Rails::Application
12
+ config.secret_key_base = 'test'
13
+ end
12
14
 
13
- # If true, the base class of anonymous controllers will be inferred
14
- # automatically. This will be the default behavior in future versions of
15
- # rspec-rails.
16
- config.infer_base_class_for_anonymous_controllers = false
15
+ Rails.application = DummyApplication
17
16
 
18
- config.treat_symbols_as_metadata_keys_with_true_values = true
17
+ RSpec.configure do |config|
18
+ config.infer_base_class_for_anonymous_controllers = false
19
19
  end
@@ -0,0 +1,55 @@
1
+ require_relative 'spec_helper'
2
+
3
+ RSpec.describe 'Anything', type: :controller do
4
+ controller do
5
+ extend WeakHeaders::Controller
6
+ include Rails.application.routes.url_helpers
7
+
8
+ def index
9
+ render text: 'dummy'
10
+ end
11
+
12
+ rescue_from WeakHeaders::ValidationError do |e|
13
+ render text: e.message, status: 400
14
+ end
15
+
16
+ validates_headers :index do
17
+ requires 'X-Test-Token'
18
+ optional 'X-Test-Id' do |value|
19
+ value =~ /\A\d+\z/
20
+ end
21
+ end
22
+ end
23
+
24
+ context 'with incorrect headers' do
25
+ it 'should return 400' do
26
+ get :index
27
+
28
+ expect(response).to have_http_status(400)
29
+ end
30
+
31
+ context 'with block' do
32
+ before do
33
+ request.headers['X-Test-Id'] = 'test'
34
+ end
35
+
36
+ it 'should return 400' do
37
+ get :index
38
+
39
+ expect(response).to have_http_status(400)
40
+ end
41
+ end
42
+ end
43
+
44
+ context 'with correct headers' do
45
+ before do
46
+ request.headers['X-Test-Token'] = 'token'
47
+ end
48
+
49
+ it 'should return 200' do
50
+ get :index
51
+
52
+ expect(response).to have_http_status(200)
53
+ end
54
+ end
55
+ end
data/weak_headers.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- $:.push File.expand_path("../lib", __FILE__)
1
+ $:.push File.expand_path('../lib', __FILE__)
2
2
 
3
3
  require 'weak_headers/version'
4
4
 
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.version = WeakHeaders::VERSION
8
8
  spec.authors = ['Tadayuki Onishi']
9
9
  spec.email = ['tt.tanishi100@gmail.com']
10
- spec.summary = 'Add a validation headers filter to your controller.'
10
+ spec.summary = 'Add a validation headers filter to your rails controller.'
11
11
  spec.homepage = 'https://github.com/kenchan0130/weak_headers'
12
12
  spec.license = 'MIT'
13
13
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weak_headers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tadayuki Onishi
@@ -60,6 +60,8 @@ extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
+ - ".rspec"
64
+ - ".travis.yml"
63
65
  - CHANGELOG.md
64
66
  - Gemfile
65
67
  - LICENSE.txt
@@ -74,6 +76,7 @@ files:
74
76
  - lib/weak_headers/validator.rb
75
77
  - lib/weak_headers/version.rb
76
78
  - spec/spec_helper.rb
79
+ - spec/weak_headers_spec.rb
77
80
  - weak_headers.gemspec
78
81
  homepage: https://github.com/kenchan0130/weak_headers
79
82
  licenses:
@@ -98,6 +101,7 @@ rubyforge_project:
98
101
  rubygems_version: 2.4.8
99
102
  signing_key:
100
103
  specification_version: 4
101
- summary: Add a validation headers filter to your controller.
104
+ summary: Add a validation headers filter to your rails controller.
102
105
  test_files:
103
106
  - spec/spec_helper.rb
107
+ - spec/weak_headers_spec.rb