marfa 0.6.0 → 0.6.1

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: 3ac683e8c0c1a0d4de81e3d1f54c6b12c37e520d
4
- data.tar.gz: b1c6144785b6653c1aa63fdad7f41f7a29f0d5c4
3
+ metadata.gz: 66e3877d2da115dc46d090bada41ff103f0d591d
4
+ data.tar.gz: 19fb9b00540dd96495ce15b83a5075b6dc8c4c87
5
5
  SHA512:
6
- metadata.gz: 6ff955c64e6ad5ff064324645bb853c87a8952ce24dceb69cbb84c80daa514321a3816cb27245ebcf7cf4a54853e67f1f62ad7b7185a6dd912652b4ad2552de8
7
- data.tar.gz: 4131e1c511e8a28f327a03d6a4e2603b375dad08c62e802bbdb290b25d3937e13acd10696bc3b06125539b8da131ba5648d1837adc368b047fb125ecb6a20215
6
+ metadata.gz: 04a42c351d459acdb2866716851308c2d80960a3e1f191a042280309691c199912451055eb1287c5efbcce37840556734c8de648e45949474e3b486b2f0f01da
7
+ data.tar.gz: 7c5e04ba7e8a2a42bbf1b629dc37520e72c30199c99706e2bd88ebfe977f06ada394a2dd15f8fc6084a72222f56199438d2fa44df5d680a00aa0216175338829
@@ -55,6 +55,7 @@ module Marfa
55
55
  views
56
56
  environment
57
57
  logging
58
+ logging_level
58
59
  dump_errors
59
60
  show_exceptions
60
61
  ]
@@ -19,6 +19,8 @@ Marfa.configure do |cfg|
19
19
  cfg.environment = :development
20
20
  # Request logging
21
21
  cfg.logging = true
22
+ # 0 - disabled; 1 - small; 2 - all
23
+ cfg.logging_level = 0
22
24
  # Show error page with backtrace
23
25
  cfg.show_exceptions = true
24
26
  # log exception backtraces to STDERR
@@ -0,0 +1,149 @@
1
+ require 'marfa/configuration'
2
+
3
+ module Marfa
4
+ # see Marfa
5
+ module Helpers
6
+ # HTTP helpers
7
+ module HTTP
8
+ # Helpers to use Rest requests
9
+ class Rest
10
+ # GET request
11
+ # @param url [String] - url
12
+ # @param headers [Hash] - headers hash
13
+ # @example
14
+ # response = Rest.get(url, headers)
15
+ # @return response [RestClient::Response]
16
+ def self.get(url, headers = {})
17
+ p "REST GET url = #{url}" if Marfa.config.logging_level > 0
18
+ p "REST GET headers = #{headers}" if Marfa.config.logging_level > 0
19
+
20
+ response = RestClient.get(url, headers)
21
+
22
+ p "REST GET code = #{response.code}" if Marfa.config.logging_level > 0
23
+ p response.body if Marfa.config.logging_level > 1
24
+
25
+ response
26
+ end
27
+
28
+ # HEAD request
29
+ # @param url [String] - url
30
+ # @param headers [Hash] - headers hash
31
+ # @example
32
+ # response = Rest.head(url)
33
+ # @return response [RestClient::Response]
34
+ def self.head(url, headers = {})
35
+ p "REST HEAD url = #{url}" if Marfa.config.logging_level > 0
36
+ p "REST HEAD headers = #{headers}" if Marfa.config.logging_level > 0
37
+
38
+ response = RestClient.head(url, headers)
39
+
40
+ p "REST HEAD code = #{response.code}" if Marfa.config.logging_level > 0
41
+ p response.body if Marfa.config.logging_level > 1
42
+
43
+ response
44
+ end
45
+
46
+ # POST request
47
+ # @param url [String] - url
48
+ # @param payload [String] - request body
49
+ # @param headers [Hash] - headers hash
50
+ # @param block [Proc] - block code to run
51
+ # @example
52
+ # response = Rest.post(url, payload)
53
+ # Rest.post(url, payload) do |response|
54
+ # @return response [RestClient::Response]
55
+ def self.post (url, payload, headers={}, &block)
56
+ p "REST POST url = #{url}" if Marfa.config.logging_level > 0
57
+
58
+ if Marfa.config.logging_level > 0
59
+ p "REST POST headers= #{headers}"
60
+ p "REST POST payload= #{payload}"
61
+ end
62
+
63
+ if block.nil?
64
+ response = RestClient.post(url, payload, headers)
65
+ p "REST POST code = #{response.code}" if Marfa.config.logging_level > 0
66
+ p response.body if Marfa.config.logging_level > 1
67
+ return response
68
+ else
69
+ RestClient::Request.execute(
70
+ method: :post,
71
+ url: url,
72
+ payload: payload,
73
+ headers: headers
74
+ ) do |response|
75
+ p "REST POST code = #{response.code}" if Marfa.config.logging_level > 0
76
+ p response.body if Marfa.config.logging_level > 1
77
+
78
+ block.call(response)
79
+ end
80
+ end
81
+ end
82
+
83
+ # PUT request
84
+ # @param url [String] - url
85
+ # @param payload [String] - request body
86
+ # @param headers [Hash] - headers hash
87
+ # @param block [Proc] - block code to run
88
+ # @example
89
+ # response = Rest.put(url, payload)
90
+ # Rest.put(url, payload) do |response|
91
+ # @return response [RestClient::Response]
92
+ def self.put(url, payload, headers = {}, &block)
93
+ p "REST PUT url = #{url}" if Marfa.config.logging_level > 0
94
+ if Marfa.config.logging_level > 0
95
+ p "REST PUT headers= #{headers}"
96
+ p "REST PUT payload= #{payload}"
97
+ end
98
+
99
+ if block.nil?
100
+ response = RestClient.put(url, payload, headers)
101
+ p "REST PUT code = #{response.code}" if Marfa.config.logging_level > 0
102
+ p response.body if Marfa.config.logging_level > 1
103
+ return response
104
+ else
105
+ RestClient::Request.execute(
106
+ method: :put,
107
+ url: url,
108
+ payload: payload,
109
+ headers: headers
110
+ ) do |response|
111
+ p "REST PUT code = #{response.code}" if Marfa.config.logging_level > 0
112
+ p response.body if Marfa.config.logging_level > 1
113
+
114
+ block.call(response)
115
+ end
116
+ end
117
+ end
118
+
119
+ # DELETE request
120
+ # @param url [String] - url
121
+ # @param payload [String] - request body
122
+ # @param headers [Hash] - headers hash
123
+ # @param block [Proc] - block code to run
124
+ # @example
125
+ # Rest.delete(url, payload, headers) do |response|
126
+ # @return response [RestClient::Response]
127
+ def self.delete(url, payload, headers = {}, &block)
128
+ p "REST DELETE url = #{url}" if Marfa.config.logging_level > 0
129
+ if Marfa.config.logging_level > 0
130
+ p "REST DELETE headers= #{headers}"
131
+ p "REST DELETE payload= #{payload}"
132
+ end
133
+
134
+ RestClient::Request.execute(
135
+ method: :delete,
136
+ url: url,
137
+ payload: payload,
138
+ headers: headers
139
+ ) do |response|
140
+ p "REST DELETE code = #{response.code}" if Marfa.config.logging_level > 0
141
+ p response.body if Marfa.config.logging_level > 1
142
+
143
+ block.call(response)
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -9,6 +9,8 @@ module Marfa
9
9
  # Base model error
