Class: Arisaid::Faraday::Request
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Arisaid::Faraday::Request
- Defined in:
- lib/arisaid/faraday/request.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
- #read?(env) ⇒ Boolean
- #requestable?(env) ⇒ Boolean
- #response_body ⇒ Object
- #response_object ⇒ Object
- #response_status ⇒ Object
- #show_request(env) ⇒ Object
- #stub_out(env) ⇒ Object
Instance Method Details
#call(env) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/arisaid/faraday/request.rb', line 38 def call(env) show_request(env) if Arisaid.read_only? || Arisaid.debug? if requestable?(env) @app.call(env) else stub_out(env) end end |
#read?(env) ⇒ Boolean
29 30 31 32 |
# File 'lib/arisaid/faraday/request.rb', line 29 def read?(env) unread_pattern = /\.(create|disable|enable|update|setActive|setPresence)\?/ return env.method == :get && unread_pattern !~ env.url.to_s end |
#requestable?(env) ⇒ Boolean
34 35 36 |
# File 'lib/arisaid/faraday/request.rb', line 34 def requestable?(env) !Arisaid.read_only? || read?(env) end |
#response_body ⇒ Object
10 11 12 |
# File 'lib/arisaid/faraday/request.rb', line 10 def response_body Sawyer::Resource.new(Sawyer::Agent.new(Breacan.api_endpoint)) end |
#response_object ⇒ Object
14 15 16 17 |
# File 'lib/arisaid/faraday/request.rb', line 14 def response_object Struct.new( :env, :method, :status, :path, :params, :headers, :body, :options) end |
#response_status ⇒ Object
6 7 8 |
# File 'lib/arisaid/faraday/request.rb', line 6 def response_status 200 end |
#show_request(env) ⇒ Object
19 20 21 22 |
# File 'lib/arisaid/faraday/request.rb', line 19 def show_request(env) unescaped_url = URI.unescape(env.url.to_s) puts "#{env.method}: #{Breacan::Error.new.send(:redact_url, unescaped_url)}#{' dryrun'.colorize(:yellow) unless requestable?(env)}" end |
#stub_out(env) ⇒ Object
24 25 26 27 |
# File 'lib/arisaid/faraday/request.rb', line 24 def stub_out(env) response_object.new( env, env.method, response_status, env.url, nil, {}, response_body) end |