Apatite 0.0.1.pre → 0.0.2.pre
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/Apatite.rb +26 -41
- data/Data/Redis.rb +6 -2
- metadata +46 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdfcb3d39d1e38c42804288e83ae194c5ab1ad488bf3e732b22cfc720a60d5c8
|
4
|
+
data.tar.gz: 12fc2ff98d0abe2fbf86342d888ebba1d7418bc04c39dc55dc5e9d979fe46f9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 210709c0b4c94f87b604e610cbabce24fc31dc3c9d852bc079f14ed1beaac66c4e2f2b11bd8e972072a4a947f278b453900186164a21fe76291de232e0337d12
|
7
|
+
data.tar.gz: 8b9c71d3cc95814a107f5674aed0c98a3017c70447befeb1c1ada70625db89a175f5dc9789438e086932db8c1b88e91fc65bb882202bd1f559462bfcaad3824a
|
data/Apatite.rb
CHANGED
@@ -1,49 +1,34 @@
|
|
1
1
|
require 'rack'
|
2
|
-
|
3
|
-
|
2
|
+
require_relative 'Data/Redis.rb'
|
3
|
+
require_relative 'Action.rb'
|
4
4
|
|
5
5
|
class Apatite
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
@role = nil
|
11
|
-
# Initializes the class
|
12
|
-
# @param URL
|
13
|
-
# Redis URL
|
14
|
-
# @param SENTINELS
|
15
|
-
# Redis SENTINELS
|
16
|
-
# @param role
|
17
|
-
# Redis role
|
18
|
-
def initialize(URL, SENTINELS=nil, role=:master)
|
19
|
-
@redisURL = URL
|
20
|
-
@SENTINELS = SENTINELS
|
21
|
-
@role = role
|
6
|
+
# Initialize application
|
7
|
+
def initialize(url=nil,senitels=nil,role=nil)
|
8
|
+
@routes = {}
|
9
|
+
@redis = Redis.new(:url => url,:senitels => senitels,:role => role)
|
22
10
|
end
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
11
|
+
# Add Route
|
12
|
+
# @param http_method
|
13
|
+
# GET, POST, PUT, DELETE, PATCH
|
14
|
+
# @param path
|
15
|
+
# url path
|
16
|
+
# @param redirects
|
17
|
+
# HTML meta location
|
18
|
+
# @param block
|
19
|
+
# Route content goes here
|
20
|
+
def add_route(http_method, path, redirects={}, &block)
|
21
|
+
response = Rack::Response.new
|
22
|
+
response.body = block
|
23
|
+
if redirects[:location]
|
24
|
+
response.headers[“Location”] = redirects[:location]
|
25
|
+
response.status = ‘302’
|
30
26
|
end
|
27
|
+
@routes[[http_method, path]] = [response.status, response.headers, [response.body]]
|
31
28
|
end
|
32
|
-
# Call function
|
33
29
|
def call(env)
|
34
|
-
|
30
|
+
Action.new(do
|
31
|
+
@routes[[env['REQUEST_METHOD'],env['REQUEST_PATH']]]
|
32
|
+
end).call(env)
|
35
33
|
end
|
36
|
-
end
|
37
|
-
# Creates a route
|
38
|
-
def route(pattern, &block)
|
39
|
-
Apatite.app.map(pattern) do
|
40
|
-
run Action.new(&block)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
# To create a route use
|
45
|
-
# apatite = Apatite.new
|
46
|
-
# route("/example") do
|
47
|
-
# "Hello"
|
48
|
-
# end
|
49
|
-
# run apatite.app
|
34
|
+
end
|
data/Data/Redis.rb
CHANGED
@@ -7,12 +7,16 @@ class Redis
|
|
7
7
|
@url = nil
|
8
8
|
@SENTINELS = nil
|
9
9
|
@role = nil
|
10
|
-
def initialize(
|
10
|
+
def initialize(url, sentinels=nil, role=:master)
|
11
11
|
@url = URL
|
12
12
|
@SENTINELS = SENTINELS
|
13
13
|
@role = role
|
14
14
|
end
|
15
15
|
# Redis set
|
16
|
+
# @param key
|
17
|
+
# Key of the value
|
18
|
+
# @param value
|
19
|
+
# Value to be set
|
16
20
|
def set(key, value)
|
17
21
|
@redis.set(key, value)
|
18
22
|
end
|
@@ -24,7 +28,7 @@ class Redis
|
|
24
28
|
def get(key)
|
25
29
|
return @redis.get(key)
|
26
30
|
end
|
27
|
-
# Redis
|
31
|
+
# Redis get but value is converted from JSON
|
28
32
|
def getJSON(key)
|
29
33
|
return JSON.parse(@redis.get(key))
|
30
34
|
end
|
metadata
CHANGED
@@ -1,15 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Apatite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VirtualFox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
12
|
-
dependencies:
|
11
|
+
date: 2018-04-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: redis
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 4.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 4.0.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rack
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 2.0.4
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '2.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.0.4
|
13
53
|
description:
|
14
54
|
email:
|
15
55
|
executables: []
|
@@ -22,7 +62,9 @@ files:
|
|
22
62
|
homepage:
|
23
63
|
licenses:
|
24
64
|
- NGPL
|
25
|
-
metadata:
|
65
|
+
metadata:
|
66
|
+
source_code_uri: https://gitlab.com/Kuba663/Apatite.git
|
67
|
+
source_code_ssh: git@gitlab.com:Kuba663/Apatite.git
|
26
68
|
post_install_message:
|
27
69
|
rdoc_options: []
|
28
70
|
require_paths:
|