marfa 0.4.3 → 0.4.4
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 +4 -4
- data/lib/marfa/helpers/classes/numeric.rb +10 -0
- data/lib/marfa/helpers/classes/string.rb +11 -0
- data/lib/marfa/rack/app_mapper.rb +44 -0
- data/lib/marfa.rb +1 -0
- data/marfa.gemspec +2 -2
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 420b662b0acdf78f6d3ebe7e83090b88070e386e
|
4
|
+
data.tar.gz: 47995fa713da2428308e8338028ae5ba1636347e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6823213e1c7b20a210d4f134bfc3e2dc43bf713a3ec4fcc7fbe6207dc7487df43844bf488826f944a2ae14718f507ee4b0024808eae579152abb6bb9b6ee382
|
7
|
+
data.tar.gz: cbd05e9535d0ba4b9684271452336d53ac86fde2d4fb1f19de8fac5fca5ece648e30a732174771bb0e314c0a9850060414cf38b22de76e6dd90435d0f8d9b307
|
@@ -38,4 +38,15 @@ class String
|
|
38
38
|
self.gsub(/<\/?[^>]*>/, '') # unless self.nil?
|
39
39
|
end
|
40
40
|
|
41
|
+
# Convert string price to preferred view
|
42
|
+
# @example
|
43
|
+
# "1042.42".to_price!
|
44
|
+
# @return [String]
|
45
|
+
def to_price!
|
46
|
+
# self.split('.') divides string into substring with '.' delimiter and returning array of this substrings
|
47
|
+
# .first returns the first element of the array
|
48
|
+
# .reverse returns a new string with the characters from str in reverse order
|
49
|
+
# .gsub(pattern, replacement) returns a copy of str with the all occurrences of pattern substituted for the second argument
|
50
|
+
self.split('.').first.reverse.gsub(/...(?=.)/, '\&;psniht&').reverse
|
51
|
+
end
|
41
52
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Rack
|
2
|
+
class AppMapper
|
3
|
+
NOT_FOUND = [404, { CONTENT_TYPE => 'text/plain' }, []].freeze
|
4
|
+
|
5
|
+
attr_reader :apps
|
6
|
+
|
7
|
+
def initialize(apps, app_map = {}, catch = [404, 405])
|
8
|
+
@apps = []
|
9
|
+
@has_app = {}
|
10
|
+
@app_map = app_map
|
11
|
+
|
12
|
+
apps.each { |app| add app }
|
13
|
+
|
14
|
+
@catch = {}
|
15
|
+
[*catch].each { |status| @catch[status] = true }
|
16
|
+
end
|
17
|
+
|
18
|
+
def call(env)
|
19
|
+
res = NOT_FOUND
|
20
|
+
|
21
|
+
@app_map.keys.each do |key|
|
22
|
+
uri = env['PATH_INFO']
|
23
|
+
next unless uri == key.to_s || uri.include?(key.to_s)
|
24
|
+
|
25
|
+
app = @app_map[key]
|
26
|
+
res = app.call(env)
|
27
|
+
break
|
28
|
+
end
|
29
|
+
|
30
|
+
res
|
31
|
+
end
|
32
|
+
|
33
|
+
def add(app)
|
34
|
+
@has_app[app] = true
|
35
|
+
@apps << app
|
36
|
+
end
|
37
|
+
|
38
|
+
def include?(app)
|
39
|
+
@has_app.include? app
|
40
|
+
end
|
41
|
+
|
42
|
+
alias << add
|
43
|
+
end
|
44
|
+
end
|
data/lib/marfa.rb
CHANGED
@@ -7,6 +7,7 @@ require 'marfa/helpers/http/vary'
|
|
7
7
|
require 'marfa/helpers/scss'
|
8
8
|
require 'marfa/helpers/style'
|
9
9
|
require 'marfa/helpers/email'
|
10
|
+
require 'marfa/rack/app_mapper'
|
10
11
|
require 'marfa/controllers'
|
11
12
|
require 'marfa/controllers/base_controller'
|
12
13
|
require 'marfa/controllers/css_controller'
|
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.
|
6
|
+
s.version = '0.4.4'
|
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')
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.license = 'MIT'
|
19
19
|
|
20
20
|
s.add_dependency('haml', '~> 4.0', '>= 4.0.7')
|
21
|
-
s.add_dependency('puma', '
|
21
|
+
s.add_dependency('puma', '3.6.2')
|
22
22
|
s.add_dependency('rack_csrf', '~> 2.6')
|
23
23
|
s.add_dependency('rake', '~> 12')
|
24
24
|
s.add_dependency('redis', '~> 3.3', '>= 3.3.3')
|
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.
|
4
|
+
version: 0.4.4
|
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-05-
|
13
|
+
date: 2017-05-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: haml
|
@@ -36,16 +36,16 @@ dependencies:
|
|
36
36
|
name: puma
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '='
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 3.6.2
|
42
42
|
type: :runtime
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '='
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 3.6.2
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rack_csrf
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
@@ -328,6 +328,7 @@ files:
|
|
328
328
|
- lib/marfa/controllers/css_controller.rb
|
329
329
|
- lib/marfa/css_version.rb
|
330
330
|
- lib/marfa/file_templates.rb
|
331
|
+
- lib/marfa/helpers/classes/numeric.rb
|
331
332
|
- lib/marfa/helpers/classes/string.rb
|
332
333
|
- lib/marfa/helpers/controller.rb
|
333
334
|
- lib/marfa/helpers/email.rb
|
@@ -338,6 +339,7 @@ files:
|
|
338
339
|
- lib/marfa/models/api_model.rb
|
339
340
|
- lib/marfa/models/base_dto.rb
|
340
341
|
- lib/marfa/models/db_model.rb
|
342
|
+
- lib/marfa/rack/app_mapper.rb
|
341
343
|
- lib/marfa/version.rb
|
342
344
|
- marfa.gemspec
|
343
345
|
- spec/cache_spec.rb
|