grape-oink 0.0.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 +7 -0
- data/lib/grape/middleware/oink_middleware.rb +21 -0
- data/lib/grape-oink.rb +7 -0
- data/spec/simple_api_spec.rb +26 -0
- data/spec/spec_helper.rb +16 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c2ef9caf599eb8218781193a0cf6193d0215f1f4
|
4
|
+
data.tar.gz: 8a82ea85be3d175bab43f74b690af1488e7e03bb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9faa54e075e18474b1248ffda1f5beadac3a102f1380677c1a938a3a6e86f9418914efafb5a0e389492924b42c3f898188ad1204f7af48765aeb0a7326f5bd56
|
7
|
+
data.tar.gz: 4bccc02e5ec497245a44f6eeda1f59113389f881169ad424736e55f699f470fa68fb68a8ad38ce2293dd98debd85707161d2c4353297c306daf67711d244e510
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Grape
|
2
|
+
module Middleware
|
3
|
+
class OinkMiddleware < Grape::Middleware::Base
|
4
|
+
def before
|
5
|
+
options = env['api.endpoint'].try(:options)
|
6
|
+
|
7
|
+
if options.present?
|
8
|
+
controller = options[:for].to_s.split("::").last.underscore
|
9
|
+
action = options[:path].try(:first)
|
10
|
+
if action
|
11
|
+
action.gsub!("/", "sl_")
|
12
|
+
action.gsub!(":", "col_")
|
13
|
+
end
|
14
|
+
method = options[:method].try(:first)
|
15
|
+
env_action = "#{action}_#{method}"
|
16
|
+
env['action_dispatch.request.parameters'] = {'controller' => controller, 'action' => env_action}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/grape-oink.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "OinkMiddleware" do
|
4
|
+
subject do
|
5
|
+
Oinkers = Class.new(Grape::API) do
|
6
|
+
format :json
|
7
|
+
use Grape::Middleware::OinkMiddleware
|
8
|
+
|
9
|
+
get('/fat/:id') do
|
10
|
+
{msg: "oink!", oink_env: env['action_dispatch.request.parameters'] }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def app
|
16
|
+
subject
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#/fat/:id" do
|
20
|
+
it "adds controller and action information needed by Oink to the environment" do
|
21
|
+
get "/fat/:id"
|
22
|
+
body = JSON.parse(last_response.body)
|
23
|
+
expect(body["oink_env"]).to eq({"controller" => "oinkers", "action" => "sl_fatsl_col_id_GET"})
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'grape-oink'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'bundler'
|
6
|
+
|
7
|
+
Bundler.setup :default, :test
|
8
|
+
|
9
|
+
require 'rack/test'
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
require 'rspec/expectations'
|
13
|
+
config.include RSpec::Matchers
|
14
|
+
config.mock_with :rspec
|
15
|
+
config.include Rack::Test::Methods
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: grape-oink
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alejandro Wainzinger
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: grape
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.0
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack-test
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: A middleware for Grape to allow working with Oink.
|
70
|
+
email:
|
71
|
+
- alejandro.wainzinger@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- lib/grape-oink.rb
|
77
|
+
- lib/grape/middleware/oink_middleware.rb
|
78
|
+
- spec/simple_api_spec.rb
|
79
|
+
- spec/spec_helper.rb
|
80
|
+
homepage: https://github.com/xevix/grape-oink
|
81
|
+
licenses:
|
82
|
+
- MIT
|
83
|
+
metadata: {}
|
84
|
+
post_install_message:
|
85
|
+
rdoc_options: []
|
86
|
+
require_paths:
|
87
|
+
- lib
|
88
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
requirements: []
|
99
|
+
rubyforge_project:
|
100
|
+
rubygems_version: 2.4.6
|
101
|
+
signing_key:
|
102
|
+
specification_version: 4
|
103
|
+
summary: A middleware for Grape to allow working with Oink.
|
104
|
+
test_files:
|
105
|
+
- spec/simple_api_spec.rb
|
106
|
+
- spec/spec_helper.rb
|