marfa 0.6.0 → 0.6.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 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