Module: Jetson::DSL
- Included in:
- Commands, Console::Context
- Defined in:
- lib/jetson/dsl.rb
Instance Method Summary collapse
- #clear(resource = :all) ⇒ Object
- #request(method, url, *args) ⇒ Object
- #request!(method, url, params = {}, headers = {}) ⇒ Object
- #session(host, &block) ⇒ Object
- #set(option, value) ⇒ Object
Instance Method Details
#clear(resource = :all) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/jetson/dsl.rb', line 23 def clear(resource = :all) case resource when :all @cookies = {} @headers = {} when :headers @headers = {} when :cookies @cookies = {} end end |
#request(method, url, *args) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/jetson/dsl.rb', line 35 def request(method, url, *args) response = request!(method, url, *args) json = parse_json(response.body) if response.headers[:content_type] =~ /json/ print_request(response, json) if @verbose json rescue RestClient::InternalServerError => err puts "\033[1m#{method.to_s.upcase}\033[0m #{url} \033[31m#{err.response.code}\033[0m" end |
#request!(method, url, params = {}, headers = {}) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/jetson/dsl.rb', line 46 def request!(method, url, params = {}, headers = {}) = url = URI.join(@host, url).to_s .merge!(headers) if method == :get .merge!({params: params}) res = RestClient.send(method, url, ) else res = RestClient.send(method, url, params.to_json, ) end @cookies.merge!(res.) res end |
#session(host, &block) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/jetson/dsl.rb', line 14 def session(host, &block) @host = normalize_host(host) @verbose = false @cookies = {} @headers = {} self.instance_eval &block end |
#set(option, value) ⇒ Object
10 11 12 |
# File 'lib/jetson/dsl.rb', line 10 def set(option, value) instance_variable_set("@#{option}", value) end |