marfa 0.4.0 → 0.4.3

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: f14c3d03481a476f3ddfa3a512f24971d74283ec
4
- data.tar.gz: f5befde9af61a03573b811198275e8ed4c150b8a
3
+ metadata.gz: bf0393e4cc01dbc36e6b34ddebe89f9f400e0824
4
+ data.tar.gz: c7844ca68f4144af82d0358ba888a884e2ae16a4
5
5
  SHA512:
6
- metadata.gz: 3b42d83c7e4c900257cbb693d0b46b54682983ec67f7c9e2ef00f9bd9aefdaccd1775a575d6d179bfa29b4b401511507eed252cd709c482a6875efc552a8a383
7
- data.tar.gz: 69d33f58af93235a556e151c0dcdb36127a69378569cd0012f4853207863da24f01485b262eecf861bc1811028fb6af462b0e54789fa98cfee78a50ec64b4d1c
6
+ metadata.gz: 40ee5fcaf70cc12dd9376bc412c4a2dfa63279aeda149779b6d76e5ce9d7b8bde14972412d7bf677da767d08fa81f9aa00539f94e3eea9cb844848d1e7d96e5e
7
+ data.tar.gz: efd735356fd54a436ddacbb8be4388f61b8ffc86a34cea8600dd42f528591bfbe56e502b3432a3c2dae1669cb6e28cb478e81cf8e142f3d7221c49e4b4a2d812
@@ -3,7 +3,12 @@ require 'marfa/configuration'
3
3
  module Marfa
4
4
  module Helpers
5
5
  module Controller
6
-
6
+ # Render content
7
+ # @param path [String] - URL
8
+ # @param data [Hash] - options hash
9
+ # @example
10
+ # render_content('some_key', 'path/url', {})
11
+ # @return [String] rendered content
7
12
  def render_content(path, data)
8
13
  haml :"#{path}", locals: data
9
14
  end
@@ -137,7 +142,6 @@ module Marfa
137
142
  # @example
138
143
  # get_html({ path: 'index', tags: ['tag1', 'tag2'], data: {} })
139
144
  # @return [String] HTML
140
- # def get_html(path, tags, data, cache_time = Marfa.config.cache[:expiration_time])
141
145
  def get_html(options)
142
146
  cache_time = options[:cache_time] || Marfa.config.cache[:expiration_time]
143
147
 
@@ -153,6 +157,15 @@ module Marfa
153
157
  html
154
158
  end
155
159
 
160
+ # Render pagination panel
161
+ # @param data [Hash] - pages info data
162
+ # @param _template [String] - template to render
163
+ # @return [String] HTML
164
+ def render_pagination(data, _template=nil)
165
+ template = _template || Marfa.config.pagination_template
166
+ haml :"#{template}", locals: data
167
+ end
168
+
156
169
  alias_method :render_component, :render_block
157
170
  alias_method :render_static_component, :render_static_block
158
171
  end
@@ -20,6 +20,15 @@ module Marfa
20
20
  get_raw_data(params)
21
21
  end
22
22
 
23
+ # Get data w/pagination headers x_count / x_pages
24
+ # @param params [Hash] options hash
25
+ # @example
26
+ # BaseModel.get_data({ path: 'category/list' })
27
+ # @return [Hash] data from API
28
+ def self.get_data_with_pagination(params)
29
+ get_raw_data_with_pagination(params)
30
+ end
31
+
23
32
  # "Raw" data getting
24
33
  # @param params [Hash] - options hash
25
34
  # @example
@@ -34,17 +43,43 @@ module Marfa
34
43
  result = JSON.parse(response.body, symbolize_names: true)
35
44
  rescue => exception
36
45
  if [:development, :test].include? Marfa.config.environment
37
- p '========== Exception while making request: =========='
38
- p "Path: #{Marfa.config.api_server}#{path}"
39
- p 'Params:'
40
- p params
41
- p "#{exception.message} (#{exception.class})"
42
- p '=================================================='
46
+ _log_exception(exception, path, params)
43
47
  end
44
48
  end
45
49
 
46
50
  result
47
51
  end
52
+
53
+ # "Raw" data getting w/pagination headers x_count / x_pages
54
+ # @param params [Hash] - options hash
55
+ # @return [Hash]
56
+ def self.get_raw_data_with_pagination(params)
57
+ result = {}
58
+ path = params[:path]
59
+
60
+ begin
61
+ response = RestClient.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
62
+ result[:data] = JSON.parse(response.body, symbolize_names: true)
63
+ result[:data_count] = response.headers[:x_count].to_i unless response.headers[:x_count].nil?
64
+ result[:data_pages] = response.headers[:x_pages].to_i unless response.headers[:x_pages].nil?
65
+ rescue => exception
66
+ if [:development, :test].include? Marfa.config.environment
67
+ _log_exception(exception, path, params)
68
+ end
69
+ end
70
+
71
+ result
72
+ end
73
+
74
+ # Log exceptions to console
75
+ def self._log_exception(e, path, params)
76
+ p '========== Exception while making request: =========='
77
+ p "Path: #{Marfa.config.api_server}#{path}"
78
+ p 'Params:'
79
+ p params
80
+ p "#{e.message} (#{e.class})"
81
+ p '=================================================='
82
+ end
48
83
  end
49
84
  end
50
85
  end
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.4.0' unless defined?(Marfa::VERSION)
4
+ VERSION = '0.4.3' unless defined?(Marfa::VERSION)
5
5
 
6
6
  # The current Marfa version.
7
7
  # @return [String] The version number
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.4.0'
6
+ s.version = '0.4.3'
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.4.0
4
+ version: 0.4.3
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-04-25 00:00:00.000000000 Z
13
+ date: 2017-05-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: haml