10
10
  class ModelError < StandardError; end
11
11
 
12
+ include Marfa::Helpers::HTTP
13
+
12
14
  @aliases = {}
13
15
 
14
16
  # Get data
@@ -45,7 +47,7 @@ module Marfa
45
47
  if Marfa.cache.exist?(cache_key)
46
48
  result = JSON.parse(Marfa.cache.get(cache_key), symbolize_names: true)
47
49
  else
48
- response = RestClient.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
50
+ response = Rest.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
49
51
  Marfa.cache.set(cache_key, response.body, params[:cache_time] || 7200)
50
52
  result = JSON.parse(response.body, symbolize_names: true)
51
53
  end
@@ -72,7 +74,7 @@ module Marfa
72
74
  if Marfa.cache.exist?(cache_key)
73
75
  result = JSON.parse(Marfa.cache.get(cache_key), symbolize_names: true)
74
76
  else
75
- response = RestClient.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
77
+ response = Rest.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
76
78
  result[:data] = JSON.parse(response.body, symbolize_names: true)
77
79
  result[:data_count] = response.headers[:x_count].to_i unless response.headers[:x_count].nil?
78
80
  result[:data_pages] = response.headers[:x_pages].to_i unless response.headers[:x_pages].nil?
data/lib/marfa/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # Version constant
2
2
  module Marfa
3
3
  # The version constant for the current version of Marfa
4
- VERSION = '0.6.0'.freeze unless defined?(Marfa::VERSION)
4
+ VERSION = '0.6.1'.freeze unless defined?(Marfa::VERSION)
5
5
 
6
6
  # The current Marfa version.
7
7
  # @return [String] The version number
data/lib/marfa.rb CHANGED
@@ -2,6 +2,7 @@ require 'sinatra/base'
2
2
  require 'marfa/configuration'
3
3
  require 'marfa/cache'
4
4
  require 'marfa/version'
5
+ require 'marfa/helpers/http/rest'
5
6
  require 'marfa/helpers/controller'
6
7
  require 'marfa/helpers/http/vary'
7
8
  require 'marfa/helpers/scss'
data/marfa.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'marfa'
6
- s.version = '0.6.0'
6
+ s.version = '0.6.1'
7
7
  s.required_ruby_version = '>= 2.3.0'
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.date = Time.now.strftime('%Y-%m-%d')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marfa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Krechetov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-07-21 00:00:00.000000000 Z
13
+ date: 2017-08-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: haml
@@ -320,6 +320,7 @@ files:
320
320
  - lib/marfa/helpers/classes/true_class.rb
321
321
  - lib/marfa/helpers/controller.rb
322
322
  - lib/marfa/helpers/email.rb
323
+ - lib/marfa/helpers/http/rest.rb
323
324
  - lib/marfa/helpers/http/vary.rb
324
325
  - lib/marfa/helpers/sass_functions.rb
325
326
  - lib/marfa/helpers/scss.rb